首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调度VMWare ESXi 4.1VM重新启动

调度VMWare ESXi 4.1VM重新启动
EN

Server Fault用户
提问于 2011-02-25 08:24:42
回答 3查看 8.4K关注 0票数 2

我们在Windows 2003的VMWare服务器主机上运行了一个虚拟机。

这台机器是用非持久化磁盘安装的。

我们设置了一个windows任务计划,它运行一个批处理文件来每周重置机器,使其恢复到原来的状态。

我们运行的批处理文件是:

代码语言:javascript
复制
"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的免费版本。

有谁能让我知道是否以及如何能够安排这样的重新启动?

EN

回答 3

Server Fault用户

发布于 2011-02-25 08:38:09

  • 启用ssh对ESXi的访问
  • 将cron作业添加到根crontab(/var/spool/cron/crontab/ root )

您可以使用vmware-cmd启动、重新引导、停止和挂起虚拟机:

代码语言:javascript
复制
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
票数 4
EN

Server Fault用户

发布于 2011-02-25 09:01:21

如果您还没有这样做,则需要在您的启用ssh访问主机上进行ESXi。

完成之后,您就可以将vmware-cmd命令放入脚本中,并从cron运行它们。

代码语言:javascript
复制
#!/bin/bash
/usr/bin/vmware-cmd "Centos 5" stop hard
sleep 30
/usr/bin/vmware-cmd "Centos 5" start

将停止,然后在当前主机上启动机器"Centos 5“。

把这个放在根crontab中

代码语言:javascript
复制
30 1 * * 0 /path/to/restart-script

你应该可以走了。

编辑:

正如chopper3注意到的,crontab在重新引导时并不是持久的,所以您需要编辑/etc/local文件并添加命令来重新创建根crontab。

代码语言:javascript
复制
/bin/kill $(cat /var/run/crond.pid)
/bin/echo "30 1 * * 0 /path/to/restart-script" >>/var/spool/cron/crontabs/root
/bin/busybox crond
票数 2
EN

Server Fault用户

发布于 2011-02-25 15:07:14

您也可以在虚拟机本身内安排重新启动吗?无论是Linux还是Windows,您都应该能够在来宾内部使用cron或Task Scheduler来执行预定的重新引导。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/240123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档