Share via


Disable-SCVMHost

將虛擬機器主機置於維護模式。

Syntax

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

Description

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 Server 主機上虛擬機器的系統行為取決於 vCenter Server 的設定。 例如,如果未設定 VMware 分散式資源排程器,您可能必須手動關閉主機上的所有虛擬機器。 或者,您可能必須將虛擬機器移至另一部主機,才能成功將 ESX 伺服器主機置於維護模式。

將 XenServer 主機放入維護模式

如果主機屬於支援即時移轉的叢集,您可以選擇下列其中一種方法:

方法 1:移轉高可用性虛擬機器,並儲存其他虛擬機器。 當 MoveWithinCluster 參數搭配 Disable-SCVMHost使用時,Cmdlet 會使用 XenServer 即時移轉,將所有執行中的高可用性虛擬機器移轉至叢集中的其他主機。 它也會將所有未高度可用的執行中虛擬機器放入已儲存狀態,這會導致使用者失去服務。 然後,它會讓主機進入維護模式。

方法 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 提示 (PRO 提示的識別碼) 。 此參數可讓您稽核 PRO 秘訣。

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

-RunAsynchronously

表示作業會以非同步方式執行,讓控制項立即返回命令殼層。

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 物件。

備註

  • 您放入暫存維護模式的主機與您指定為維護主機的主機不同。 維護主機是您針對虛擬機器維護工作所指定的主機,如下所示:
  • 修補已儲存的虛擬機器和範本。
  • 將虛擬機器移至生產環境之前,先建立腳本化虛擬機器。