无冗余的 ZFS RAID0 池

cod*_*boy 5 linux ubuntu zfs lvm redundancy

我在 Ubuntu 14.04 上创建了一个 ZFS 池,没有指定 RAID 或冗余选项,向其中写入了一些数据,重新启动了机器并且池不再可用(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
Run Code Online (Sandbox Code Playgroud)

更新

zpool export cyrptoporticus,然后zpool import cryptoporticus暂时解决了这个问题。重启后可能会再次发生这种情况吗?

the*_*bit 3

您可能会遇到这样一种情况:至少一个使用过的磁盘变得不可用。这可能是间歇性的并且是可以解决的,两种 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或使用块级重复数据删除dupremove: https: //btrfs.wiki.kernel.org/index .php/重复数据删除