我继承了 Linux(CentOS)存储池上的 ZFS,并且mpathah
我的池中有一个有故障的多路径设备():
raidz3-6 DEGRADED 0 0 0
...
...
mpathba ONLINE 0 0 0
mpathbb ONLINE 0 0 0
mpathbc ONLINE 0 0 0
mpathah FAULTED ...
我大致遵循了Solaris ZFS 有关更换故障磁盘的说明并换出磁盘。它似乎会multipathd
自动选择新磁盘并分配它mpathcn
,所以现在我尝试替换旧设备,但出现以下错误:
$ zpool replace mypool mpathah mpathcn
invalid vdev specification
use '-f' to override the following errors:
/dev/mapper/mpathcn contains a filesystem of type 'vfat'
事实上,这个 vdev 上其余的多路径设备的格式似乎有所不同:
$ blkid /dev/mapper/mpathcn
/dev/mapper/mpathcn: LABEL="HDD" UUID="xxxx-xxxx" TYPE="vfat"
$ blkid /dev/mapper/mpathbc
/dev/mapper/mpathbc: LABEL="mypool" UUID="xxxx" UUID_SUB="xxxx" TYPE="zfs_member"
正确的做法是什么?我找到了一个之前类似的问题- 它是否正确?
$ pvcreate /dev/mapper/mpathcn
答案1
最有可能的是,您的新虚拟磁盘上有一个 VFAT 文件系统,并且在您重新使用它之前没有被删除。
使用它是安全的,zpool replace -f
但这会破坏磁盘上的任何旧数据,因为 ZFS 将立即开始重新镀银。