無冗餘的 ZFS RAID0 池
我在沒有指定 RAID 或冗餘選項的情況下在 Ubuntu 14.04 上創建了一個 ZFS 池,向其中寫入了一些數據,重新啟動了機器並且該池不再可用(UNAVAIL)。我手頭沒有確切的錯誤,但它提到沒有足夠的複制可用。我在由 2 個 3TB 磁碟組成的池中創建了兩個數據儲存。向我推薦 ZFS 是因為它具有重複數據刪除功能,此時我並不關心冗餘。
我實際上只想要 RAID0,所以短期內沒有鏡像或冗餘。有沒有辦法用 ZFS 做到這一點,或者我會用 LVM 更好嗎?
zpool status -v: sudo zpool status -v pool: cryptoporticus state: UNAVAIL status: One or more devices could not be used because the label is missing or invalid. There are insufficient replicas for the pool to continue functioning. action: Destroy and re-create the pool from a backup source. see: http://zfsonlinux.org/msg/ZFS-8000-5E scan: none requested config: NAME STATE READ WRITE CKSUM cryptoporticus UNAVAIL 0 0 0 insufficient replicas sda ONLINE 0 0 0 sdc UNAVAIL 0 0 0
更新
zpool export cyrptoporticus,
然後zpool import cryptoporticus
暫時解決了這個問題。這可能在重新啟動時再次發生嗎?
您可能會看到至少有一個已用磁碟不可用的情況。這可能是間歇性的且可解決的,兩種 Linux 實現(Linux 上的 ZFS 以及 zfs-fuse)似乎都偶爾會出現問題,這些問題很容易通過 a
zpool clear
或 azpool export
/zpool import
循環來解決。至於你的問題,是的,ZFS 完全有能力創建和維護一個沒有任何冗餘的池,只需發出類似
zpool create mypool sdb sdc sdd
.但就我個人而言,我不會僅僅因為 ZFS 的重複數據刪除功能而使用它。由於其架構,ZFS 重複數據刪除將需要大量 RAM 和大量磁碟 I/O 用於寫入操作。您可能會發現它不適合像您這樣大的池,因為寫入會變得非常緩慢。如果您需要重複數據刪除,您可能需要查看具有較小記憶體和 I/O 佔用空間的離線重複數據刪除實現,例如
btrfs
使用文件級批量重複數據刪除bedup
或使用塊級重複數據刪除dupremove
:https ://btrfs.wiki.kernel.org/index .php/重複數據刪除