在 VMM 中建立和管理高可用性虛擬機器

適用於: Virtual Machine Manager 2008, Virtual Machine Manager 2008 R2, Virtual Machine Manager 2008 R2 SP1

「高可用性虛擬機器」 也稱為 HAVM,可以輕易移轉至容錯移轉叢集中的不同虛擬機器主機,以便在目前的主機需要維護時,繼續提供服務。如果目前的主機故障,HAVM 會透過名為 「容錯移轉」 的程序,自動移轉至叢集中的不同主機。

System Center Virtual Machine Manager (VMM) 2008 支援部署在 Windows Server 2008 容錯移轉叢集的 HAVM。System Center Virtual Machine Manager (VMM) 2008 支援部署在 Windows Server 2008 容錯移轉叢集的 HAVM。本主題說明如何建立、設定、移轉和移除 VMM 中的 HAVM。如需設定和管理其部署所在主機叢集的詳細資訊,請參閱在 VMM 中設定主機叢集以支援高可用性虛擬機器

注意

本主題的重點在於高可用性 Hyper-V 虛擬機器。如需部署到 VMM 所管理 VMware ESX Server 主機的高可用性虛擬機器的詳細資訊,請參閱管理 VMM 中的 VMware Infrastructure

設定高可用性虛擬機器

如果您將虛擬機器設定為高可用性虛擬機器,VMM 會將該虛擬機器放置在主機叢集中最適合的主機。若要將虛擬機器設定為高可用性,請在新增虛擬機器精靈的 [設定硬體] 頁面上,從進階設定顯示 [可用性] 設定,然後選取 [讓此 VM 成為高可用性]。

您也可以在放置期間將虛擬機器設定為高可用性。如果您沒有將虛擬機器設定為高可用性,則放置期間將可使用所有適合的主機 (包括叢集主機)。如果您為虛擬機器選擇叢集主機,系統會詢問您是否要讓該虛擬機器成為高可用性。如果您按一下 [是],該虛擬機器就會部署到叢集主機並成為高可用性。

Virtual Machine Manager 只會將高可用性虛擬機器放置於叢集主機,而且只會將非高可用性虛擬機器放置於獨立主機。雖然您可以在叢集主機建立非 HAVM,但 VMM 並不允許這麼做。如果這些虛擬機器是在 VMM 以外建立的,那麼系統會將它們匯入並視為非 HAVM,就如同獨立主機上的虛擬機器一樣。

注意

