本文章的目的是故障后复盘:
故障现象在命令行执行qm list不显示虚拟机,web控制台看不到虚拟机,网上查不到相关现象的处理办法。
处理思路:虚拟机还在正常工作,通过查看kvm进程ps aux | grep kvm,百度查看pve配置文件相关描述,通过对比测试,手工创建虚拟机id号对应的conf文件。
一、pve 创建的虚拟机的配置文件位置
在宿主机的 /etc/pve/qemu-server,这里有创建虚拟机的相关硬件信息。
root@pve1:/etc/pve/qemu-server# pwd
/etc/pve/qemu-server
二、故障现象
在命令行执行qm list不显示虚拟机,web控制台看不到虚拟机,查看 宿主机的 /etc/pve/qemu-server发现配置文件丢失。
检查发现虚拟机业务还在正常运行。
#查看kvm进程
ps aux | grep kvm
#把kvm进程信息保存到文件
ps aux | grep kvm > kvm.txt
三、开始着手恢复配置文件
使用命令查看配置文件
root@pve1:/etc/pve/qemu-server# cat 108.conf
下面是手工恢复的配置
agent: 1
bootdisk: scsi0
cores: 8
ide2: none,media=cdrom
memory: 26000
name: Zabbix-srv
net0: virtio=DE:01:4D:34:F6:EA,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: H3C_BIGDISK:108/vm-108-disk-0.raw
scsi1: H3C_BIGDISK:108/vm-108-disk-1.raw
scsihw: virtio-scsi-pci
smbios1: uuid=b02c5bc6-91ae-4b0d-b65d-2de8a52b4bc4
sockets: 2
vmgenid: c0de78c1-efc0-4717-a714-25e0512db52c
conf中的参数都可以跟ps aux | grep kvm的结果一一对应,只有网桥的名字要在pve的web管理中查看网络配置。
下面2图内容来由ps aux | grep kvm的结果
如果不理解配置文件信息,可以在web上创建一台如号码为9999的虚拟机,就会在
在宿主机的 /etc/pve/qemu-server目录上生成一个9999.conf的配置文件。
在web控制台或qm list就可以看到刚刚已经配置了conf文件的虚拟机。
四、测试配置是否正常
最后一共恢复了10几台运行中虚拟机的配置,并对2台可以中断业务的虚拟机分别是linxu/windwos系统,进行关机重启测试。
剩下的那些关机的虚拟机就懒得去写配置文件了,应该没多大用吧。