Raid

RAID 1 開頭的磁碟結構(前 128 MiB)

  • September 13, 2017

我有一個由 2 個 2 TB 磁碟組成的 RAID 1,並註意到當我計算兩個磁碟的某個範圍的加密雜湊時,除非該範圍位於磁碟的開頭,否則我會得到相同的結果。因此,除了一開始的任何地方(以及最後用於 RAID 的分區結束的一小部分,我猜),這兩個磁碟儲存完全相同的數據。

但是,在磁碟的開頭,校驗和不匹配,這意味著儲存在那裡的數據有偏差。我希望這會發生在最初的幾千字節上,因為我希望用於磁碟辨識的數據和其他一些元數據儲存在那裡。但我發現前 128 MiB 不匹配。如果我只跳過前 127 MiB,則校驗和不匹配,但如果我跳過前 128 MiB 並散列某個範圍,則校驗和匹配。

佔用如此多儲存空間的磁碟開頭儲存了什麼mdadm(與僅標識符相比;當然與現代硬碟的大小相比,它完全可以忽略不計)?

請注意,我從 RAID 中使用的分區的開頭處理了數據。這並不是說我從磁碟的開頭就解決了它,而前 127 MiB 恰好不屬於分區。

檢查mdadm --examineData Offset。如果分區足夠大,它往往預設為 128M。在日常操作中,數據偏移量不用於任何事情。

直到您決定擴大 RAID 或更改 RAID 級別和佈局。然後數據偏移量將減少一點,從而創建一個緩衝區,允許在不直接覆蓋自身的情況下就地更改數據。因此,如果發生斷電、重新啟動等情況,可以安全地恢復該過程。

當沒有剩餘的數據偏移空間可用時,您需要--backup-file為一些增長和重塑操作提供一個。此備份文件必須儲存在您的 RAID 之外,並且必須能夠在重新啟動後繼續存在。

如果您非常確定永遠不會更改 RAID 佈局,或者不介意在這種情況下使用備份文件,您可以指定--data-offset=一個小的 1 或 2 MiB,這樣就不會浪費每個驅動器 128M。

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