Storage

向 ZFS 鏡像池插入額外磁碟的建議?

  • June 11, 2013

我在 ZFS 鏡像池上以 root 執行 FreeBSD 9.1。

起初,池(標記為zroot)共有 1TB,跨越兩個 1TB 驅動器。

最近我們遇到了磁碟空間問題,其中 99% 的池被分配了大約 15G 可用空間。僅文件系統就佔用了大約 800G /home

為了解決這個問題,我們添加了 2 個 1TB 驅動器。

我們希望保留這些驅動器的鏡像。現在的問題仍然存在,我們應該如何將額外的 2 個 1TB 驅動器添加到池中?

  1. 我們是否應該將它們添加到現有zroot池中並分配它。這似乎是個壞主意,因為原始池被設計為作為根文件系統執行。
  2. 我們是否應該使用一組鏡像驅動器創建一個新池,然後創建一個新的/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

引用自:https://serverfault.com/questions/514564