虛擬環境中的容量管理與高可用性 (SharePoint Server 2010)

 

上次修改主題的時間: 2016-11-30

本文提供有關主控 Microsoft SharePoint Server 2010 的虛擬環境之容量管理及高可用性的資訊。之所以將這兩個概念併入本文,一則因為容量及大小是對開發虛擬化計劃及虛擬環境架構而言非常重要的組件,一則因為在虛擬環境中,容量管理與高可用性息息相關。若是虛擬主機,容量不足可能會阻礙伺服器陣列層級及主機層級的高可用性。

虛擬主機的其他方面亦然,例如備份及復原,容量管理及高可用性必須配合虛擬環境的兩層,分別是用於 SharePoint Server 2010 的虛擬機器,以及用於主控虛擬機器的實體伺服器。若是混合環境,您也必須處理實體 Microsoft SharePoint Server 伺服器陣列中的伺服器。

本文內容:

虛擬化概觀

由 Windows Server 2008 Hyper-V 技術或 Microsoft Hyper-V Server 2008 實作的伺服器虛擬化是硬體式虛擬化 (亦稱為硬體輔助虛擬化),不同於軟體式虛擬化。Hyper-V Hypervisor 與實體伺服器硬體元件的通訊路徑及互動,較軟體式虛擬化技術更為直接。所得到的結果效能更勝於軟體式虛擬化技術。如需 Hyper-V 架構的詳細資訊,請參閱 Windows Server 2008 中的 Hyper-V 簡介 (https://go.microsoft.com/fwlink/?linkid=188006&clcid=0x404) 及監視 Hyper-V 效能(可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=187746&clcid=0x404)(可能為英文網頁)。

雖然實體伺服器可能符合 Hyper-V 的需求,但是每部實體伺服器都是唯一的。每個製造商採用自己的處理器實作、多核心技術、記憶體、資料匯流排、硬碟及網路介面卡。此外,即使由同一家製造商生產,每個機型的硬體設計及實作也都不同。這說明在虛擬環境中部署 SharePoint Server 2010 時,需要嚴格測試。

軟體程式及應用程式的效能與硬體一樣多變。有些程式需要大量 CPU,有些程式對記憶體的需求很高,還有一些程式需要大量硬碟。SharePoint Server 如同 Internet Information Server (IIS) 及 SQL Server 2008,有其自己的容量需求,因此一定要嚴格測試。

容量管理需要考量在 SharePoint Server 環境中執行的虛擬化伺服器、存儲解決方案、網路結構及技術,以及實作 SharePoint Server 解決方案所需啟用的功能。

容量管理

容量管理延伸容量規劃用於表達循環方法的概念,在此方法中,SharePoint Server 2010 部署的容量會持續受到監視及最佳化,以符合不斷改變的情況及需求。您可以將此方法套用到所有的 SharePoint Server 伺服器陣列,包括完全虛擬化及部分虛擬化的伺服器陣列。如需容量管理的概觀,請參閱<Capacity management and sizing for SharePoint Server 2010>。其他容量管理資源可在 SharePoint Server 2010 的容量管理(可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=194748&clcid=0x404)(可能為英文網頁) 資源中心內找到。

虛擬化伺服器容量及大小

對伺服器陣列中的伺服器提出 SharePoint Server 伺服器陣列的設計及大小建議之後,即可設計支援虛擬伺服器陣列所需的實體虛擬化主機架構。如需虛擬架構的詳細資訊,請參閱<規劃虛擬架構 (SharePoint Server 2010)>。

建議您使用 SharePoint Server 2010 容量管理的適用原則,作為虛擬環境的指南。下列活動說明從初始規劃到在實際執行環境中部署,有關設計、縮放及調整虛擬與實體架構的反覆性質。

注意

如果經過徹底的規劃及測試,只有當伺服器陣列使用量大幅且未預期的增加,或因為新增功能到 SharePoint Server 解決方案,才需要變更架構及伺服器設定。

  • 開始伺服器陣列部署之前,請先建立設定虛擬機器及虛擬化伺服器大小的虛擬及實體架構。若是多部虛擬主機,此架構還必須包含虛擬機器分配。

  • 在部署的前導階段中,收集狀況和效能資料,以用於建立伺服器陣列虛擬機器及虛擬化主機的基準。

  • 在部署的使用者接收度測試階段中,依據基準資料調整虛擬化主機及虛擬機器設定,並視需要重新分配虛擬化主機上的虛擬機器,以變更實體架構。

  • 部署後,請繼續收集狀況和效能基準,並調整虛擬機器及實體機器設定 (若適用),並在必要時調整兩個架構。

您必須能夠分析虛擬化主機及虛擬機器效能資料,並了解其如何反映容量需求以及應用程式對容量的影響。此外,您必須了解效能及容量限制。考慮到虛擬層與實體層間的相互關聯,虛擬機器容量及效能的任何影響,都可能會對主機造成直接影響,或是需要變更虛擬化主機設定加以配合,以在整個伺服器陣列中維持可接受的效能。

在某些情況下,可能必須新增其他虛擬化主機,然後變更實體架構上的虛擬機器分配,以變更實體架構。

重要

在實體電腦與虛擬機器間的基準測試中,虛擬機器的輸送量通常比不上實體電腦。虛擬機器的效能總是低於實體電腦,少有例外。效能差異的程度,則會視虛擬化主機功能、執行中的應用程式,以及選擇作為主要效能指標的基準而定。

建議您閱讀 Hyper-V 效能常見問題集 R2(可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=187745&clcid=0x404)(可能為英文網頁),此問題集已更新為反映 Windows Server 2008 R2 及 Windows Server 2008 Service Pack 2 (SP2) 的容量及效能資訊。此常見問題集包含常見 Hyper-V 問題的解答、提供指南,並包含詳細文章的連結,您可以用來開發虛擬化主機、虛擬機器及 Windows 網路的基準。

也建議您閱讀下列有關 Hyper-V 效能計數器的文章:

建立及調整架構

完整的架構包含虛擬化主機、虛擬機器,以及組成所要部署之 SharePoint Server 環境的實體機器。如需虛擬化架構的詳細資訊,請參閱<規劃虛擬架構 (SharePoint Server 2010)>。

開發及實作虛擬架構包含下列步驟:

  1. 建立虛擬及實體架構。建立一個可以支援 SharePoint Server 2010 伺服器陣列目標的架構。

  2. 分析架構。識別並取得任何遺失或可改善所要部署之環境設計的資訊。

  3. 調整架構。使用步驟 2 的資訊調整架構。

  4. 請在進行不同的部署階段時,持續調整架構及伺服器設定。如需部署階段的詳細資訊,請參閱<技術圖表 (SharePoint Server 2010)>一文所提供的 SharePoint 2010 產品部署及SharePoint 2010 產品:虛擬化流程模型。

建立架構

建立可作為虛擬機器與虛擬化主機設定之評估與調整工具的架構模型。使用下列準則作為開發模型的指南:

  • 指定所需的虛擬機器數目,以及每部機器在 SharePoint Server 伺服器陣列中的角色。

  • 指定個別虛擬機器設定需求 (磁碟空間、記憶體及處理器數目)。這會依據 SharePoint Server 容量需求。

  • 指定虛擬化主機需求 (磁碟空間、記憶體及邏輯處理器數目)。這會依據虛擬機器需求。

  • 指定虛擬化主機上的虛擬機器分配。這會依據伺服器陣列高可用性需求,並受限於虛擬化主機數量及容量。

  • 指定一般網路及儲存需求。

  • 允許在虛擬化主機及虛擬機器上的成長 (垂直擴充或水平擴充)。

建立架構模型之後,您必須分析這兩個架構,以確認設計及虛擬化主機和虛擬機器設定。

分析架構

分析架構的基本目的,在於決定該架構是否可成功支援所要部署的 SharePoint Server 2010 解決方案。不過,您可以合理假設,設計與伺服器設定會隨部署程序的進行而改變。

下圖顯示伺服器陣列的範例虛擬架構,由前端網頁伺服器、應用程式伺服器及資料庫伺服器組成。此架構是<中小型伺服器陣列的虛擬架構範例>中所述的代表性中小型伺服器陣列,當您分析虛擬伺服器陣列的容量與可用性需求時,可使用此架構顯示需要考量的重要元素。

重要

下圖中的虛擬化伺服器與虛擬機器大小並未規定。

圖 1. 初步架構

虛擬 SharePoint Server 2010 伺服器陣列拓撲

使用所提供用於建立虛擬架構的準則,來分析上圖所示的範例架構。圖中的架構假設所有網頁伺服器與應用程式伺服器都是虛擬機器。尚未決定伺服器陣列資料庫伺服器為實體機器或虛擬機器。

虛擬化主機分析

下表 (主機-1 和 主機-2) 提供每部虛擬化主機的分析,並使用記憶體、處理器及延展性作為準則。主機分析之後為設計分析。

主機-1

準則 分析

記憶體

為主機作業系統計入 2 GB 的 RAM,並使用預計的 RAM 需求之後,未來可使用估計 2 GB 的 RAM。

處理器

邏輯處理器對虛擬處理器對應比為 8:10 (1:1.25),表示稍微超額預定 (Oversubscribe) CPU,這在測試環境中不會構成問題。

重要

超額預定虛擬化伺服器的 CPU 會降低整體效能。影響的程度視虛擬機器上的負載而定。最佳作法是盡可能避免超額預定虛擬化伺服器的 CPU。

延展性

由於記憶體不足,因此無此選項。此外,CPU 超額預定的程度 (即使新增一部有兩個處理器的虛擬機器) 會明顯影響效能。

主機-2

準則 分析

記憶體

為主機作業系統計入 2 GB 的 RAM,並使用預計的 RAM 需求之後,未來可使用估計 6 GB 的 RAM。

處理器

邏輯處理器對虛擬處理器對應比為 8:8 (1:1),符合最佳作法指導。

延展性

有足夠的記憶體可增加虛擬機器的記憶體配置。有足夠的容量可新增一部有兩個處理器和 4 GB RAM 的新虛擬機器。這表示稍微超額預定虛擬化主機 CPU (8:10),但是這和主機-1 一樣,並不會在測試環境中構成問題。

設計分析

範例架構通常會顯示伺服器陣列之伺服器的高可用性程度。例如,有 3 部前端網頁伺服器分散於主機-1 與主機-2 上,且資料庫伺服器 (叢集或鏡像) 也位於不同的虛擬化主機或不同的實體伺服器上。虛擬化主機層級的高可用性並非架構的一部分,且缺少相關資訊。您必須具備下列資訊,才可修訂設計:

完成設計檢閱之後,下一步是調整架構。

調整架構

調整架構的範圍取決於初始架構、分析結果及實作計劃。當您使用提供的範例時,有時可能會決定不進行任何變更。例如:

  • 初步架構適用於初期測試、概念證明及有限的前導部署。

  • 虛擬化主機僅用於測試,在使用者接收度測試階段中會以更高容量的主機取代。

  • 虛擬伺服器陣列僅用於測試目的,測試完成後即會關機。在某些情況下,此環境可能會予以保留,以在稍後用來測試軟體更新。

下圖顯示修訂的架構,較適合實際執行伺服器陣列。

圖 2. 修訂的架構

修改虛擬架構

在修訂的架構中,主要假設您需要維持 8 個核心的市售虛擬化伺服器。上圖中的變更反映該假設,並包括下列考量:

  • 內容資料庫的估計大小為 1 TB。

  • 目標是提供伺服器陣列中所有伺服器的高可用性,並提升整個基礎架構的效能。

  • 伺服器陣列資料庫伺服器為實體伺服器,可以叢集或鏡像以支援高可用性。每部伺服器都有 8 個核心、16 GB RAM,並使用本機磁碟以減少延遲。

虛擬化主機分析

下表 (修訂的主機-1 和修訂的主機-2 ) 提供每部虛擬化主機的分析,並使用記憶體、處理器及延展性作為準則。主機分析之後為設計分析。

修訂的主機-1

準則 分析

記憶體

為主機作業系統計入 2 GB 的 RAM,並使用預計的 RAM 需求之後,未來可使用估計 2 GB 的 RAM。

處理器

邏輯處理器對虛擬處理器對應比為 8:10 (1:1.25),稍微超額預定。

延展性

增加虛擬機器的記憶體配置時,有記憶體數量上限。根據記憶體數量與處理器比率,沒有足夠的主機容量可新增額外的虛擬機器。

修訂的主機-2

準則 分析

記憶體

為主機作業系統計入 2 GB 的 RAM,並使用預計的 RAM 需求之後,未來可使用估計 4 GB 的 RAM。

處理器

邏輯處理器對虛擬處理器對應比為 8:12 (1:1.50),超額預定 50 %。

延展性

增加虛擬機器的記憶體配置時,有記憶體數量上限。根據記憶體數量與處理器比率,沒有足夠的主機容量可新增額外的虛擬機器。

設計分析

  • 每部虛擬機器都使用 3 個磁碟機的設定,大小依據 SharePoint Server 最佳作法指導。這些磁碟機通常設定如下:

    • C 磁碟機 (50 GB),用於 Windows 安裝

    • D 磁碟機 (50 GB),用於 SharePoint Server 2010 檔案

    • E 磁碟機 (300 GB),用於網站內容及記錄檔

  • 每部前端網頁伺服器會設定為使用 4 部虛擬處理器 (4xVP) 及 8 GB RAM。這是實際執行環境的基本建議設定。

  • 前端網頁伺服器數目增加到 4 部,以支援有效叢集與高可用性。此 4 部伺服器的設定特別適用於安裝軟體更新,因為安裝更新時,一律有兩部伺服器可用。

  • 兩部應用程式伺服器 (應用程式伺服器-1、應用程式伺服器-2) 提供高可用性。應用程式伺服器-1 主控管理中心、搜尋編目元件及搜尋查詢元件的被動索引。處理器數目與記憶體數量會根據內容資料庫的估計大小。

    應用程式伺服器-2 是專用的搜尋查詢伺服器,也包含管理中心的複本。處理器數目與記憶體數量會根據內容資料庫的估計大小。

  • 為達高可用性,管理中心也會安裝在其他主機的前端網頁伺服器上。

  • 資料庫伺服器為叢集或鏡像的實體伺服器,以確保高可用性。移至實體伺服器有助於為虛擬伺服器陣列中的伺服器增加虛擬化主機容量,並改善整體資料庫效能。

    注意

    如前文所述,是否要將資料庫伺服器虛擬化是一個複雜的決定,需要完整的規劃及測試。

  • 從網路的觀點來看,這兩部虛擬化主機會分別設定使用 1 GB 的實體網路介面卡。建議採用此作法,以確保虛擬化主機與虛擬機器的資料流量分開,進而改善效能並提供某種程度的介面卡備援。

  • 每部虛擬化主機各採用一個虛擬 LAN (VLAN),可提供下列優點:網路區隔、更好的安全性及效能。

修訂的虛擬及實體架構大幅改善,並且可以部署到實際執行環境中。但是請注意,依據設定,可用的虛擬化主機資源並不支援伺服器陣列擴充。此外,也無法在需要時,將伺服器陣列中的伺服器從一部主機移轉至另一部主機。

若要將範例伺服器陣列部署到實際執行環境中,比較實際的建議是考慮下列升級:

  • 增加虛擬化主機的容量,使用 48 或 64 GB RAM 的 16 核心電腦。

  • 增加一或多部虛擬化主機。

若要達到高可用性的最佳程度,請考慮下一節的其他選項。

改善架構的其他選項

上一節提供修訂模型的選項。當然還有其他選項可達成更佳的效能及高可用性。水平擴充虛擬化主機環境,或是垂直擴充虛擬化主機都是不錯的選擇,只是成本也是一個議題。您組織的虛擬化策略將有助於定義出最佳方式。

提示

關於成本,購買一部容量超過您短期所需的伺服器,總是比升級伺服器以換取更多容量來得便宜。升級記憶體時更是如此,因為您通常必須捨棄現有的記憶體模組,再買一整組新的記憶體,才能升級記憶體。

下列選項可以提升效能:

  • 部署或購買具有啟用第二層位址轉譯 (Second-Level Address Translation, SLAT) 之處理器的伺服器。在 Intel 處理器中,這項功能稱為 Nested Page Tables,Nehalem 55xx 系列處理器具備此功能。在 AMD 中,這項功能稱為 Enhanced Page Tables (EPT)。

  • 部署或購買提供 CPU 核心暫止的伺服器,這項功能可讓執行中的 Hyper-V 使用最少的處理器核心,來滿足工作量需求。

  • 調查 TCP Chimney 卸載、虛擬電腦佇列 (VMQ) 及 Jumbo 框架。這些功能可以改善網路效能,並降低 CPU 使用率,因而增加整體系統容量。

  • 調查 Jumbo 框架支援,以加速傳送大量資料時的網路效能。但是,您必須徹底測試,因為 Jumbo 框架並非在所有環境中都可以運作。

  • 調查介面卡小組。這項功能可以改善網路效能,並提供實體網路介面卡容錯移轉功能。

    重要

    介面卡小組是協力廠商解決方案,只有廠商提供支援。如需詳細資訊,請參閱 Microsoft 對 Hyper-V NIC 小組支援政策(可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=194749&clcid=0x404)(可能為英文網頁)。

為確保虛擬環境的高可用性,請考慮實作 Windows Server 2008 R2 容錯移轉叢集與 Hyper-V 即時移轉 (如下所示):

  • 容錯移轉叢集的範圍可以包括每部主機上的虛擬化主機與虛擬機器。如果虛擬化主機意外失敗,虛擬機器會自動容錯移轉至另一部虛擬化主機。

  • 即時移轉是規劃停機的解決方案。您可以將執行中的虛擬機器移轉至另一部伺服器 (而不停機)、關閉實體伺服器,然後執行維護。當您完成伺服器的維護時,使用即時移轉將虛擬機器移回原始的實體伺服器。

如需詳細資訊,請參閱 Hyper-V:使用 Hyper-V 和容錯移轉叢集(可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=187967&clcid=0x404)(可能為英文網頁) 及 Hyper-V:Windows Server 2008 R2 中即時移轉與叢集共用磁碟區的搭配使用 (https://go.microsoft.com/fwlink/?linkid=188009&clcid=0x404)。