元旦的时候,公司的一台KVM宿主机出现了故障,下属的虚拟机全部无法访问了。这台服务器型号是DELL PowerEdge R920,有点老了。故障现象是服务器无法启动,面板显示 system board fail-safe voltage is outside of range.
打DELL官方售后热线,被告知该服务器18年就过保了。如果需要有偿修理,可以发邮件申请。按照要求发了申请邮件后,很快收到回复了,说抱歉服务器已停产,配件也没有货,无法修复云云。
只能托朋友找熟人,终于联系到DELL的一个大型代理商,推了他们的技术人员给我,没有寒暄,直奔主题,先尝试断电后,按住电源键30秒,再通电,仍然无法开机。再交换CPU后开机,还是不行。拿笔记本连网线进iDRAC后,从日志看,确实是主板坏了。联系代理商告知,很难买到主板,买到也是二手的,还很贵。想想,算了,还是恢复里面的数据要紧。
这台DELL R920共有4块硬盘,做了RAID5。要恢复数据,就需要拿原阵列卡或同型号的阵列卡,接到相应的接口上,来恢复数据。可惜我司就这一台R920,找其他单位借也不现实。最后,只能试试去珠江路做数据恢复。把清空跟对方说了一下,回复说有99的把握,心里总算放心了一点。
第二天一早让公司司机师傅拉着服务器(顺便说一句,这是一台4U服务器,非常的重)来到珠江路,送到数据恢复公司,按顺序拔下硬盘,同时对硬盘标好序号0~3。被告知预计需要一天时间。第二天早上再次来到珠江路,拿到了数据(拷贝在移动硬盘里),赶紧回公司做恢复。
回到公司,进机房找了一台闲置的DELL R720服务器(没办法,我司机房都是老掉牙的服务器),服务器是安装的CentOS7,CPU是intel的Xeon至强系列,是支持虚拟化的,BIOS里也打开了VT(虚拟化技术)。接下来很快了,摘抄如下:
lsmod |grep -i kvm 查看是否支持kvm虚拟化
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y 安装虚拟化的相关软件
优麒麟:sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
systemctl stop firewalld 关闭防火墙
systemctl start libvirtd 启动libvirt软件
systemctl enable libvirtd 加入开机自启动项
在运行virt-install的时候又遇到困难了。
一直报错:
该主机不支持 任意虚拟化选项
不应该啊,都是DELL的服务器,都是intel的CPU,应该都支持的啊!
grep -E '(vmx|svm)' /proc/cpuinfo #有输出,表示正常的啊!
心想会不会是virt系列的版本,执行命令加 --version,发现virt-install是1.5.0版本的,而原主机是1.2.1,那就安装1.2.1的啊,但是yum安装源里已经没有1.2.1的了,用rpm包安装吧,那么许多包要安装,还缺许多依赖包,折腾到9点多,还是先回家吧。
回到家还是心有不甘,再次搜索,终于搜到一个文章和我情况类似了。
链接:https://blog.csdn.net/qq_44839276/article/details/123983673?spm=1001.2014.3001.5506
当天太晚了,第二天一早,赶紧执行
systemctl status libvirtd -l
报错信息竟然一模一样!
再执行/usr/libexec/qemu-kvm --version,报错信息也一样!
赶紧安装openssl:
yum -y install openssl
再执行virt-install,这次没有报错了,赶紧把虚拟机qcow2文件拷贝进服务器,很快一个个虚拟机就全部恢复成功了!