如何恢复ZFS镜像配置中已离线但状态正常的磁盘?
如何恢复ZFS镜像配置中已离线但状态正常的磁盘?
别担心,这种因接线松动导致的磁盘离线是ZFS环境里很常见的小状况,咱们一步步操作就能把池恢复到正常状态~
先明确当前状况
你提供的zpool status输出已经很清楚了:因为磁盘重新连接后ZFS无法识别它的标签,所以用一串数字ID来标记这块离线设备,池处于DEGRADED状态但仍能正常运行。
# zpool status -v zmsmall1 pool: zmsmall1 state: DEGRADED status: One or more devices could not be used because the label is missing or invalid. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Replace the device using 'zpool replace'. scan: scrub repaired 0B in 02:00:24 with 0 errors on Sun Apr 14 02:24:25 2024 config: NAME STATE READ WRITE CKSUM zmsmall1 DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 ata-ST1000NM0033-9ZM173_Z1W074QR ONLINE 0 0 0 1668743223554722256 UNAVAIL 0 0 0
具体恢复步骤
定位重新连接后的磁盘设备
先用lsblk或者fdisk -l命令找出那块接好线的磁盘对应的设备路径(比如/dev/sdb),可以通过磁盘型号、容量来匹配——它应该和在线的那块ata-ST1000NM0033-9ZM173是同型号的1TB盘。执行ZFS替换命令
把zpool status里显示的离线设备ID(就是那串长数字1668743223554722256)替换成实际的设备路径,执行以下命令:zpool replace zmsmall1 1668743223554722256 /dev/sdb这里要注意:一定要准确复制那串数字ID,设备路径也别写错,否则会操作错误。
等待重新同步完成
执行命令后,ZFS会自动开始**resilver(重新同步)**过程,你可以再次运行zpool status -v zmsmall1来查看同步进度。等同步完成后,整个池就会回到ONLINE状态了。
额外小提示
如果重新接线后磁盘已经被系统正确识别,你可以先尝试用zpool online zmsmall1 1668743223554722256命令让它重新上线,但因为标签识别问题,大概率还是需要用zpool replace来完成恢复。
备注:内容来源于stack exchange,提问作者Sergio
相关产品推荐
相关产品推荐