如需建立虛擬機器的一般資訊,請參閱建立新的虛擬機器 (https://go.microsoft.com/fwlink/?LinkID=162793)。

設定磁碟

您必須在 VMM 的外部設定、新增或移除用於 HAVM 的叢集磁碟。在您對磁碟進行外部變更之後,請重新整理 VMM 中的主機叢集,以更新磁碟組態。

VMM 2008 R2 支援 Windows Server 2008 R2 的叢集共用磁碟區 (CSV) 功能。CSV 可讓多部高可用性虛擬機器共用相同的 LUN,但仍可獨立移轉而不會影響共用相同 LUN 的其他 HAVM。由於 HAVM 可從另外的節點存取磁碟,CSV 也可加速叢集內虛擬機器的移轉,因為不需要解下再掛上磁碟。

與 VMM 2008 R2 不同,VMM 2008 並不支援 CSV。VMM 2008 只支援每個 LUN 一個高可用性虛擬機器。這項必要條件能夠確保 HAVM 可以移轉到不同主機,而不會影響其他 HAVM 的可用性。

若客戶要移轉至 VMM 2008 R2 並想將現有虛擬機器合併到 CSV LUN,可以使用新的存放裝置快速移轉功能,將執行中虛擬機器的存放裝置移轉至不同主機或同一主機上的不同位置,將停機時間縮至最短且不會遺失狀態。請在 VMM 系統管理員主控台的 [虛擬機器] 檢視中,使用 [移轉存放裝置] 動作。如需詳細資訊,請參閱如何移轉虛擬機器檔案的存放裝置。在受管理的 VMware 基礎結構內,VMM 將使用 VMware Storage VMotion (若有)。

VMM 支援具有或不具有磁碟機代號的叢集磁碟。針對 8 節點或 16 節點叢集,指派給 HAVM 所用磁碟的磁碟機代號 (介於 A–Z ) 很容易就不敷使用。為解決這個問題,VMM 支援使用以磁碟區 GUID 路徑 (格式為 \\?\GUID\<VMname>) 來代替磁碟機代號的磁碟。如需在 Hyper-V 主機上建立這些磁碟區的詳細資訊,請參閱 Configuring Storage Using Volume GUIDs in Hyper-V (在 Hyper-V 中使用磁碟區 GUID 設定存放裝置) (https://go.microsoft.com/fwlink/?LinkId=182591)。

共用非 CSV LUN 的 HAVM 在匯入到 VMM 時,狀態會變成「未支援的叢集設定」。為解決這個問題,請使用「容錯移轉叢集管理員」重新設定虛擬機器,讓它們有自己的 LUN。接著,在 VMM 系統管理員主控台中,使用 [修復] 動作以及 [略過] 選項,重新整理每部虛擬機器在 VMM 中的狀態。

在 VMM 2008 R2 中,當您使用 SAN 轉移將虛擬機器從獨立主機移轉至叢集時,VMM 會檢查叢集內的所有節點以確保每個節點均可查看 LUN,並可自動針對 LUN 建立叢集磁碟資源。儘管 VMM 會自動設定叢集磁碟資源,但是不會進行驗證。您必須使用「容錯移轉叢集管理」中的「驗證組態精靈」來驗證新建立的叢集磁碟資源。若要將虛擬機器移出叢集並移轉至獨立主機,虛擬機器必須位於不使用 CSV 的專用 LUN 中。

針對高可用性虛擬機器變成「未支援的叢集設定」狀態進行疑難排解

若要檢視 HAVM 變成「未支援的叢集設定」狀態的原因,請顯示 [虛擬機器內容] 對話方塊的 [硬體組態] 索引標籤。接著,在 [進階] 設定中,按一下 [可用性]。如果虛擬機器處於「未支援的叢集設定」狀態,[詳細資料] 區域即會顯示讓虛擬機器變成該狀態的錯誤。

可能導致「未支援的叢集設定」狀態的情況如下:

  • 虛擬機器所在的非 CSV LUN 包含一部以上的虛擬機器。

    如果您已設定 Hyper-V 中的高可用性虛擬機器共用相同的 LUN,而且這個 LUN 不在叢集檔案系統 (CSV) 磁碟區上,就必須更新「容錯移轉叢集管理」和 Hyper-V 中的虛擬機器組態,讓每部虛擬機器都位於自己未共用的 LUN。

  • 虛擬機器使用非叢集的存放裝置。

    如果 HAVM 儲存在系統磁碟機 C:或是任何非叢集磁碟,虛擬機器會變成「未支援的叢集設定」狀態。若要解決這個問題,請確定屬於虛擬機器的所有檔案和傳遞磁碟都位於叢集磁碟。

  • 虛擬機器的一或多張虛擬網路介面卡未連線到通用虛擬網路。

    如果主機叢集中所有主機的虛擬網路沒有相同的設定,連線到這種虛擬網路的高可用性虛擬機器在移轉或容錯移轉至其他叢集節點時,可能會中斷連線。具有相同設定的虛擬網路稱為「通用虛擬網路」。若要查看主機叢集的通用虛擬網路,請在 VMM 系統管理員主控台中,檢視主機叢集內容的 [網路] 索引標籤。若要在主機設定虛擬網路,請使用主機內容的 [網路功能] 索引標籤。如需設定虛擬網路的詳細資訊,請參閱如何新增或修改主機的虛擬網路 (https://go.microsoft.com/fwlink/?LinkID=163453)。

    要讓 VMM 視為通用虛擬網路,而且可供主機叢集的高可用性虛擬機器使用,主機叢集中的每個虛擬網路都必須符合下列需求:

    • 叢集中每部主機的虛擬網路名稱都必須相同。在 VMM 2008 中,只有網路名稱中的所有字母大小寫全部相符時,虛擬網路才會被辨識為通用虛擬網路。VMM 2008 R2 已移除此限制。辨識通用虛擬網路時,VMM 2008 R2 不會評估網路名稱字母的大小寫。

    • 虛擬網路在叢集中的每個主機上連接的主機網路介面卡必須具有相同的位置。

    • 虛擬網路在叢集中的每個主機上必須有相同的標籤。

    更新所有節點的虛擬網路組態之後,請重新整理叢集,以確定每個虛擬網路都偵測為通用。接著檢查主機叢集內容的 [網路] 索引標籤,確認網路已新增到索引標籤中。

  • 在 VMM 2008 中,除了虛擬機器、虛擬機器組態和實體磁碟等資源之外,Windows Server 2008 容錯移轉叢集中 Hyper-V 虛擬機器的資源群組還包含其他資源。

    這些額外的資源通常是協力廠商資源,用來提供在多網站叢集內複寫存放裝置之類的功能。如果是受 VMM 管理的 Hyper-V 虛擬機器,Windows Server 2008 容錯移轉叢集中的虛擬機器資源群組只能包含虛擬機器、虛擬機器組態和實體磁碟等資源。

    若要解決這個問題,請安裝 System Center Virtual Machine Manager 2008 更新 (KB961983) (https://go.microsoft.com/fwlink/?LinkId=182647)。如需更新的描述,請參閱知識庫文章 961983:System Center Virtual Machine Manager 2008 Hotfix 彙總套件描述:2009 年 4 月 14 日 (https://go.microsoft.com/fwlink/?LinkId=182648) (機器翻譯文章)。

  • 在 VMM 2008 中,ISO 映像已連接至高可用性虛擬機器。VMV 2008 R2 已解決此問題。

    此 ISO 映像通常為 c:\windows\system32\vmguest.iso。若要解決這個問題,請使用 Hyper-V 管理員移除 ISO 映像。接著在 VMM 中,使用 [修復] 動作重新整理虛擬機器。以滑鼠右鍵按一下虛擬機器,然後按一下 [修復],再按一下 [略過]。

  • 連線至 VMware HAVM 的通訊埠群組不存在於主機叢集的所有節點中。

    在 VMM 管理的主機叢集中,每個通訊埠群組都必須在叢集的所有 ESX Server 主機設定。如果虛擬機器所設定的通訊埠群組不是所有主機通用的,虛擬機器就會變成「未支援的叢集設定」狀態。

管理高可用性虛擬機器的存放裝置

虛擬機器的所有檔案和傳遞磁碟都必須位於叢集磁碟。如需為 Hyper-V 容錯移轉叢集設定存放裝置的詳細資訊,請參閱將存放裝置新增至容錯移轉叢集 (https://go.microsoft.com/fwlink/?LinkId=128068)。

在 VMM 2008 R2 中,當您使用 SAN 轉移將 HAVM 從獨立主機移轉至主機叢集時,VMM 會檢查叢集內的所有節點以確保每個節點均可查看 LUN,並可自動針對 LUN 建立叢集磁碟資源。儘管 VMM 會自動設定叢集磁碟資源,但是不會進行驗證。您必須使用「容錯移轉叢集管理」中的「驗證組態精靈」來驗證新建立的叢集磁碟資源。

若客戶要移轉 VMM 2008 R2 並想將現有虛擬機器合併到單一叢集共用磁碟區 (CSV) LUN,可以使用新的存放裝置快速移轉功能,將執行中虛擬機器的存放裝置移轉至不同主機或同一主機上的不同位置,將停機時間縮至最短且不會遺失狀態。請在 VMM 系統管理員主控台的 [虛擬機器] 檢視中,使用 [移轉存放裝置] 動作。如需詳細資訊,請參閱如何移轉虛擬機器檔案的存放裝置。在受管理的 VMware 基礎結構內,VMM 將使用 VMware Storage VMotion (若有)。

在 VMM 2008 R2 中,如果虛擬機器具有連接 SAN 的磁碟,而且目的主機或程式庫伺服器可以存取 SAN 傳遞磁碟,便可利用 SAN 轉移將虛擬機器移轉至獨立主機或存放在程式庫中。不過,如果傳遞磁碟是本機磁碟或無法供目的主機或程式庫伺服器存取,您就必須將傳遞磁碟轉換成虛擬硬碟 (.vhd 檔案)。在 VMM 2008 中,您必須先轉換所有傳遞磁碟,才能將 HAVM 移至程式庫伺服器或獨立主機。若要將傳遞磁碟轉換成虛擬硬碟,請在虛擬機器內容的 [硬體組態] 索引標籤更新磁碟組態。

如需 VMM 2008 R2 所管理 Hyper-V 主機叢集之存放選項的詳細資訊,請參閱在 VMM 中設定主機叢集以支援高可用性虛擬機器。如需 VMM 之特定 SAN 組態需求的詳細資訊,請參閱設定 VMM 的 SAN 環境。如需 Windows Server 2008 中容錯移轉叢集之存放裝㱮㜀䘀㸀需求的一般資訊,請參閱將存放裝置新增至容錯移轉叢集 (https://go.microsoft.com/fwlink/?LinkId=128068)。

移轉高可用性虛擬機器

本節說明 VMM 如何在高可用性虛擬機器處理放置以及執行移轉。

即時移轉與快速移轉的比較

VMM 2008 R2 支援在使用 Windows Server 2008 R2 建立的主機叢集中即時移轉虛擬機器,以及在使用 Windows Server 2008 或 Windows Server 2008 R2 建立的主機叢集中快速移轉虛擬機器。透過 Hyper-V 即時移轉,您可將正在執行的虛擬機器從某一部 Hyper-V 叢集主機移到另一部主機,不會干擾服務,也不會感受到服務中斷。使用 Hyper-V 快速移轉將正在執行的虛擬機器從某一部 Hyper-V 叢集主機移到另一部主機時,服務將會短暫中斷,但狀態並不會遺失。VMM 2008 支援在 Windows Server 2008 容錯移轉叢集中快速移轉虛擬機器。

注意

如果您要在 Windows Server 2008 R2 主機叢集中執行虛擬機器快速移轉,就算即時移轉可以使用,也請您在 Windows PowerShell – Virtual Machine Manager 命令殼層中使用 Move-VM 指令程式搭配 –UseCluster 參數。

VMM 2008 支援在 Windows Server 2008 容錯移轉叢集中快速移轉虛擬機器。

如果您使用 VMM 2008 或 VMM 2008 R2 來管理實作 VMware VMotion 的 VMware Infrastructure 3 (VI3) 環境,則可支援在相同資料中心內的 ESX Server 主機叢集間即時移轉虛擬機器。

為了避免移轉失敗,在以 Windows Server 2008 R2 容錯移轉叢集做為目標的虛擬機器放置期間,VMM 2008 R2 會在移轉虛擬機器之前先執行主機相容性檢查,以確保目的主機擁有與來源主機相容的硬體 (例如 CPU 型號)。VMM 是使用 Windows Server 2008 R2 中的 Hyper-V 相容性檢查 API 來執行這項相容性檢查。在將 VMware 虛擬機器移轉至 VMware 主機叢集時,VMM 2008 R2 也會利用 VMware 提供的 API 來執行主機相容性檢查。

HAVM 放置與「過度認可」狀態

在放置高可用性虛擬機器時,VMM 的放置程序會進行計算,根據為 VMM 中的主機叢集設定的叢集保留,看看將新的虛擬機器新增至主機叢集,是否會造成叢集過度認可。「叢集保留」指定在支援目前部署到叢集主機的所有虛擬機器的情況下,叢集必須能夠承受的節點失敗數。如果主機叢集無法在承受指定的節點失敗數的同時,仍然讓所有虛擬機器繼續執行,叢集就會變成「過度認可」狀態,而主機將無法用於放置。系統管理員可以覆寫此行為,在手動放置期間,將 HAVM 放置於過度認可叢集的主機。叢集保留是 VMM 特有的功能。

例如,如果您為具有 8 個節點的叢集指定的節點失敗保留為 2,則會以下列的方法套用該規則:

  • 若叢集的 8 個節點皆運作中,則若叢集中的任意 6 個節點組合 (8-2) 的容量無法配合現有的虛擬機器,則主機叢集會標示為過度認可。

  • 如果叢集中僅有 5 個節點在運作中,則若叢集中的任意 3 個節點組合 (5-2) 的容量無法配合現有的虛擬機器,則主機叢集會標示為過度認可。

每次發生下列事件之後,VMM 的叢集重新整理程式就會更新主機叢集的「過度認可」狀態:

  • 叢集保留值變更

  • 主機叢集中節點的失敗或移除

  • 新增主機叢集節點

  • 在主機叢集的節點中發現新的虛擬機器

您可以在主機叢集內容的 [一般] 索引標籤設定叢集保留。如需相關程序,請參閱如何檢視以及修改主機叢集的內容 (https://go.microsoft.com/fwlink/?LinkID=162986)。

預期與非預期停機的比較

高可用性虛擬機器移轉時的情況,會決定虛擬機器的服務可用性所受的影響。VMM 可以藉由快速移轉或即時移轉 HAVM 來處理預期停機的狀況。針對非預期停機,則由叢集服務接手。

  • 預期停機 — 當您移轉 HAVM 來進行預定的維護作業 (例如修補 Windows Server 2008 R2 容錯移轉叢集中的主機) 時,便會執行即時移轉。透過 Hyper-V 即時移轉,您可將正在執行的 VM 從某一部 Hyper-V 叢集主機移到另一部主機,不會干擾服務,也不會感受到服務中斷。因為虛擬機器不停機,所以與該虛擬機器連線的使用者可以完全掌握移動的過程。

    當您移轉 Windows Server 2008 中的虛擬機器時,VMM 會執行「快速移轉」,在這期間,服務會短暫中斷,而存放虛擬機器的 LUN 也會開放給主機叢集的不同節點。虛擬機器的狀態 (例如,「記事本」有尚未儲存的內容) 在快速移轉期間不會遺失。

  • 非預期停機—當虛擬機器因為意外事件而容錯移轉至不同的叢集節點時,例如硬體故障或作業系統失敗造成主機失敗,其影響與關閉虛擬主機類似。虛擬機器狀態會因為虛擬機器關閉而遺失,接著叢集服務會在叢集的新節點啟動虛擬機器。

在 VMM 2008 R2 中將叢集主機置於維護模式

在 VMM 2008 R2 中,您可以將主機置於維護模式,而這種模式可以在執行預定的維護工作之前,將虛擬機器即時移轉至不同的主機,或是將所有的虛擬機器放置在處於儲存狀態的主機。

當您在叢集主機上啟動維護模式時,可以指定下列其中一個選項:

  • 如果 Windows Server 2008 R2 主機叢集中的所有虛擬機器都具有高可用性,請使用即時移轉將所有的虛擬機器遷移到相同叢集中的其他主機。如果主機中有任何虛擬機器發生移轉失敗,則不會啟動該主機的維護模式,且 VMM 不會將已移轉的虛擬機器移轉回主機。

  • 在包含非高可用性虛擬機器的 Windows Server 2008 主機叢集或 Windows Server 2008 R2 叢集上,將主機上的所有虛擬機器置於儲存狀態。

當您在主機上啟動維護模式時,VMM 會執行下列動作:

  • 封鎖主機上所有類型的虛擬機器建立作業。

  • 在放置虛擬機器時,將主機從主機分級中排除,並防止虛擬機器部署並移轉到主機。

  • 在 VMM 系統管理員主控台的 [主機] 檢視中顯示 [在維護模式] 的主機狀態。

當您在主機上停止維護模式時,VMM 會允許繼續執行主機上的虛擬機器建立作業、在放置期間將主機納入主機分級,以及在 VMM 系統管理員主控台的 [主機] 檢視中將主機狀態顯示為 [確定]。不過,VMM 不會執行下列動作:

  • 自動執行即時移轉,將從 Windows Server 2008 R2 主機叢集中主機遷移的 HAVM 移回原始主機。

  • 重新啟動位於主機而且已在維護模式啟動時置於儲存狀態的虛擬機器。

若要啟動或停止維護模式,請在 [主機] 檢視中的主機上按一下滑鼠右鍵,然後再按一下適當的命令。

將 HAVM 移出主機叢集

在 VMM 2008 R2 中,如果 HAVM 沒有與其他虛擬機器共用 LUN,您就可以使用 SAN 轉移,將 HAVM 從主機叢集移轉到獨立主機。VMM 2008 不支援移出主機叢集的 SAN 轉移,即使虛擬機器所在的 CSV LUN 並未與其他任何虛擬機器共用也一樣。

在 VMM 2008 R2 中,如果傳遞磁碟已連接 SAN,而且可供目的主機或程式庫伺服器進行存取,您就可以使用 SAN 轉移來移轉或存放具有傳遞磁碟的虛擬機器。如果傳遞磁碟是本機磁碟,或者目的主機或程式庫伺服器無法存取連接 SAN 的磁碟,則必須將傳遞磁碟轉換成虛擬硬碟,而且必須透過 LAN 傳輸檔案。在 VMM 2008 中,您必須先轉換所有傳遞磁碟,才能將 HAVM 移至程式庫伺服器或獨立主機。

從 VMM 刪除虛擬機器

當您從 VMM 刪除高可用性虛擬機器時,VMM 會刪除組態檔並清除連接至虛擬機器的叢集資源。

另請參閱

概念

在 VMM 中設定主機叢集以支援高可用性虛擬機器
管理 VMM 中的 VMware Infrastructure

其他資源

高可用性規劃
在 VMM 中建立虛擬機器