自动执行在 VMware ESX\ESXi 上启动和停止虚拟机的过程
search cancel

自动执行在 VMware ESX\ESXi 上启动和停止虚拟机的过程

book

Article ID: 344641

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

免责声明:本文为 Automating the process of starting and stopping virtual machines on VMware ESX\ESXi (850) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。



本文介绍了如何将虚拟机配置为在打开和关闭 ESX Server 主机时自动启动和停止。这些设置在每台主机上设定。如果通过 vMotion 将虚拟机迁离主机,这些设置不会保留。


Environment

VMware ESX Server 2.5.x
VMware ESX Server 2.0.x
VMware ESX Server 3.5.x
VMware vSphere ESXi 5.1
VMware ESXi 4.0.x Installable
VMware vSphere ESXi 5.0
VMware vSphere ESXi 5.5
VMware vSphere ESXi 6.0
VMware ESXi 4.0.x Embedded
VMware ESXi 3.5.x Installable
VMware ESXi 4.1.x Embedded
VMware ESXi 3.5.x Embedded
VMware ESX Server 1.x
VMware ESXi 4.1.x Installable
VMware ESX 4.1.x
VMware ESX Server 1.5.x
VMware ESX Server 3.0.x
VMware ESX Server 2.1.x
VMware ESX 4.0.x

Resolution

ESX 4.x、ESXi 5.x 和 6.0
VMware vCenter Server 4.x、5.x 和 6.0 支持配置启动顺序。要配置这些启动选项,请执行以下操作:

注意:对于驻留在位于(或移到)启用了 VMware HA 的群集中的主机上的所有虚拟机,已禁用虚拟机启动和关机(自动启动)功能。虚拟机已启用 HA 时,不支持自动启动。因此,自 vCenter Server 5.0 Update 1 起,尽管此时启用此功能不起作用,允许虚拟机与系统一起自动启动和停止仍可用。

  1. 访问这些设置:
    1. 聚焦到 vCenter 中的主机。
    2. 单击配置选项卡。
    3. 选择软件下的虚拟机启动/关机
    4. 单击窗口右上角的属性

  2. 选择需要的选项:
    1. 为了能够配置任意选项,请启用允许虚拟机与系统一起自动启动和停止
    2. 输入默认启动延迟值,以便在引导过程完成后将启动活动延迟一段时间。

      注意:如果收到以下错误,则可能需要关闭虚拟机才能应用此设置:

      在当前状态 (打开电源) 下无法执行尝试的操作 (The attempted operation cannot be performed in the current state (Powered on))

    3. 输入默认关机延迟值,以便将关机活动延迟一段时间。选择要执行的关机操作

      • 关闭客户机,用于正常关闭客户机。这要求客户机中安装了更新版本的 VMware Tools。
      • 关机,突然断开虚拟机的电源,例如,拔下物理机的电源线。
      • 挂起,届时暂停虚拟机片刻,类似于使虚拟机休眠。

    4. 要按特定顺序启动虚拟机,请配置三个 Startup Order(启动顺序)类别:

      • 自动:此类别允许您选择顺序,可以将虚拟机移到此类别,然后按顺序排列。
      • 任意顺序:在此类别,虚拟机按主机随意排列的顺序启动(几乎是随机的)。
      • 手动:在此默认类别,虚拟机不会自动重新启动。必须手动打开。
  3. 完成后单击确定
VMware ESX 3.0 和 3.5

可以使用 VMware Infrastructure 或 vSphere Client 管理启动和关机选项。

要管理虚拟机启动和关机选项,请执行以下操作:

  1. 登录 Client 并从清单中选择一台 ESX 主机。
  2. 单击配置选项卡。
  3. 在“Virtual Machine Startup/Shutdown (虚拟机启动/关机)”下,根据需要配置虚拟机启动选项。
对 ESX Server 2.1 和 2.5 使用 vmware-cmd

自 ESX Server 2.1 起,管理界面提供了启动和停止虚拟机的选项。还去掉了vmstartstop.pl 脚本,该脚本提供的功能已合并到 vmware-cmd 中。

有关详细信息,请参见《ESX Server 2.5 管理指南》中的 Setting Startup and Shutdown Options for a Virtual Machine

《VMware 脚本 API 用户手册》讨论了vmware-cmd 命令语法。有关详细信息,请参见 Scripting API Developer Documentation

对 ESX Server 2.0.1 和更早版本使用 vmstartstop.pl

要自动启动虚拟机,请将以下某个配置选项添加到虚拟机的配置文件(.cfg.vmx)中:

  • autostart = true
  • autostart = poweron
  • autostart = resume

    注意
    • truepoweron设置的作用相同。
    • 如果挂起了虚拟机并想要自动恢复,则可使用resume设置。

vmware init 脚本调用 /usr/sbin/vmstartstop.pl 脚本。此脚本查找 vm-list 中列出的在配置文件中包含上述某个选项的虚拟机。

如果还要自动关闭或挂起虚拟机,可将以下某个配置选项添加到虚拟机的配置文件中:

  • autostop = suspend
  • autostop = poweroff

要错开虚拟机的启动,请将以下选项添加到每个虚拟机的配置文件中:

autostart.delay = n

其中,n是 ESX 主机在打开此虚拟机后、继续打开下一个虚拟机之前等待的秒数。

示例:如果添加了选项 autostart delay = 60,ESX 将在启动此虚拟机后、启动下一个虚拟机之前等待一分钟。

这同样适用于自动停止虚拟机。使用以下配置选项:

autostop.delay = n

注意:

  • 可设置的停止每个虚拟机之间的最大延迟时间为两分钟(120 秒)。
  • stop 脚本最多可循环五分钟,直到所有虚拟机都已停止。
  • 这些信息记录在 /usr/sbin/vmstartstop.pl 文件的注释中。


Additional Information

Automating the process of starting and stopping virtual machines on VMware ESX\ESXi