修复配置错误的镜像 zfs 池
repairing misconfigured mirrored zfs pool
我的机器从两个 USB 设备的镜像 zfs 池启动。游泳池曾经是这样的:
sudo zpool status
pool: freenas-boot
state: ONLINE
scan: resilvered 891M in 15h19m with 0 errors on Wed Mar 29 03:29:55 2017
config:
NAME STATE READ WRITE CKSUM
freenas-boot ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
da0p2 ONLINE 0 0 3
da1p2 ONLINE 0 0 0
errors: No known data errors
我试图用校验和错误替换媒体,但通过一系列错误使用的命令,我最终 "adding" 新驱动器而不是 "attaching" 它。该池现在是两个设备的串联,不再镜像:
NAME STATE READ WRITE CKSUM
freenas-boot ONLINE 0 0 0
da0p2 ONLINE 0 0 0
da1p2 ONLINE 0 0 0
我了解到我无法再从池中删除设备,而且很明显
zpool attach -f pool device new_device
命令无效。
我计划镜像(足够大的)第三和第四驱动器上的所有数据,然后摆脱串联的第一和第二驱动器。但是,镜像似乎只适用于设备。我需要四个设备来进行镜像配置,这是不利的,因为机器外壳内只有两个 USB 端口。
转向两个设备的可引导镜像池的好方法是什么?请记住,有问题的机器是一台服务器,它无法启动会使多个用户不高兴。
- 递归地
zfs snapshot
你的根池
zfs send/recv
此快照到另一个相同大小的存储棒或卷,配置为单独的根池
- 使用您复制的数据使这个单独的根池可启动
- 重新启动系统并从新的根池启动
- 将两根棍子作为镜像添加到新池中,从而销毁旧池子
- 如果重新同步已完成,请移除初始棒或卷并将其销毁
您现在有一个带有两个初始棒的正确镜像池。
我的机器从两个 USB 设备的镜像 zfs 池启动。游泳池曾经是这样的:
sudo zpool status
pool: freenas-boot
state: ONLINE
scan: resilvered 891M in 15h19m with 0 errors on Wed Mar 29 03:29:55 2017
config:
NAME STATE READ WRITE CKSUM
freenas-boot ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
da0p2 ONLINE 0 0 3
da1p2 ONLINE 0 0 0
errors: No known data errors
我试图用校验和错误替换媒体,但通过一系列错误使用的命令,我最终 "adding" 新驱动器而不是 "attaching" 它。该池现在是两个设备的串联,不再镜像:
NAME STATE READ WRITE CKSUM
freenas-boot ONLINE 0 0 0
da0p2 ONLINE 0 0 0
da1p2 ONLINE 0 0 0
我了解到我无法再从池中删除设备,而且很明显
zpool attach -f pool device new_device
命令无效。
我计划镜像(足够大的)第三和第四驱动器上的所有数据,然后摆脱串联的第一和第二驱动器。但是,镜像似乎只适用于设备。我需要四个设备来进行镜像配置,这是不利的,因为机器外壳内只有两个 USB 端口。
转向两个设备的可引导镜像池的好方法是什么?请记住,有问题的机器是一台服务器,它无法启动会使多个用户不高兴。
- 递归地
zfs snapshot
你的根池 zfs send/recv
此快照到另一个相同大小的存储棒或卷,配置为单独的根池- 使用您复制的数据使这个单独的根池可启动
- 重新启动系统并从新的根池启动
- 将两根棍子作为镜像添加到新池中,从而销毁旧池子
- 如果重新同步已完成,请移除初始棒或卷并将其销毁
您现在有一个带有两个初始棒的正确镜像池。