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