Disable-SCVMHost

将虚拟机主机置于维护模式。

语法

Disable-SCVMHost
       [-VMHost] <Host>
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]
Disable-SCVMHost
       [-VMHost] <Host>
       [-MoveWithinCluster]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]

说明

Disable-SCVMHost cmdlet 将由 Virtual Machine Manager (VMM) 管理的虚拟机主机置于维护模式,以便你可以在主机上执行维护任务,例如应用安全更新或更换硬件。

可以使用 Disable-SCVMHost cmdlet 将单个 Hyper-V 主机、VMware ESX 主机或 Citrix XenServer 主机置于维护模式。 还可以使用 Disable-SCVMHost 将群集主机置于维护模式。

若要将主机返回到服务,请使用 Enable-SCVMHost cmdlet。

将 Hyper-V 主机置于维护模式

如果主机属于支持实时迁移的群集,可以选择以下任一方法:

方法 1:迁移高可用性虚拟机并保存其他虚拟机。 当 MoveWithinCluster 参数与 Disable-SCVMHost一起使用时,cmdlet 使用实时迁移将所有正在运行的高可用性虚拟机迁移到群集中的其他主机。 它将未高度可用的正在运行的虚拟机置于已保存状态,这会导致用户失去服务。 然后,它将主机置于维护模式。

方法 2:保存所有虚拟机。 Disable-SCVMHost 将所有正在运行的虚拟机置于已保存状态,这会导致用户失去服务。 然后,它将主机置于维护模式。

如果主机不属于群集,或者它属于不支持实时迁移的群集,Disable-SCVMHost 将所有正在运行的虚拟机置于已保存状态,这会导致用户失去服务。 然后,它将主机置于维护模式。

Disable-SCVMHost 如何与 VMWare ESX 主机配合使用

使用 disable-SCVMHost将 ESX 主机置于维护模式时,VMM 会将请求发送到管理该主机的 VMware cCenter Server。 vCenter Server 将 ESX 主机置于维护模式。

注意:ESX 服务器主机上虚拟机的系统行为由 vCenter Server 的配置决定。 例如,如果未配置 VMware 分布式资源计划程序,可能需要手动关闭主机上的所有虚拟机。 或者,可能需要将虚拟机移到另一台主机,才能将 ESX 服务器主机成功置于维护模式。

将 XenServer 主机置于维护模式

如果主机属于支持实时迁移的群集,可以选择以下任一方法:

方法 1:迁移高可用性虚拟机并保存其他虚拟机。 将 MoveWithinCluster 参数与 Disable-SCVMHost一起使用时,cmdlet 使用 XenServer Live Migration 将所有正在运行的高可用性虚拟机迁移到群集中的其他主机。 它还会将所有未高度可用的正在运行的虚拟机置于已保存状态,这会导致用户失去服务。 然后,它将主机置于维护模式。

方法 2:保存所有虚拟机。 Disable-VMHost 将所有正在运行的虚拟机置于已保存状态,这会导致用户失去服务。 然后,它将主机置于维护模式。

如果主机不属于群集,或者它属于不支持实时迁移的群集,Disable-VMHost 将所有正在运行的虚拟机置于已保存状态,这会导致用户失去服务。 然后,它将主机置于维护模式。

维护模式下的主机行为

将主机置于维护模式后,以下操作将受到影响:

  • 无法在主机上创建虚拟机。
  • 无法将虚拟机迁移到主机。
  • 主机排除在虚拟机放置期间执行的主机分级计算之外。
  • 主机状态未更新。

但是,可以执行以下操作:

  • 如果确保主机可用且其代理处于适当状态,请从 VMM 中删除主机。
  • 启动或停止主机上的虚拟机。
  • 更改主机属性。
  • 将虚拟机从主机迁移到另一台主机。

示例

示例 1:将指定的主机置于维护模式并保存所有正在运行的虚拟机

PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost01" 
PS C:\> Disable-SCVMHost -VMHost $VMHost

第一个命令获取名为 VMHost01 的主机对象,并将该对象存储在$VMHost变量中。

第二个命令会将存储在$VMHost的主机上部署的所有正在运行的虚拟机置于已保存状态。 然后将主机状态设置为“在维护模式下”。

示例 2:使用实时迁移迁移在处于维护模式的群集节点上迁移所有正在运行的高可用性虚拟机

PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost02"
PS C:\> Disable-SCVMHost -VMHost $VMHost -MoveWithinCluster

第一个命令获取名为 VMHost02 的主机对象,并将该对象存储在$VMHost变量中。

第二个命令使用实时迁移将存储在$VMHost的主机上的所有运行高可用性虚拟机迁移到群集中的另一个节点。 它将其他正在运行的虚拟机置于已保存状态,然后将主机状态属性的值设置为“在维护模式下”。

参数

-JobVariable

指定在此参数命名的变量中跟踪和存储作业进度。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MoveWithinCluster

指示当前部署在作为主机群集成员的主机上的所有虚拟机都将迁移到同一主机群集中的另一个主机(如果该主机处于维护模式)。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PROTipID

指定触发此操作的性能和资源优化提示(PRO 提示)的 ID。 此参数允许你审核 PRO 提示。

类型:Guid
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunAsynchronously

指示作业以异步方式运行,以便控件立即返回到命令行界面。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMHost

指定虚拟机主机对象。 VMM 支持 Hyper-V 主机、VMware ESX 主机和 Citrix XenServer 主机。

有关每种主机类型的详细信息,请参阅 Add-SCVMHost cmdlet。

类型:Host
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

输出

Host

此 cmdlet 返回 Host 对象。

备注

  • 置于临时维护模式的主机不同于你指定为维护主机的主机。 维护主机是用于虚拟机维护任务的主机,如下所示:
  • 修补存储的虚拟机和模板。
  • 在将虚拟机移动到生产环境之前,暂存脚本化虚拟机创建。