![錯誤地使其中一個磁碟機發生故障後如何恢復我的 RAID5?](https://rvso.com/image/1665782/%E9%8C%AF%E8%AA%A4%E5%9C%B0%E4%BD%BF%E5%85%B6%E4%B8%AD%E4%B8%80%E5%80%8B%E7%A3%81%E7%A2%9F%E6%A9%9F%E7%99%BC%E7%94%9F%E6%95%85%E9%9A%9C%E5%BE%8C%E5%A6%82%E4%BD%95%E6%81%A2%E5%BE%A9%E6%88%91%E7%9A%84%20RAID5%EF%BC%9F.png)
我在 Xubuntu 20.04 上有一個 RAID5,是用 mdadm 建立的。我錯誤地使三個驅動器之一失敗。該陣列仍在工作,但在嘗試恢復完整操作時出現了我不明白的錯誤或回應。
SO:我想知道我是否設法解決了它,如果沒有我現在能做什麼...
我懷疑驅動器仍然出現故障,因為 /proc/mdstat 的內容中存在“(F)”:
root@camelot-b:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md3 : active raid5 sdf1[0](F) sdg1[3] sde1[4]
7813771264 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
bitmap: 0/30 pages [0KB], 65536KB chunk
unused devices: <none>
root@camelot-b:~#
但是,--examine 的輸出並未表示有問題,事實上,最後一行顯示陣列狀態為所有三個磁碟機均處於活動狀態:
root@camelot-b:~# mdadm --examine /dev/sdf1
/dev/sdf1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 07c3d55f:2c9b1534:6b0d5b78:dd9856ed
Name : camelot-x:3
Creation Time : Sun Apr 2 19:07:19 2017
Raid Level : raid5
Raid Devices : 3
Avail Dev Size : 7813771264 (3725.90 GiB 4000.65 GB)
Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=0 sectors
State : clean
Device UUID : 24275237:b493169e:9e88df0d:ebaae551
Internal Bitmap : 8 sectors from superblock
Update Time : Fri Feb 18 17:15:50 2022
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : c9840d0f - correct
Events : 26597
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 0
Array State : AAA ('A' == active, '.' == missing, 'R' == replacing)
答案1
如果自磁碟故障以來陣列上的資料幾乎沒有更改或沒有更改,您可以使用 --re-add 您可以檢查每個磁碟機上的事件數:
mdadm --examine /dev/sd[e-g]1 | egrep 'Event|/dev/sd'
如果事件數量不太落後(並且您啟用了點陣圖),您可以重新添加:
mdadm /dev/md3 --re-add /dev/sdf1
如果這不起作用,您將需要再次添加磁碟(這可能會觸發完全重建)
mdadm /dev/md3 -a /dev/sdf1
根據文檔,mdadm 在發出 add (-a, --add) 命令時會先嘗試重新新增。如果您想嘗試在不重新同步的情況下新增驅動器,並且在重新新增不起作用時不讓它立即回退到重新同步,則執行重新新增非常有用。
答案2
這不是技術響應,但它有效……因為我實際上發現自己處於同樣的位置。只有當電腦位於本機且您有另一臺本機電腦時,此方法才有效。
**請記住,RAID5 可以恢復 1 個磁碟機故障。例如,只要另一個磁碟機在復原過程中沒有問題,它就會從剩餘的磁碟機重建陣列。
- 從故障系統中實體移除驅動器
- 使用另一台機器格式化故障磁碟機
- 將新格式化的磁碟機插入原始機器
- RAID 陣列應開始復原程序並重建故障磁碟機
- 恢復完成後您應該可以恢復並運行
我不建議進行您不熟悉的配置變更。如果您的資料無法恢復,則無需浪費時間重建陣列、修復健康狀況。