我们在Windows 2003的VMWare服务器主机上运行了一个虚拟机。
这台机器是用非持久化磁盘安装的。
我们设置了一个windows任务计划,它运行一个批处理文件来每周重置机器,使其恢复到原来的状态。
我们运行的批处理文件是:
"C:\Program Files\VMware\VMware Server\vmware-cmd" "C:\Virtual Machines\VirtualMachineName\VirtualMachineName.vmx" stop hard
"C:\Program Files\VMware\VMware Server\vmware-cmd" "C:\Virtual Machines\VirtualMachineName\VirtualMachineName1.vmx" start此后,我们将这台机器迁移到ESXi 4.1的免费版本。
有谁能让我知道是否以及如何能够安排这样的重新启动?
发布于 2011-02-25 08:38:09
您可以使用vmware-cmd启动、重新引导、停止和挂起虚拟机:
vmware-cmd -H <vc_system> -U <user> -P <password> --vihost <esx_host>
/vmfs/volumes/Storage2/testvm/testvm.vmx stop soft
vmware-cmd -H <vc_system> -U <user> -P <password> --vihost <esx_host>
/vmfs/volumes/Storage2/testvm/testvm.vmx start soft发布于 2011-02-25 09:01:21
如果您还没有这样做,则需要在您的启用ssh访问主机上进行ESXi。
完成之后,您就可以将vmware-cmd命令放入脚本中,并从cron运行它们。
#!/bin/bash
/usr/bin/vmware-cmd "Centos 5" stop hard
sleep 30
/usr/bin/vmware-cmd "Centos 5" start将停止,然后在当前主机上启动机器"Centos 5“。
把这个放在根crontab中
30 1 * * 0 /path/to/restart-script你应该可以走了。
编辑:
正如chopper3注意到的,crontab在重新引导时并不是持久的,所以您需要编辑/etc/local文件并添加命令来重新创建根crontab。
/bin/kill $(cat /var/run/crond.pid)
/bin/echo "30 1 * * 0 /path/to/restart-script" >>/var/spool/cron/crontabs/root
/bin/busybox crond发布于 2011-02-25 15:07:14
您也可以在虚拟机本身内安排重新启动吗?无论是Linux还是Windows,您都应该能够在来宾内部使用cron或Task Scheduler来执行预定的重新引导。
https://serverfault.com/questions/240123
复制相似问题