Linux

無冗餘的 ZFS RAID0 池

  • October 13, 2017

我在沒有指定 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)似乎都偶爾會出現問題,這些問題很容易通過 azpool clear或 a zpool export/zpool import循環來解決。

至於你的問題,是的,ZFS 完全有能力創建和維護一個沒有任何冗餘的池,只需發出類似zpool create mypool sdb sdc sdd.

但就我個人而言,我不會僅僅因為 ZFS 的重複數據刪除功能而使用它。由於其架構,ZFS 重複數據刪除將需要大量 RAM 和大量磁碟 I/O 用於寫入操作。您可能會發現它不適合像您這樣大的池,因為寫入會變得非常緩慢。如果您需要重複數據刪除,您可能需要查看具有較小記憶體和 I/O 佔用空間的離線重複數據刪除實現,例如btrfs使用文件級批量重複數據刪除bedup或使用塊級重複數據刪除dupremovehttps ://btrfs.wiki.kernel.org/index .php/重複數據刪除

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