现象及缘由分析:
因为底层某种操做(多个案例发现都是存储迁移后出现的,且比例不高,约1%)形成虚拟机vmx对应的uuid.bios与citrix数据库中记录的hostedmachineid不一样,从而致使DDC经过citrix host serveris与hypersion通讯查找找不到该虚拟机,因此电源状态为未知, ios
解决:
将vmx中uuid.bios修改为与HostedMachineId一致。
一、经过在DDC中用powershell命令导出此vda的BrokerMachine信息(ps须要先加载citrix模块,加载Citrix powershell modules请自行百度)
#get-brokermachine –machinename <domian>\<hostname>shell
输出的结果,记录HostedMachineId信息: 42122b20-1f82-e574-508c-4e1d7d2e3e47
修改为以下格式:
42 12 2b 20 1f 82 e5 74-50 8c 4e 1d 7d 2e 3e 47数据库
二、在虚拟机所在的存储中找到该虚拟机,以该虚拟机名字命名的,格式为vmx的文件下载(须要关闭此虚拟机才能够下载,下载到本地以后记得先作一份拷贝备份)markdown
三、而后用记事本打开并编辑uuid.bios字段,将其替换为上述hostmachineid的值修改格式,注意格式必定严格保证一致。dom
四、最后将修改好的vmx上传到该虚拟机所在的存储中替换原有的vmx文件,而后到DDC中刷新一下即发现电源状态恢复正常。ide
注:如修改后仍是不行,请先再三检查修改过程是否有误以及上传的是否有误,以后再尝试从新启动全部ddc的citrix hosting service服务加以解决。ui