Partition

mdadm RAID1 陣列 - 是否需要分區?

  • October 15, 2021

幾年來,我一直在使用帶有 2 個 2TB 磁碟的 mdadm RAID1 陣列,沒有出現任何問題。

最近我需要升級到 4TB,所以我買了 2 個 4TB 的新磁碟併計劃更換一個,等待重建,然後更換另一個,增長,並在 /dev/md0 中完成調整文件系統的大小

問題是,在所有這些指南中,磁碟在添加到陣列之前進行了分區(通常是 1 個單個分區佔用所有磁碟),我發現這是一種常見的做法,但是我的磁碟在當天被添加到陣列中沒有分區,即(我在陣列中的一個磁碟):

Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000059b8

所以,問題是:真的需要對將在 mdadm RAID1 陣列中使用的磁碟進行預分區嗎?這樣做有什麼好處嗎?

看看這裡的教程,特別是這裡的討論,似乎在 RAID 中使用的驅動器上創建單個分區的目的是

  • 通過將分區類型設置為將其標記為 RAID 陣列的一部分0xfd
  • 防止(罕見)出現錯誤消息,指出在磁碟上找到“沒有分區表”
  • 通過將分區大小設置為明確定義的數量(通常略小於磁碟大小)來確保插入式可替換性(這是一個英文單詞嗎?!)。

第 3 點似乎是最有效的,因為如果你想用另一個硬碟替換一個硬碟,即使是相同的標稱大小,實際大小總會有很小的差異,真正的“插入式”替換只能通過創建具有“明確定義”大小(1)的分區來實現。

第 2 點似乎令人煩惱而不是阻礙,我個人從未遇到過這樣的錯誤消息,但根據您的設置,它可能會成為一個問題。

根據我的經驗,第 1 點不是必需的,因為mdadm它也會在“整個磁碟”設備上創建 RAID UUID,它可以用來自動檢測磁碟是 RAID 陣列的一部分。

**因此,總而言之,**對將在 RAID 陣列中使用的驅動器進行分區並不是嚴格要求,但它可以具有優勢。


(1)這種問題也可能會在以下情況下破壞您的脖子,例如,當您想要將一個硬碟逐字逐字複製到另一個硬碟時,當您的源驅動器上的分區跨越整個磁碟大小時,然後你的複製程序發現目標驅動器雖然名義上大小相同,但要小幾百字節……

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