我在 Linux Mint 19.x 上运行 raidz2 池。我在池状态中看到以下内容:
david@Media:~$ zpool status 池:数据状态:降级状态:由于标签缺失或无效,无法使用一个或多个设备。有足够的副本可供池在降级状态下继续运行。操作:使用“zpool replace”更换设备。参见:http://zfsonlinux.org/msg/ZFS-8000-4J 扫描:于 2019 年 11 月 26 日星期二 09:53:36 用时 8 小时 15 分钟重新镀银 1.27T,无错误 配置:
NAME STATE READ WRITE CKSUM
data DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
10841317365380570418 UNAVAIL 0 0 0 was /dev/sdf1
sdh ONLINE 0 0 0
sdi ONLINE 0 0 0
sdj ONLINE 0 0 0
如果我查看磁盘,会发现 /dev/sdf 上不再有驱动器,但 /dev/sdg 上有一个驱动器。我认为我不想运行状态中提到的“replace”命令,因为据我了解,这是破坏性的,会将数据重新分配到 sdg 上,而我认为 sdg 是丢失的 sdf。
我怎样才能将 sdg 换成 sdf 或者实现类似的操作而不破坏 sdg 上的池数据?
我查看了关于此消息的信息,但没有找到太多有用或我能理解的信息。我看到了对 mdadm 的引用,但这似乎不是我的问题;
david@Media:~$ cat /proc/mdstat 个性:未使用的设备:
答案1
您应该避免对 ZFS 池设备使用通用的 SCSI /dev/sdX 名称,因为它们在启动时可能会发生变化。我更喜欢使用 /dev/disk/by-id 中的条目
在这种情况下,您可能可以用新的设备位置替换丢失的磁盘:
zpool replace data 10841317365380570418 sdg