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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MoveWithinCluster

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

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

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMHost

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

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

Type:Host
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

输出

Host

此 cmdlet 返回 Host 对象。

备注

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