Mdadm

在 Mdraid 配置的磁碟上進行 GPT 還原後的數據完整性

  • September 18, 2014

我已經在以前的 GPT 分區磁碟上恢復了備份 GPT 標頭,這些磁碟是 Linux 軟體 raid (mdraid) 的成員。這樣做是因為 partprobe 報告了損壞的標頭。

現在實際上軟體 raid 應該管理整個磁碟,但以前使用的分區資訊保留在伺服器以不同方式使用時的時間。

意識到 GPT 可能與我的設置無關,我完全通過 gdisk 專家模式刪除了 GPT 資訊。

然而,我現在擔心的是,我對 GPT 表恢復/GPT 資訊刪除的擺弄可能已經破壞了我的軟體突襲。

系統本身沒有顯示任何跡象表明這種情況(仍然啟動,數據可訪問)但我想知道是否有人可以建議數據是否仍會因我的行為而損壞,或者我可以通過什麼方式檢查數據的完整性.

1.2 版元數據從塊設備開始儲存 4K。通常,數據本身是相當多的。例如,這是mdadm -E來自我的一個陣列中的磁碟的(部分):

/dev/sda3:
         Magic : a92b4efc
       Version : 1.2
⋮
   Data Offset : 262144 sectors
  Super Offset : 8 sectors
  Unused Space : before=262064 sectors, after=2224 sectors
⋮

如您所見,(8 * 512 字節/邏輯扇區 = 4KiB)中的 8 個扇區是陣列超級塊。數據更遠,實際上是 128MiB。

GPT佈局是第一個扇區(#0)是一個保護MBR;接下來的 33 個扇區 (#1–#33) GPT 分區表和條目。磁碟上的最後 33 個扇區儲存備份。

因此,從備份 GPT 分區表恢復可能會覆蓋前 34 個扇區。但它不會觸及數據(因為那遠遠超過 20 萬個扇區)。根據之後未使用的空間量,即使最後寫入備份也不會導致損壞(我的陣列中有很多,你的可能會有所不同。)

不過,聽起來你的超級塊沒有被破壞,因為你已經組裝了陣列。我會通過檢查mdadm -E每個磁碟來確認,但除此之外,聽起來沒有造成任何傷害。如果 (a) 正在使用和 (b) 內部,您可能還需要清除並重新啟用寫入意圖點陣圖,因為它儲存在超級塊和數據之間的空間中。

引用自:https://unix.stackexchange.com/questions/155894