Zfs

創建一個包含大量鏡像 vdev 的 zpool 有意義嗎?

  • October 3, 2021

作為前綴,我對 ZFS 比較陌生。我的目標是創建一個內部 NAS 系統,並儘量減少失去所有數據的可能性。

我目前已經購買了四個 4TB 磁碟,我計劃在一個帶有兩個鏡像 vdev 的 zpool 中執行它們,如下所示:

 pool: data
state: ONLINE
 scan: none requested
config:

   NAME                STATE     READ WRITE CKSUM
   data                ONLINE       0     0     0
     mirror-0          ONLINE       0     0     0
       <disk 0>        ONLINE       0     0     0
       <disk 1>        ONLINE       0     0     0
     mirror-1          ONLINE       0     0     0
       <disk 2>        ONLINE       0     0     0
       <disk 3>        ONLINE       0     0     0

稍後使用更多磁碟擴展 zpool 時,繼續添加 是否有意義,mirror-2每個mirror-3磁碟有兩個配對磁碟?

使用多個鏡像 vdev 對 zfs 來說根本不是問題。它們提供比 raidz vdev 更高的性能和更快的 resilver。全鏡像池更易於擴展,並且在最近的 zfs 版本中,甚至可以縮小(即:支持刪除 vdev)。

raidz 具有更好的空間效率,並且在 raidz2 和 raidz3 版本中具有更好的彈性。一次可以使用至少 3 個磁碟擴展 raidz 池 - 導致新的 raidz1 vdev。但是,這樣的配置並不理想:對於大磁碟,您應該始終使用 raidz2。這意味著擴展一個raidz2 vdev 需要4 個磁碟,與鏡像相比沒有更好的空間效率(即:50%),但有更好的彈性(任何兩個磁碟都可以在不失去數據的情況下發生故障)。

考慮到所有因素,當需要良好的隨機 IO 性能時,我總是使用鏡像。我只在空間效率受到更大關注時才使用 raidz2,並且僅使用相當寬的條帶(6 個以上磁碟)。

由於您打算只使用 4 個磁碟並在以後擴展,我建議您使用普通鏡像。

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