我的 zpool 数据去哪儿了?

我的 zpool 数据去哪儿了?

注意:当谈到 ZFS 池时,我完全是个新手。

我昨天在 4 个 3TB 硬盘上创建了一个 ZFS 池,如下所示:

2017-06-10.16:31:08 zpool create data sda sdc sdd sde
2017-06-10.16:31:29 zfs set compression=lz4 data
2017-06-10.16:31:43 zfs set atime=off data

然后我开始复制一些数据。过了一会儿,我注意到我的池不见了,我的一个硬盘处于离线状态。我尝试重新启动,希望它能重新上线,但我陷入了所描述的某种循环中这里。昨天没时间处理,就关机到现在了。

我原本打算尝试从 USB 棒恢复,但我尝试再次启动,系统运行正常!我运行,zpool list它显示“没有可用的池”。谷歌搜索了一下,试了一下zpool import data。我收到错误,

无法挂载‘/data’:目录不为空

再次尝试zpool list,果然,我们重新上线了:

NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
data  10.9T   125G  10.8T         -     0%     1%  1.00x  ONLINE  -

试过了ls /data,里面有一个目录,一切看起来都很好。检查我的米尼奥应用程序将数据存储在那里,我的所有存储桶都消失了。果然,唯一实际上Minio 服务上线时必须/data重新创建。/data/minio/.minio.syszpool history可怕的[擦洗没问题] 查看其中的行:

2017-06-11.00:24:08 zpool scrub data

但我不记得运行过它。但我真正不明白的是,它zpool list说它125G仍在使用,这听起来是对的。所以,

  1. 在哪里这些数据?我该如何再次访问它?
  2. ZFS_MOUNT='no'按照/etc/default/zfs文章的建议添加了内容,但systemctl enable zfs-mount.target显示“无法执行操作:没有这样的文件或目录”——我该怎么办应该自动挂载我的 ZFS 池,这样我就不会在启动过程中卡住?
  3. 看来我错误地创建了 zpool——通过其设备名称(例如sda)而不是 UUID——我现在可以纠正它吗?

我的 USB 驱动器被分配了一个/dev/sdX字母,不是吗?我怀疑这与池的安装有关。

答案1

  • 您创建了一个由四个磁盘的条带组成的 zpool;基本上是磁盘的 RAID 0。

  • 您使用了 SCSI /dev/sdX 名称,并添加了 USB 驱动器。这可能会导致 SCSI 枚举问题并影响您的 /dev/sdX 驱动器排序。

  • 如果 /data 目录中有不应该存在的内容,只需将其删除并尝试挂载您的池 -zpool import data

相关内容