2012-12-12 27 views
2

我有一個3x3TB Raid,決定在我計劃增長RAID的那天開始Resync。這是幾天前,resync尚未完成。它沒有完成的原因是因爲無論出於什麼原因機器硬停頓(完全無響應)看似隨機。所以既然我找不到突然隨機掛起的原因,我想至少讓我的團隊有機會重建。我讀過,如果我啓用位圖,那麼它可以在崩潰時恢復重新同步,而不是從0%開始。MDADM暫停Raid重新同步啓用位圖

我已經試過:

checkarray -x /dev/md0 

這是說停止請求queue`d在/ dev/md0的,但它從來沒有真正停止。

接下來,我想這:

echo "idle" > /sys/block/md0/md/sync_action 

在該文件中的文本立即變回「重新同步」。

問題:

我需要找到一種方法,發出此命令:

mdadm --grow --bitmap=internal /dev/md0 

但是RAID不能在一個重新同步,當我發出此命令。

有沒有辦法在啓動時啓用位圖?我可以啓動一個實時Linux發行版,並從那裏獲得突襲重新同步(如果硬盤凍結是我的Ubuntu安裝)?

+0

這個數組是什麼?它是系統關鍵的文件系統('/','/ var'等等),還是你可以臨時運行的東西? – twalberg

回答

2

沒有辦法克服重新同步,在將位圖放入之前,數組應該是乾淨的。

1

實際上,這是可能的,您可能會失敗並刪除設備進行重新同步,將內部位圖添加到陣列,然後添加設備,只需確保在擰緊陣列之前檢查您的所有設備是否健康。這是我在這樣一個情況下所做的:

mdadm --manage --fail /dev/md5 /dev/sdb8 
mdadm --manage --remove /dev/md5 /dev/sdb8 
mdadm --grow /dev/md5 --bitmap=internal 
mdadm --manage --add /dev/md5 /dev/sdb8 

這裏是結果:

md5 : active raid10 sdb8[0] sdd8[3] sdc8[2] sda8[1] 
     1731712000 blocks super 1.1 512K chunks 2 near-copies [4/3] [_UUU] 
     [>....................] recovery = 0.4% (3681152/865856000)  finish=1391.9min speed=10322K/sec 
     bitmap: 8/13 pages [32KB], 65536KB chunk 

當然你的只是在等待重新同步,並增加在該位圖後者更好如果您不能暫停它,但是如果您希望重新同步在完成之前可能會失敗,並且不想從一開始就等待重新同步,則可以這樣做。

相關問題