了解银河麒麟操作系统更多全新产品,请点击访问麒麟软件产品专区:https://product.kylinos.cn
环境及现象描述
40台虚机强制重启后,其中8台虚机找不到逻辑卷导致启动异常,后续通过pvcreate 修复重建pv,激活vg和lv并修复文件系统后恢复。
现象分析
2-1 vgscan扫描异常
vgscan存在如下异常:
图 1
说明检查vdc设备的lvm标签失败。
pv卷的块设备存在lvm_header,块设备偏移512字节处存在"LABELONE"的标签ID。标记检查时会以sector(512字节)为offset连续检查4次,即在前2048字节(lvm_header)中检测LVM2_LABEL标签(对应字符"LVM2 001")有效性,检查成功则认为该设备为lvm设备。
图 2
图 3
可以通过hexdump -s 512 -n 512 -C 设备查看对应正常lvm的块设备
图 4
所以vdc无法扫描并激活的原因是因为lvm头部存在LABEL丢失的情况。
2-2 全局日志分析
已知在3月28日13:52:57,15:24:14这两个时间点均存在系统重启。重启前系统无任何异常记录。
结合已收集的系统日志,从lvm,xfs,kernel三个方面分析系统日志,并未出现任何异常的记录。
但最新日志中存在以下输出:
图 5
软盘驱动floppy存在报I/O error的情况,如果虚拟机不需要使用软盘,建议联系虚拟化平台排查是否存在映射软盘的情况,如果没有特殊需求建议先禁用floppy驱动。
以下提供禁用方案,供参考:
1、编辑配置文件
vim /etc/modprobe.d/blacklist.conf
添加内容
blacklist floppy
2、更新参数
dracut --force
3、重启系统
reboot
初步分析结论
结合现有日志分析,虚拟机强制重启后,LVM设备上LVM标签丢失导致对应pv,vg无法激活。
问题产生的根因可能存在以下情况:
1 虚拟机强制重启时发生了文件系统损坏,其中包括LVM标签所在的元数据,系统将无法正确读取和解析LVM设置;
2 存储故障,在虚拟机重启期间,如果底层存储出现故障、断开连接或不可读取,LVM标签也可能会丢失。
针对上述2种情况,情况1为根因的概率更大,纵观整个集群环境,并非所有虚拟机都受影响,存储故障的可能性相对较小。