mdadm:驅動器更換顯示為備用並拒絕同步
序幕
我的
/dev/md0
RAID 6 中有以下設備:/dev/sd[abcdef]
還存在以下驅動器,與 RAID 無關:
/dev/sd[gh]
以下驅動器是已連接的讀卡器的一部分,但又不相關:
/dev/sd[ijkl]
分析
sdf
的 SATA 電纜壞了(你可以說它在使用時被拔掉了),sdf
隨後被/dev/md0
陣列拒絕。我更換了電纜,驅動器又回來了,現在在/dev/sdm
. 請不要質疑我的診斷,驅動器沒有問題。
mdadm --detail /dev/md0
顯示sdf(F)
,即,這sdf
是錯誤的。所以我過去常常mdadm --manage /dev/md0 --remove faulty
刪除有故障的驅動器。現在
mdadm --detail /dev/md0
在原來的空間中顯示“已刪除”sdf
。root@galaxy:~# mdadm --detail /dev/md0 /dev/md0: 版本:1.2 創建時間:2014年7月30日星期三13:17:25 突襲等級:raid6 陣列大小:15627548672(14903.59 GiB 16002.61 GB) 使用的開發大小:3906887168(3725.90 GiB 4000.65 GB) 突襲設備:6 設備總數:5 持久性:超級塊是持久的 意圖點陣圖:內部 更新時間:2015年3月17日星期二21:16:14 狀態:活躍,降級 有源設備:5 工作裝置:5 失敗的設備:0 備用設備:0 佈局:左對稱 塊大小:512K 名稱:日食:0 UUID:cc7dac66:f6ac1117:ca755769:0e59d5c5 活動:67205 編號 主要次要 RaidDevice 狀態 0 8 0 0 主動同步 /dev/sda 1 8 32 1 主動同步 /dev/sdc 4 0 0 4 已刪除 3 8 48 3 主動同步 /dev/sdd 4 8 64 4 主動同步 /dev/sde 5 8 16 5 主動同步 /dev/sdb
出於某種原因,“已移除”設備的 RaidDevice 現在與處於活動狀態的設備匹配。無論如何,讓我們嘗試添加以前的設備(現在稱為
/dev/sdm
),因為這是最初的意圖:root@galaxy:~# mdadm --add /dev/md0 /dev/sdm mdadm:添加 /dev/sdm root@galaxy:~# mdadm --detail /dev/md0 /dev/md0: 版本:1.2 創建時間:2014年7月30日星期三13:17:25 突襲等級:raid6 陣列大小:15627548672(14903.59 GiB 16002.61 GB) 使用的開發大小:3906887168(3725.90 GiB 4000.65 GB) 突襲設備:6 設備總數:6 持久性:超級塊是持久的 意圖點陣圖:內部 更新時間:2015年3月17日星期二21:19:30 狀態:活躍,降級 有源設備:5 工作裝置:6 失敗的設備:0 備用設備:1 佈局:左對稱 塊大小:512K 名稱:日食:0 UUID:cc7dac66:f6ac1117:ca755769:0e59d5c5 活動:67623 編號 主要次要 RaidDevice 狀態 0 8 0 0 主動同步 /dev/sda 1 8 32 1 主動同步 /dev/sdc 4 0 0 4 已刪除 3 8 48 3 主動同步 /dev/sdd 4 8 64 4 主動同步 /dev/sde 5 8 16 5 主動同步 /dev/sdb 6 8 192 - 備用 /dev/sdm
如您所見,該設備顯示為備用設備並拒絕與陣列的其餘部分同步:
root@galaxy:~# cat /proc/mdstat 個性:[raid6] [raid5] [raid4] md0 : 活動 raid6 sdm[6](S) sdb[5] sda[0] sde[4] sdd[3] sdc[1] 15627548672 塊超級 1.2 級別 6,512k 塊,算法 2 [6/5] [UU_UUU] 點陣圖:17/30 頁 [68KB],65536KB 塊 未使用的設備:
我也嘗試過
mdadm --zero-superblock /dev/sdm
在添加之前使用,結果相同。我使用 RAID 6 的原因是為了提供高可用性。我不會接受停止
/dev/md0
並使用或類似的解決方法重新組裝它--assume-clean
來解決這個問題。這個需要線上解決,不然看不出使用mdadm的意義。
經過數小時的Google搜尋和 JyZyXEL 在#linux-raid Freenode 頻道中的一些極其明智的幫助,我們有了一個解決方案!在此過程中,RAID 陣列沒有任何中斷——這正是我對 mdadm 的需要和期望。
由於某些(目前未知)原因,RAID 狀態被凍結。解決這個問題的獲勝命令是
cat /sys/block/md0/md/sync_action
:root@galaxy:~# cat /sys/block/md0/md/sync_action 冷凍
簡而言之,這就是它沒有使用可用備件的原因。以一個簡單的 cat 命令為代價,我所有的頭髮都消失了!
所以,只需解凍數組:
root@galaxy:~# echo idle > /sys/block/md0/md/sync_action
而你走了!
root@galaxy:~# cat /sys/block/md0/md/sync_action 恢復 root@galaxy:~# cat /proc/mdstat 個性:[raid6] [raid5] [raid4] md0 : 活動 raid6 sdm[6] sdb[5] sda[0] sde[4] sdd[3] sdc[1] 15627548672 塊超級 1.2 級別 6,512k 塊,算法 2 [6/5] [UU_UUU] [>........] 恢復 = 0.0% (129664/3906887168) 完成=4016.8min 速度=16208K/sec 點陣圖:17/30 頁 [68KB],65536KB 塊 未使用的設備: root@galaxy:~# mdadm --detail /dev/md0 /dev/md0: 版本:1.2 創建時間:2014年7月30日星期三13:17:25 突襲等級:raid6 陣列大小:15627548672(14903.59 GiB 16002.61 GB) 使用的開發大小:3906887168(3725.90 GiB 4000.65 GB) 突襲設備:6 設備總數:6 持久性:超級塊是持久的 意圖點陣圖:內部 更新時間:2015年3月17日星期二22:05:30 狀態:活動、降級、恢復 有源設備:5 工作裝置:6 失敗的設備:0 備用設備:1 佈局:左對稱 塊大小:512K 重建狀態:0% 完成 名稱:日食:0 UUID:cc7dac66:f6ac1117:ca755769:0e59d5c5 活動:73562 編號 主要次要 RaidDevice 狀態 0 8 0 0 主動同步 /dev/sda 1 8 32 1 主動同步 /dev/sdc 6 8 192 2 備用重建 /dev/sdm 3 8 48 3 主動同步 /dev/sdd 4 8 64 4 主動同步 /dev/sde 5 8 16 5 主動同步 /dev/sdb
幸福:-)