
你好,我想重建我的 raid 陣列,我在 redhat 文件中找到了一個頁面,說明瞭如何執行此操作,但它似乎沒有意義。
這是文件的連結我感到困惑的部分是第5步:
" 若要恢復磁碟,請對先前的備用片執行「軟體故障」: mdadm --manage --set-faulty /dev/md0 /dev/sdc3 "。系統現在將嘗試在更換的磁碟上重建陣列。
這不僅在英語中沒有任何意義,而且我不明白 mdadm 如何在我剛剛將其中一個磁碟設定為故障後立即自動重建陣列。這只是文檔中的錯誤嗎?請幫我很困惑。在我毀掉任何東西之前,有人可以告訴我這些說明是否正確嗎?謝謝。
答案1
我同意你的觀點,文檔(至少)是錯的。
免責聲明:我沒有 RHEL 系統。我在不同 Debian 版本中擁有豐富的 Debian raid 經驗,但絕對沒有接觸過 RHEL 系統。請先在備用系統 (VM) 上進行測試,然後再在生產電腦上進行操作。
這將會發生什麼:
從 raid 陣列中刪除磁碟。
mdadm --管理 /dev/md0 -r /dev/sdc3
sdc3 分割區將從 md0 陣列中刪除。
- 從系統中刪除磁碟。
整個 sdc 磁碟及其 sdc3 分割區將不再存在於系統中,我認為「他們」希望我們暫時「將發生故障的 sdc 磁碟放在桌子上」。
- 使用軟碟,更換移除的磁碟並重新格式化替換磁碟。
您連接一個新的sdc 磁碟,然後您將其重新分割區,就像發生故障的磁碟一樣。此時系統中又會存在一個「sdc3」分區
將新磁碟新增回 RAID 陣列。
mdadm --管理 /dev/md0 -a /dev/sdc3
sdc3 分區將被加入到陣列中,重新同步將立即自動開始。這正是更換故障磁碟所需的。您只需透過觀察 /proc/mdstat 等待重新同步完成,僅此而已。但文檔仍在繼續。
若要恢復磁碟,請對先前的備用片執行「軟體故障」:
mdadm --manage --set-faulty /dev/md0 /dev/sdc3
這會將 sdc3 分割區設定為故障,模擬硬體故障。你會回到前第 1 步,當 sdc3 分區發生故障時。
系統現在將嘗試在更換的磁碟上重建陣列。使用以下命令監控狀態:
watch -n 1 cat /proc/mdstat
事實上,沒有。系統將等待您的干預,您現在應該再次執行步驟 1-4。然而,此命令是監控重新同步進度的正確命令,更新時間為 1 秒。按 CTRL+C 退出手錶過程。
陣列重建完成後,刪除出現軟體故障的磁碟,然後將其重新新增回陣列。
mdadm --管理 /dev/md0 -r /dev/sdc3
mdadm --管理 /dev/md0 -a /dev/sdc3
實際上,這兩個命令將使重建(重新同步)過程開始。它們正是步驟 1 和 4(現在不需要步驟 2 和 3,因為磁碟故障不是因為實際問題,而是因為模擬錯誤)。您現在必須等待重建過程完成,監視 /proc/mdstat。
檢查陣列。
mdadm --詳細資料 /dev/md0
這將為您提供有關 md0 數組的更多信息,但您可以從 /proc/mdstat 獲取有關重新同步過程的更多信息。根本不需要。