看到你“知道可以新建虚拟机挂载原qcow2文件,但觉得麻烦且可能出现配置差异”,别着急,既然虚拟机在共享存储上,确实有更便捷的办法。只是你尝试的“迁移虚拟机”功能并不适用于CVK宕机这种场景。
下面,我为你梳理了三种恢复方式,建议按顺序尝试。
操作前,请务必确认以下两点,这是虚拟机成功恢复的关键:
检查资源充足:确认目标正常CVK主机有足够的CPU、内存资源来运行故障的虚拟机-2。
检查存储路径:在CVM界面的虚拟机详情中,确认其磁盘文件路径指向共享存储(例如 datastore01/vm01/),而不是本地路径(例如 host:/local/vm01/)。
这是最简单直接的方法,成功率也高:
进入维护模式:在CVM的“主机”列表中,找到故障的CVK,右键点击将其置为“维护模式”。
移除故障主机:在CVM的“主机”列表中,找到故障关机且状态异常的CVK节点,右键点击选择〖移除主机〗。注意:在确认对话框中,一定不要勾选“删除主机上的存储数据”,否则会将虚拟机数据彻底删除。
执行恢复操作:故障主机移除后,它上面的虚拟机会显示为“失联”或“异常”状态。此时,右键点击这台状态异常的虚拟机,选择〖恢复〗或〖强制运行〗。
配置并启动:在弹出的向导中,指定一个正常且资源充足的CVK节点来运行它,然后点击确认,虚拟机应该就可以正常启动了。
如果方法一失效,可以试试通过共享存储中的配置文件来手动“注册”并找回虚拟机。这个操作需要在正常CVK节点的后台进行。
登录后台:通过SSH登录到集群内一台正常运行的CVK主机的后台操作系统。
找到并注册虚拟机:
先找到故障虚拟机的XML配置文件。它在共享存储的挂载路径下,例如 /vms/共享存储池名称/。
找到对应的 vm_id.xml 文件后,执行以下命令来注册虚拟机:
.xml 文件,可以尝试用 find 命令模糊搜索。在后台执行 find /vms -name "*.xml",看看能否找到名称包含虚拟机ID或名称的配置文件。启动虚拟机:注册成功后,再通过以下命令启动虚拟机:
如果 virsh define 命令执行失败,可能是路径权限问题。这时可以把XML文件拷贝到本地再手动注册:
登录后台并查找文件:SSH登录到正常CVK的后台,找到共享存储中故障虚拟机的XML配置文件,通常位于 /vms/共享存储池名称/ 目录下。
拷贝到本地:将XML文件复制到CVK的本地配置目录:
注册并启动虚拟机:通过 virsh 命令重新定义并启动:
用方法2可以在其它cvk上启动虚拟机, virsh list显示也是running. 但在CVM前台的界面中虚拟机还是在故障不正常的cvk下,并且虚拟机的状态还是未知。
并且在cvk下存储---选共享存储---只看到有qcow2文件,也没有右键功能
XML配置文件在哪里可以找到呢?正常的cvk下存储---选共享存储---只看到有qcow2文件,没有XML文件
并且在cvk下存储---选共享存储---只看到有qcow2文件,也没有右键功能
cvmcli工具查看虚拟机信息:cvmcli listvm --host=故障CVK主机名/IP
cvmcli migrate --vm=虚拟机UUID/名称 --dsthost=正常CVK主机名/IP --force
方法二:右键该 XML 文件,选择 **【注册虚拟机】**。一是在前台cvk中的存储(cvm不挂共享存储)就看不到xml文件(后台可以在 /vms/iscsi6000g/.vm/cvk3/下。二是前台中文件右键功能好像没有
方法二:右键该 XML 文件,选择 **【注册虚拟机】**。一是在前台cvk中的存储(cvm不挂共享存储)就看不到xml文件(后台可以在 /vms/iscsi6000g/.vm/cvk3/下。二是前台中文件右键功能好像没有
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
用方法2可以在其它cvk上启动虚拟机, virsh list显示也是running. 但在CVM前台的界面中虚拟机还是在故障不正常的cvk下,并且虚拟机的状态还是未知。