用更大的磁碟增長 zpool raidz2?
我有超過 6 個磁碟的帶有 RaidZ2 的 Linux PC,每個磁碟 3T。磁碟在多個分區之間共享;zpool 僅位於每個磁碟的第 6 部分;其他分區用於其他目的。
我打算買6x4T。
我的計劃是:
- 引導不支持 ZFS 的 live CD
- 將每個 3T 磁碟複製到 4T 磁碟上
- 在每個 4T 磁碟上創建一個新的分區 n° 18
- 重新啟動我的正常系統
- 在所有分區上擴展我的 zpool 18
它會起作用嗎?用一組 6 個分區 sda18…sdf18 擴展池的命令是什麼?
如果不可能,我有一個我不喜歡的備份方法:使分區 18 盡可能大(可能是 1T),轉儲 sd
$$ abcdef $$6進sd$$ abcdef $$18、擦除sd$$ abcdef $$6,然後,要求 zpool 在比以前更大的分區中擴展。 謝謝
將 3T 驅動器複製為 4T 驅動器後,不要添加新分區,只需調整現有 ZFS 分區的大小即可。
sd[a-f]6
沒有什麼可以阻止您按計劃添加分區,但如果您這樣做,性能將非常糟糕,因為 zfs 會浪費大量時間將磁碟頭從驅動器中間(現有分區)來回移動到末尾驅動器(新sd[a-f]18
分區)。您將擁有一個實際上是兩個 raidz6 vdev 的 raid-0 的池,而不僅僅是一個 raidz6 vdev。如果 ZFS 分區之後的磁碟上還有其他分區,則將它們移動到驅動器的末尾,以便為 ZFS 分區騰出空間,然後擴展 zfs 分區。
gparted
使用(例如gparted之類的救援 CD/USB)重新啟動到 Live CD 或 USB 等會對此有好處。或者,將 ZFS 分區移動到其他分區之後,然後將其他分區移動到 ZFS 以前所在的位置,然後再次移動 ZFS 分區,最後調整 ZFS 分區的大小。這是更多的工作,將花費更多的時間(所有停機時間!),並且可能會重命名/重新編號所有移動的分區,因此您需要更新相關的配置。唯一真正的好處是,如果您獲得更大的驅動器,將來再次擴展 zfs 分區會更容易。
重新啟動後,您可以使用
zpool offline pool partition
後跟zpool online -e pool partition
為每個分區擴展池以使用所有可用空間。重要提示:一次在一個分區上執行這兩個命令。不要同時離線多個分區。例如
for p in sd[abcdef]6; do zpool offline pool "$p" zpool online -e pool "$p" done
來自
man zpool-online
:
-e
擴展設備以使用所有可用空間。如果設備是鏡像或 raidz 的一部分,則必須先擴展所有設備,然後池才能使用新空間。實際上,引用的文字並不完整。它應該說類似“如果設備是鏡像或 raidz vdev的一部分,則必須擴展該 vdev 中的所有設備,然後新空間才可用於池。”
即,如果您有一個包含多個 vdev 的池(例如多個鏡像 vdev 和/或多個 raidz vdev),那麼 vdev 可以/將單獨擴展。