五一期间,电力维护,机房UPS 异常,导致一批服务器掉电。送电后,其他机器基本都能正常维护,就 2 台 DELL R420 异常,整列卡是PERC H310 Mini
,不带 BBU(电池),其他掉电的机器也都是 RAID5+lvmcache(JBOD),但是只有这 2 台 R420 出问题,难道是因为其他的 BBU 让写入数据正常落盘了,所以没异常?
如果是这样的话,那是不是不建议在不带 BBU 的整列上开启 lvmcache 了。
先说说怎么恢复,和之前的ssd 故障掉盘恢复不同。
启动之后,直接报错:
dracut-initqueue timeout - starting timeout scripts
....
Warning: /dev/mapper/centos-root does not exist
...
在dracut:/#
下识别不到 lvm,/dev/mapper
看不到任何信息,像是分区异常,但是数据盘大概率没损坏。于是尝试插U 盘用 livecd 进入,真不行按照lvm分区信息丢了还能这样恢复?
手工维护。
xfs 的建议用 centos 的 livecd, 一开始用了ubuntu ,发现不带 xfs_repair。
进入之后,lvm 能正常识别到,移除 cache:
lvconvert --uncache centos/root
回刷数据用了挺久时间,结束之后xfs_repair
一下,没异常,可以尝试启动了。
不过启动又报错:DMAR: DRHD: hangling fault status req xxx...PTE Read access is not set
,没头绪,google 了下,在grub 页面按e
编辑intel_iommu=off
, ok了。
启动之后,又不得不把lvmcache
加上了,谁让这🌶︎🐔 卡连缓存都没有。
后续:第二个启动报错问题,[BUG] DELL R420 开启iommu启动异常 #20242
,参考redhat/183373 确定是LSI MegaRAID SAS 2008
的问题。