ZFS RAID0池没有冗余

我在Ubuntu 14.04上创build了一个没有指定RAID或冗余选项的ZFS池,向它写了一些数据,重新启动了机器,池不再可用(UNAVAIL)。 我没有确切的错误,但提到没有足够的复制可用。 我在由2个3TB磁盘组成的池中创build了两个数据存储。 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 

UPDATE

zpool export cyrptoporticus,然后zpool import cryptoporticus现在解决了这个。 这是否可能在重新启动时再次发生?

您可能会看到至less有一个已用磁盘不可用的情况。 这可能是间歇性和可解决的,两个Linux实现(Linux上的ZFS以及zfs-fuse)似乎偶尔会出现打嗝,这些打嗝很容易通过zpool clearzpool export / zpool import周期来治愈。

至于你的问题,是的,ZFS是完全有能力创build和维护一个没有任何冗余的池,只需要发布像zpool create mypool sdb sdc sdd

但个人而言,我不会仅仅将ZFS用于重复数据删除function。 由于其架构的原因,ZFS重复数据删除将需要大量的RAM和大量的磁盘I / O来进行写入操作。 您可能会发现它不适合与您的一样大的池,因为写入会变得非常缓慢。 如果您需要重复数据删除,则可能需要查看具有较小内存和I / O占用空间的脱机重复数据删除实施,例如使用dupremove文件级批量重复数据删除或使用dupremove块级重复数据删除: https://btrfs.wiki.kernel。组织/ index.php文件/重复数据删除

这是重复的: 为什么重新启动导致我的ZFS镜像的一面成为UNAVAIL?

在你的情况下,系统上的/ dev / disk-by- *目录中的设备名称或符号链接不存在或被重命名。

最好将/dev/disk-by-id设备用于zpool而不是by-path ,因为path名称可能会更改。 (grrrr … Ubuntu udev)

/dev

 by-id/ by-path/ by-uuid/ 

所以我的线轴看起来像下面( 注意如何设备不是sdasdb ):

 [root@BigHomie ~]# zpool status -v pool: vol0 state: ONLINE scan: scrub repaired 0 in 0h1m with 0 errors on Sat May 24 17:14:09 2014 config: NAME STATE READ WRITE CKSUM vol0 ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 scsi-SATA_OWC_Mercury_AccOW140403AS1321905 ONLINE 0 0 0 scsi-SATA_OWC_Mercury_AccOW140403AS1321932 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 scsi-SATA_OWC_Mercury_AccOW140403AS1321926 ONLINE 0 0 0 scsi-SATA_OWC_Mercury_AccOW140403AS1321922 ONLINE 0 0 0