
我的舊 Synology CS407(刻意)設定了 RAID0,但我還沒有設定備份系統。有四個 1TB 驅動器構成 4TB 卷。一個驅動器故障,導致板載軟體根本拒絕使用/安裝該磁碟區。據我了解,這是一個嚴重的故障,一般來說,所有 4 個磁碟機上的磁碟區都出現故障,因為 RAID0 沒有冗餘。儘管如此,我還是想嘗試在 Ubuntu 上重新組裝陣列,忽略錯誤/跳過錯誤資料並查看磁碟區處於什麼狀態。 Ubuntu 看到它的分割區表,並報告一個壞磁區。
這是結果/proc/mdstat
Personalities :
md2 : inactive dm-3[3](S) dm-2[2](S) dm-1[1](S) dm-0[0](S)
3901770794 blocks super 1.1
unused devices: <none>
和mdadm --examine --scan
ARRAY /dev/md/2 metadata=1.1 UUID=442ee8f0:7c679b96:de0a0544:f72b1167 name=2
LVM 資料位於每個磁碟的分割區 3 上。重新組裝mdadm --assemble --run --force --verbose /dev/md2 /dev/sd[cdef]3
是這樣的:
mdadm: looking for devices for /dev/md2
mdadm: /dev/sdc3 is identified as a member of /dev/md2, slot 0.
mdadm: /dev/sdd3 is identified as a member of /dev/md2, slot 32769.
mdadm: /dev/sde3 is identified as a member of /dev/md2, slot 2.
mdadm: /dev/sdf3 is identified as a member of /dev/md2, slot 3.
mdadm: no uptodate device for slot 1 of /dev/md2
mdadm: added /dev/sde3 to /dev/md2 as 2
mdadm: added /dev/sdf3 to /dev/md2 as 3
mdadm: added /dev/sdc3 to /dev/md2 as 0
mdadm: failed to RUN_ARRAY /dev/md2: Invalid argument
mdadm: Not enough devices to start the array.
這給了我一個無用的/dev/md2
,在 Ubuntu 中顯示為 RAID 設備。我必須stop
先這樣做才能再次嘗試重新組裝。看起來奇怪的是 的插槽號碼/dev/sdd3
。
我還有兩件事可以嘗試,我正在尋求建議以了解其中一項是否有幫助:
- 失敗並刪除
/dev/sdd3
然後將其添加回來 - 我有一個 1TB 的備用磁碟。我可以使用舊磁碟進行磁碟複製
dd
並使其失效,然後新增磁碟。我只是想知道如果我逐扇區複製,新磁碟成功的機會是否會更高?它會根據不同的UUID進行嘗試嗎?
編輯-輸出mdadm --examine /dev/sdd3
:
/dev/sdd3:
Magic : a92b4efc
Version : 1.1
Feature Map : 0x0
Array UUID : 442ee8f0:7c679b96:de0a0544:f72b1167
Name : 2
Creation Time : Sun Feb 13 00:14:43 2022
Raid Level : raid0
Raid Devices : 4
Avail Dev Size : 1950885397 (930.25 GiB 998.85 GB)
Data Offset : 8 sectors
Super Offset : 0 sectors
State : active
Device UUID : 23292ce9:221ebbfa:ea131c60:7888bc0c
Update Time : Sun Feb 20 19:02:34 2022
Checksum : e4ebe933 - correct
Events : 1
Chunk Size : 64K
Device Role : Active device 32769
Array State : A.AA ('A' == active, '.' == missing, 'R' == replacing)
答案1
這不是嚴重的問題。這是一個災難性的問題。 RAID0(當用作剝離 RAID 時)將資料區塊儲存到所有磁碟機。因此一個文件的部分內容可以位於所有 4 個磁碟上。
如果資訊非常有價值,您可以嘗試聯繫專業公司,他們可能會恢復一些資訊。但這可能要花費一大筆錢。
RAID 極有可能使用連接演算法來建立陣列。在這種情況下,您可能會恢復大量資訊。但這又不是家庭任務。
答案2
我不確定這個問題如何解決。
我嘗試的第一件事是關閉 Synology,刪除故障驅動器,然後在 Linux 機器上使用 ddrescue 盡可能克隆該驅動器。然後我會將克隆的驅動器放入 Synology 中。
然後您就可以“強制組裝”陣列。我從來沒有嘗試過,但也許使用像這樣的命令
mdadm --force --assemble /dev/md2 /dev/sdc3 /dev/sdd3 /dev/sde3 /dev/sdf3
關鍵是,根據 LUKS MAN 頁面(對於 Assemble)
"--force 組裝陣列,即使某些設備上的元資料似乎已過時。如果 mdadm 找不到足夠的工作設備來啟動陣列,但可以找到一些記錄為已失敗的設備,那麼它將將這些設備標記為正在運行,以便可以啟動陣列。 這僅適用於本機。
您可以在不進行 ddrescue 的情況下完成此操作 - 但如果嘗試在硬體故障的驅動器上工作,您的生活將會變得非常困難。
您不應該相信您的數據。某處可能有腐敗/不一致。
如果失敗,您可以使用 photorec 或等效工具從剩餘的良好磁碟機中取得部分資料。
答案3
最好的機會是嘗試將盡可能多的磁碟複製到新磁碟。不要使用dd
,使用ddrescue
。dd
將在第一個錯誤處停止。我已經使用 恢復了幾乎完整的磁碟ddrescue
,因此可以恢復大部分資料。ddrescue
可能需要很長時間。
然後,使用複製的磁碟,嘗試@davidgo 的解決方案。
您現在已經體驗到了 raid 0 的缺點。