Windows Azure中虚拟机无法启动, 报错RoleStateUnknown的解决方案
经过与Azure工作人员的沟通, 证实笔者自己遇到的这个错误系Windows Azure平台自身的小问题导致的. 应该以后不会再有人像笔者这么衰, 正巧赶上这个难得发生的问题出现时候重启了虚拟机.
按照参考资料中给出的步骤, 笔者成功地解决了这个问题. 这里列出的解决方案如原文所说是一个workaround. 但当你遇到虚拟机莫名其妙的状态的时候, 这的确是一种可以尝试的方法. 该方法很安全, 不会删除掉你的虚拟机. 实质上说, 虚拟机被删除了之后, 又重新进行了部署. 但结果看起来就像虚拟机重启了一样.
错误描述
首先, 请参考纠正<<开始使用Windows Azure PowerShell>>文档中的一个小错误中描述的步骤, 开启PowerShell, 并使之能够运行命令来操纵Windows Azure.
然后, 运行命令Get-AzureService, 来得到你正在使用的Service的名字. 这里的名字也就是下图中模糊的高亮的部分.
之后, 依次运行如下的命令:
Export-AzureVM
Remove-AzureVM
Import-AzureVM
问题成功解决, 虚拟机启动了.
注意, 这种方式使用之后, 虚拟机的IP会产生变化. 所以, 您也许需要在DNS中对IP和机器名的映射进行修改.
而原来的DNS中的配置却还没有变化, 应该修改为10.4.2.8.
参考资料
==========================
Machine cannot restart due to RoleStateUnknown