向 ZFS 鏡像池插入額外磁碟的建議?
我在 ZFS 鏡像池上以 root 執行 FreeBSD 9.1。
起初,池(標記為
zroot
)共有 1TB,跨越兩個 1TB 驅動器。最近我們遇到了磁碟空間問題,其中 99% 的池被分配了大約 15G 可用空間。僅文件系統就佔用了大約 800G
/home
。為了解決這個問題,我們添加了 2 個 1TB 驅動器。
我們希望保留這些驅動器的鏡像。現在的問題仍然存在,我們應該如何將額外的 2 個 1TB 驅動器添加到池中?
- 我們是否應該將它們添加到現有
zroot
池中並分配它。這似乎是個壞主意,因為原始池被設計為作為根文件系統執行。- 我們是否應該使用一組鏡像驅動器創建一個新池,然後創建一個新的
/home2
並將高使用率使用者轉移到該分區?對我們來說,ZFS 功能的範圍並不清楚。我們傾向於選項 (2),因為它不會在根鏡像上添加不必要的依賴項。但是,我們將不勝感激有關採取何種行動方針的任何見解和想法。
謝謝。
我們是否應該將它們添加到現有的 zroot 池中並分配它。這似乎是個壞主意,因為原始池被設計為作為根文件系統執行。
首先,zpools 和 zfs 文件系統是獨立的概念(您實際上不能將它們分開,但在考慮它們的設置時應該這樣做)。因此,池不是“設計為作為根文件系統執行”,zpool 上有一個文件系統被配置為作為根文件系統執行。
由於此 zpool 包含根文件系統,因此它必須是非冗餘的單個 vdev,或者必須是單個鏡像。因此,您不能只添加更多驅動器。
我們是否應該使用一組鏡像驅動器創建一個新池,然後創建一個新的 /home2 並將高使用率使用者轉移到該分區?
為每個使用者創建 zfs 文件系統並將其掛載到他們的主驅動器位置要容易得多。這消除了 janky/non-standard 的
/home2
想法,並允許您在每個使用者的主文件夾上設置配額、保留等。當我設置 ZFS 伺服器時,我要麼使用兩/三個較小的磁碟作為引導 zpool(我有 100-320GB 的磁碟,所以這是我常用的),或者從主記憶體儲驅動器(大約相同的大小,使用 GPT 分區)。驅動器的其餘部分是一個大分區,然後進入儲存 zpool。
例如,這是我的家庭伺服器設置:
pool: tank0 state: ONLINE scan: scrub repaired 0 in 1h39m with 0 errors on Sat Jun 8 07:59:40 2013 config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 gpt/tank0-d0 ONLINE 0 0 0 gpt/tank0-d1 ONLINE 0 0 0 errors: No known data errors pool: tank1 state: ONLINE scan: scrub repaired 0 in 3h11m with 0 errors on Mon Jun 1 08:57:39 2013 config: NAME STATE READ WRITE CKSUM tank1 ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 gpt/tank1-d0 ONLINE 0 0 0 gpt/tank1-d1 ONLINE 0 0 0 gpt/tank1-d2 ONLINE 0 0 0 gpt/tank1-d3 ONLINE 0 0 0