问题1: externalnId号 虚拟机突然出现很多externaln +vmid 的虚拟机,这样的vm无法开机或者删除。 需删除 主机上对应的 id.recovery 文件,重启vdsm即可。 问题2 :对于ovirt中的 虚拟机在界面上出现 异常,显示 ?的 状态。分析engine的代码 ? 对应平台的三种状态: case NotResponding: case Unknown: case Unassigned: return getApplicationResources().vmStatusUnknown(); 依次分析: 1) NotResponding 一般为一个主机上的个别虚拟机出现异常 是调用完相应的vds command之后 ,如 GetVmStatsVDS ChangeDiskVDS PauseVDSC 等命令,返回值中携带vm的详细信息。而后会 更新 vm的dynamic数据VdsBrokerObjectsBuilder.buildVMDynamicData(mVmReturn.mVm),而当返回的xml中携带monitorResponse 的值 小于0,则会将该vm 置为notResponding 。 2)Unknown 一般为主机异常断电,平台与主机的网络出现异常时的情况 VdsNotRespondingTreatmentCommand 会将出现问题的vds上的 vm设置为unknow 而一般出现这种情况的是 调用主机上rpc接口,rpc调用出现 异常,通常为网络问题。抛出VDSNetworkException vdsManager.handleNetworkException((VDSNetworkException) callException, _vds); 3) 第三种就是返回了平台没有定义的状态 解决方案 对应第一种,只需登陆vm所在主机,kill vm所对应的进程 即可。 virsh -c qemu+tls://ip/system list -all destory id即可 或者直接 kill -s 9 pid 即可。 而第二种就需检查网络的状态,而后主机自身的状态。 (责任编辑:IT) |