hibernateWindows Azure虚拟机(IAAS)

我是一名开发人员,使用Azure虚拟机作为我的主要开发平台。 为了给公司节省一些钱,我想我可能会在周末closures它,但是经常有很多节目等开放,我希望继续下去。 我试着打开冬眠,以为我可以hibernate,然后通过门户(或脚本)closures,但我得到:

C:\ Windows \ system32> powercfg / hibernate on

hibernate失败,出现以下错误:请求不受支持。

以下项目阻止了此系统的hibernate。 系统固件不支持hibernate。

有没有办法在Azure虚拟机上实现我想要做的事情(保存状态但是closures电源)?

Azure中VM的2种可能的停止状态:

  • 停止(在VM内closures,结算)

  • 停止释放(在​​门户closures,没有账单)

微软正在努力澄清。

http://blogs.technet.com/b/uspartner_ts2team/archive/2014/10/10/azure-virtual-machines-stopping-versus-stopping-deallocating.aspx

http://feedback.azure.com/forums/216843-virtual-machines/suggestions/6272098-stopped-vs-stopped-deallocated

目前不支持hibernate。 你可以启动或停止一个虚拟机,这基本上是Azure中的两个可能的状态。 为了节省资金,您将不得不创build一个自动化(powershell)脚本来closures或根据特定的时间表启动虚拟机,但不会保存您的用户会话。

Azure虚拟机只有两个状态(即启动和停止),但是您可以在虚拟机创build期间通过使用扩展机制来调整。

我们可以按照下面的步骤做这个冬眠。

  1. 创build一个独立的应用程序,这将做以下事情。

    • 阅读你的系统“最近的文件”。
    • 扫描所有正在运行的进程。
    • 现在基于进程名称和最近打开的文件从最近的目录获取它们的绝对path并存储到临时文件中。
    • 确保文件创build应该覆盖旧文件,每次执行。
    • 如果文件存在,那么在启动期间,这个应用程序应该打开所有列出的文件和启动过程。
  2. 现在,将上面创build的可执行文件存储到一些公开访问的存储帐户中。

  3. 写一个电源shell脚本,你可以访问上面提到的存储帐户,它会下载第1步创build的可执行应用程序到该虚拟机,这将继续扫描和读取和存储所有最近打开的应用程序到一个临时文件,并在启动时,它也应该打开。

  4. 为了将该可执行文件下载到相应的虚拟机中,可以在创build虚拟机时使用“扩展”机制来连接Power Shell脚本。

  5. 所以从下次开始,在释放你的虚拟机之后,每当你再次启动这个旧的虚拟机时,它将读取那个临时文件,其中所有文件名和进程名被列出并打开。

这样,你可以实现你的hibernate过程。

希望这些步骤是清楚的,否则发布更新,所以我提供更多的指导。