• Welcome to LiuJason's Blog!

历时48小时,修复了一个ZFS存储节点

Linux笔记 Jason 5 years ago (2020-02-07) 1234 Views 0 Comments

发现磁盘问题

堪萨斯集群的一台proxmox服务器在2月4号有一块盘出现了错误,导致ZFS阵列降级。

准备更换硬件修复阵列

当天我们将客户服务器转移至其他节点后,将这块坏盘在zfs cli中offline,然后工单提交换盘(热插拔)。

悲剧的重启

机房那边说既然我们备份好数据了,就趁这个机会把这台机器换到新的交换机和机柜里,经过我们同意后关机、移位,发现不能开机。
所以说阵列出错的情况下重启真的问题很严重...

排查和恢复

开机报错:failed to import rpool
看来是zfs阵列出现了问题,由于是原生ZFS系统,因此需要修复rpool后才能进系统。

最开始认为是新盘被BIOS设为第一块盘,读取boot失败导致的,因此只要更换盘的物理位置或者修改BIOS的顺序即可。
机房多次尝试依然失败

进rescue,弹出"no such device available";进proxmox的livecd,能识别全部五块硬盘,但是识别不出是zfs阵列。
重新进rescue,修复grub,然后导入有rpool:zpool import -N rpool,开机成功。

测试再次重启

果然无法重启,再次复现failed to import rpool,发现是磁盘没有准备好zfs就开始import导致的,因此在/etc/default/grub 中增加rootdelay='35',然后 Update-initramfs -u and update-grub。
重启成功。

重建阵列


This article is under CC BY-NC-SA 4.0 license.
Please quote the original link:https://www.liujason.com/article/526.html
Like (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址