Linux Software RAID 越來越常見,相對穩定度也比早期安全 許多,此篇文章主要是針對 mdadm 常用管理指令彙整與該如何 在短暫停機時間,將做完成的 RAID 搬至其他台 Server 的筆記。 Linux OS:CentOS 5.9 前置說明: 由於線上資料無法停機太久,若要將整個 RAID 進行搬移,須先 行在其他機器將 RAID 設定完成,接著再將設定好的 RAID 直接 跟舊有的 RAID 交換,重新設定即可。 01. 先在其他台機器上建立 Software RAID 1。 * 將硬碟進行 fdisk 分割與 fd 格式設定。( /dev/sdh1 & /dev/sdi1 ) * mdadm -C /dev/md2 -l1 -n2 /dev/sd[hi]1。 * 等待 RAID 1 Rebuild 完成。 * mdadm -D /dev/md2,檢查 raid 狀態。 * mkfs.ext4 /dev/md2,等待 ext4 格式化完成。 * mount /dev/md2 /mnt/raid,掛載磁碟進行資料備份。 * rsync 資料備份完成後,umount /mnt/raid。 * mdadm --manage --stop /dev/md2,將 RAID 停止。 * 取下硬碟,即完成 RAID 資料建置與備份。 02. 在另台欲更換的主機,卸載磁碟、停止 RAID,接著關機更換硬碟。 * umount /mnt/raid。 * mdadm --manage --stop /dev/md0,將 RAID 停止。 * cat /proc/mdstat,檢查 RAID 狀態是否已停止。 * 修改 /etc/fstab 的內容,避免開機後又掛載舊有 RAID。 * 關機,將之前設定完成的硬碟進行更換。 03. 開機後,會發現系統會自動抓到原有 /dev/md2 的資訊, 磁碟裝置名稱會重新排列,以下資訊為 /dev/sda1 & /dev/sdb1。 04. 此時若想要將 /dev/md2 更換為 /dev/md0,先將 /dev/md2 關閉。 輸入「 mdadm --manage --stop /dev/md2 」。 05. 輸入「 mdadm --assemble --run /dev/md0 /dev/sda1 /dev/sdb1 」, 將 /dev/sda1 & /dev/sdb1 加入 /dev/md0 的 RAID。 06. 輸入「fdisk -l」&「 cat /proc/mdstat 」,檢查 RAID 是否正常。 07. mount /dev/md0 /mnt/raid,掛載分割區檢查資料、權限是否正確, 若舊有資料權限為 Domain users,掛上的資料 UID 將會變成數字, 記得手動修改目錄、資料權限即可。 08. 手動修改 /etc/fstab,重新開機確認自動掛載是否有誤,若沒問題即完成此次搬移、更換。 【常用 mdadm 指令】 # 停止 RAID。 mdadm --manage --stop /dev/md0 # 啟動 RAID。 mdadm --assemble --run /dev/md0 * --assemble:表示加入既有的 RAID 裝置。 # 移除裝置。 mdadm /dev/md0 --remove /dev/sdb1 # 將裝置加入 RAID。 mdadm /dev/md0 --add /dev/sdb1 # 將裝置設定成故障。 mdadm /dev/md0 --fail /dev/sdc1 # 將完整的 RAID 資料手動匯至 /etc/mdadm.conf 方便查看。 mdadm --detail -scan >> /etc/mdadm.conf # 建立 RAID 1 (完整指令) mdadm --create /dev/md1 --level=raid1 --raid-devices=2 /dev/sd{a,b}1 Q:若想偵測 software RAID 是否故障? 可以在 RAID 正常運作下,cat /proc/mdstat >> /etc/mdstat.ok, 接著再比對當前 cat /proc/mdstat 的資訊,是否有差異? 並將這個比對的 script,設定成每半小時偵測一次的 cron job, 若有差異,就表示目前 RAID 有問題,發信警告即可。 Paul
文章標籤
全站熱搜
創作者介紹
創作者 paul 的頭像
paul

Paul's Blog

paul 發表在 痞客邦 留言(0) 人氣(1,212)