![]() |
![]() |
![]() |
![]() |
![]() |
URE | RAID 5 of rebuild failure rate
for 6x 2TB drives (total 12 T) |
1/1014 | 55% |
1/1015 | 10% |
1/1016 | 0% |
mdadm | --create | /dev/md# | --level=(#|NAME) | --raid-devices=# | DEVICE | [--spare-devices=# DEVICE] |
↑ | ↑ | ↑ | ↑ | ↑ | ↑ | |
(1) | (2) | (3) | (4) | (5) | (6) |
# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sda6 ←由〝/dev/sdb〞,〝/dev/sdc〞 組 RAID 1,〝/dev/sda6〞為 spare-disk mdadm: largest drive (/dev/sda6) exceed size (3767808K) by more than 1% Continue creating array? y ←如硬碟或 partition 大小不一樣或內有資料會有警告,按<y>繼續 mdadm: array /dev/md0 started. ←md (RAID)啟動了 # echo 'DEVICE /dev/sdb /dev/sdc /dev/sda6' > /etc/mdadm.conf ←將組 RAID 的 Device 寫入〝/etc/mdadm.conf〞(要包含 spare-device) # mdadm --detail --scan >> /etc/mdadm.conf ←將RAID 的 UUID 加入〝/etc/mdadm.conf〞 # cat /etc/mdadm.conf ←確認一下檔案〝/etc/mdadm.conf〞的內容 DEVICE /dev/sdb /dev/sdc ARRAY /dev/md0 level=raid1 num-devices=2 spares=1 UUID=0fcf1a50:057f9442:49ee75e2:9acafdb6 |
# mkfs -j /dev/md0 ←格式化 # mount /dev/md0 /medial ←掛載 |
# cat -n /proc/mdstat ←監控 RAID 狀況 1 Personalities : [raid1] ←目前的 raid-levels 2 md0 : active raid1 sda6[2](S) sdc[1] sdb[0]←RAID 的組合硬碟(S)代表 spare-device 3 3767808 blocks [2/2] [UU]←RAID 運作情形 4 [=>...................] resync = 5.1% (194752/3767808) finish=11.5min speed=5154K/sec ←顯示同步百分比和預估同步完成時間 |
# mdadm --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Wed Aug 21 11:07:44 2013 Raid Level : raid1 Array Size : 3767808 (3.59 GiB 3.86 GB) Used Dev Size : 3767808 (3.59 GiB 3.86 GB) Raid Devices : 2 Total Devices : 3 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Wed Aug 21 11:07:44 2013 State : active, resyncing Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Rebuild Status : 10% complete UUID : 0fcf1a50:057f9442:49ee75e2:9acafdb6 Events : 0.3 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 2 8 6 - spare /dev/sda6 |
# mdadm --manage /dev/md0 --add /dev/sda6 ←追加 spare-disk mdadm: added /dev/sda6 |
# mdadm /dev/md0 --fail /dev/sdc ←模擬〝/dev/sdc〞故障 mdadm: set /dev/sdc faulty in /dev/md0 # mdadm --detail /dev/md0 ←觀察 RIAD 有無重建 中間略 Rebuild Status : 8% complete ←重建資料的進度 UUID : 0fcf1a50:057f9442:49ee75e2:9acafdb6 Events : 0.56 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 6 1 spare rebuilding /dev/sda6 ↑spare-dsik 自動加入重建 RAID 2 8 8 32 faulty spare /dev/sdac ↑〝/dev/sdc〞被標示為故障了 # cat /proc/mdstat ←監控 RAID 狀況 Personalities : [raid1] md0 : active raid1 sda6[2] sdb[0]sdc[1](F)←(F)代表 faulty 壞掉了 3767808 blocks [2/1] [U_] ←RAID1 二顆硬碟壞了一顆 [===>................] resync = 18.1% (6874224/3767808) finish=4.5 min speed=12572K/sec ←顯示同步完成進度和時間 # mdadm /dev/md0 --remove /dev/sdc ←移除故障的硬碟 mdadm: hot removed /dev/sdc |
# umount /dev/md1 ←先卸載 md-device 上的 RAID # mdadm /dev/md1 --stop /dev/md1 ←停止 md-device mdadm: stopped /dev/md1 # mdadm --assemble /dev/md1 ←重啟 md-device mdadm: /dev/md0 has been started with 3 drivers and 1 spare. |
# mdadm --monitor --scan --daemonize --mail=abc@123.com ←當任何 RAID 有異常時發 email 通知 # mdadm --monitor /dev/md2 --daemonize --mail=123@abc.com ←只有 /etc/md2 有異常時發 email 通知 |
# mdadm --grow /dev/md0 --size=max ←改變 md0 容量 # resize2fs /dev/md0 ←調整 filesystem 大小 |
# mdadm --detail /dev/md0 ←顯示 md0 詳細資訊 # mdadm --detail --scan ←掃描所有的 md-devices |
# mdadm --examine /dev/sdb ←查詢硬碟 /dev/sdb 是否有 RAID 的 metadata |
# umount /dev/md3 ←先卸載 # mdadm /dev/md0 --stop /dev/md3 ←停止 md # mdadm --zero-superblock /dev/sda /dev/sdb /dev/sdc ←把組 md 所有硬碟的資訊都清除 # rm /etc/mdadm.conf ←刪除設定檔 |
# mdadm --assemble --scan ←掃描/etc/mdadm.conf 重啟 RAID # mdadm --detail --scan ←掃描所有的 md-devices |
# mdadm --create /dev/md0 -v --raid-devices=2 --level=0 /dev/md1 /dev/md2 |
# mdadm -v --create /dev/md0 --level=raid10 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde ←建立 RAID 10 |
# mdadm --create /dev/md0 --raid-devices=3 --level=5 /dev/sdb1 /dev/sdc1 /dev/sdd1 ↑ 先建一 RAID 5 # mdadm --create /dev/md1 --raid-devices=3 --level=5 /dev/sde1 /dev/sdf1 /dev/sdg1 ↑ 再建一 RAID 5 # mdadm --create /dev/md3 --raid-devices=2 --level=0 /dev/md0 /dev/md1 ↑ 二個 RAID5 組成 RAID 0 就是 RAID 50 |