在執行 Linux 的 Xen 客戶機上使用 ZFS 或 XFS
背景:
我正在研究使用 ext3/4 以外的文件系統的可行性,該文件系統能夠執行快照以進行備份和回滾。正在考慮的伺服器是在 Linode 基於 Xen 的 VPS 平台上執行的郵箱伺服器節點。我特別喜歡 ZFS 在數據完整性方面提供的各種已發布的好處,以及今年 Linux 中原生 ZFS 支持的穩定版本 - http://zfsonlinux.org
就好處和簡單性而言,ZFS 似乎是更徹底的選擇(而不是 LVM+XFS)。請注意,我對 ZFS(我在本地 FreeNAS 安裝中使用)幾乎沒有經驗,而對 XFS 沒有經驗,因此發表了這篇文章。迄今為止,我的伺服器使用的是 ext3 文件系統,而不是在 LVM 下管理。
詳細問題:
所以,我有兩個問題。
(1) 對於在 Xen Linux 客戶機上執行的以下 3 個方面中最好的一個,這兩個文件系統中的哪一個是更好的選擇?
- 快照
- 數據的完整性
- 表現
(2) 如果 ZFS 是一個可行的選擇,那麼跨 Xen 磁碟映像使用 RAIDZ 以進一步增強數據完整性解決方案是否可行?
注意:鑑於我在生產系統上使用 BTRFS 時讀到的許多警告,我不願意考慮 BTRFS。
您沒有理由不能在您的 Linode 上使用這些解決方案中的任何一個,但它會使您的 Linode 與任何 Linode 管理的磁碟服務不兼容。Linode 只支持 ext3;沒有 Linode 備份,沒有調整磁碟大小,可能會對遷移產生影響(儘管我懷疑它適用於磁碟映像級別)。如果 ZFS 的好處大於壞處,這取決於您。你可以用寫時復製文件系統做一些簡潔的事情,比如真實的快照,而不是 LVM 做的奇怪的 hacky 事情。
就使用 raidz 而言,除了節省空間之外,並沒有什麼真正的好處。您的所有磁碟映像都將位於 Linode 主機上的同一 raid10 卷上,因此使用同上塊而不是 raidz 更有意義。ZFS 保留某些塊的多個副本:三個全域元數據副本、兩個文件系統元數據副本和一個使用者數據副本。您可以在 ZFS 文件系統上設置“副本”屬性來控制使用者副本的數量。如果將其設置為 2,則所有使用者數據都將被複製,並且它將其他兩個值也增加 1,上限為 3(因此文件系統元數據的 3 個副本)。這可以在每個文件系統級別或整個池上設置,因此您可以選擇哪些數據足夠重要以進行鏡像。
ZFS 將盡量使同上塊彼此遠離。如果池有多個 vdev,則使用不同的 vdev,或者如果它只是一個 vdev(就像您的 Linode 那樣),則至少相隔 1/8。