StudyOverseas 大佬有话说 :
历时48小时,修复了一个ZFS存储节点
做运维也有半年了,还是花了很长时间排查和修复….机房那边也换了三个人来帮忙….
原文:https://www.liujason.com/article/526.html
发现磁盘问题
堪萨斯集群的一台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’。
重启成功。
子尘 大佬有话说 :
走过路过明天仔细看
Crypt 大佬有话说 :
远程修复,厉害了,我家里自建的nas也是用的zfs,用的3块4T硬盘,唯一遗憾的是raidz还不支持添加硬盘扩容的功能。
Josephus 大佬有话说 :
问下那个rootdelay更新内核啥的会掉么…