伺服器虛擬化:分而治之
採取積極的態度透過動態硬體磁碟分割維護伺服器可幫助您平衡虛擬伺服器的工作負載。
William Stanek
伺服器虛擬化是當今企業資料中心倚重的技術之一。伺服器虛擬化可讓您建立多台共用相同實體硬體的虛擬機器 (VM)。每台 VM 都是使用由 Hypervisor (VM 管理員) 所指派的硬體資源執行不同的 OS 執行個體。
在理想的情況下,您可以使用 VM 彙總低使用率的伺服器。您現在少了一堆未充分利用的伺服器,反而是擁有少數伺服器,各自有多台 VM。像這樣彙總伺服器不但可以降低配備支出和耗電量而為組織省錢,還能夠減少管理負荷並簡化伺服器的維護工作。
雖然伺服器虛擬化現在相當風行,但對於高使用率的案例不一定是理想的選擇。由於伺服器工作負載會急遽擴充,您需要有個也能跟著大規模調整的伺服器解決方案。此時硬體磁碟分割就派上用場了。
硬體磁碟分割可在單一伺服器上建立多個獨立的硬體磁碟分割。每個硬體磁碟分割都是執行不同的 OS 執行個體,並且擁有服務處理器指派給它的處理器、記憶體和 I/O 主機橋接器資源。
磁碟分割管理員會與服務處理器溝通,幫助您管理硬碟磁碟分割的設定。因為硬體磁碟分割彼此獨立,所以發生在分割伺服器上的硬體錯誤只會影響包含故障硬體的該個磁碟分割。這可改善整體可靠度和可用性。
也就是說,硬體磁碟分割和 VM 互不排斥。您可以將 VM 管理員安裝在硬體磁碟分割中,然後在該硬體磁碟分割內建立 VM,藉此搭配使用這兩種技術。這樣的結合可幫助您使用企業級伺服器硬體進行大規模向上擴充和水平擴充。您可以進行向上擴充以滿足高使用率的需要,進行水平擴充來滿足低使用率的需要。這可確保您充分發揮兩種硬體管理方法的優點。
動態方法
硬體磁碟分割有分動態和靜態方法。在靜態硬體磁碟分割環境中,系統在執行時的資源配置是固定的。您必須關閉再重新啟動 OS 執行個體才能變更設定。
而在動態硬體磁碟分割環境中,系統在執行時的資源配置是可調整的。這表示您不用重新啟動在硬體磁碟分割上執行的 OS,就可以新增或置換資源。如此可大幅提升可用性與服務性。
動態硬體磁碟分割需要 OS 支援才能達到最佳效果。Windows Server 2008 R2 支援動態硬體磁碟分割功能,如 [圖 1] 所示,但目前不支援熱移除。Windows Server 2008 的 Released To Manufacturing (RTM) 版本具有相同的支援層級,但是它只在 x86 型系統的 Datacenter Edition 上支援熱新增記憶體和熱新增 I/O 主機橋接器。對 PCI Express 的原生 OS 支援可讓您熱插入 PCIe 裝置,例如網路介面卡和主機匯流排介面卡。
熱新增記憶體 | 熱新增處理器 | 熱新增 I/O 主機橋接器 | 熱置換記憶體 | 熱置換處理器 | |
Standard x64 | X | ||||
Enterprise x64 | X | X | |||
Datacenter x64 | X | X | X | X | X |
Itanium 型 | X | X | X | X | X |
[圖 1] Windows Server 2008 Edition 中的動態硬體磁碟分割支援
為了支援動態配置,Windows Server 2008 將 I/O 橋接器、處理器和記憶體視為隨插即用裝置,讓您可以新增或置換這些資源。它也可以讓裝置驅動程式和執行中的應用程式登錄相關通知,以便配置或轉換資源。每項資源 — 記憶體、處理器或 I/O 主機橋接器 — 都被視為分離的單元,稱為磁碟分割單元。
如果硬體元件開始失敗,您會收到記錄在事件日誌中的硬體錯誤的警示。如果伺服器使用過度,您會收到效能計數器或類似的資源監視功能的通知。無論是哪一種情況,您都可以藉由動態新增資源或置換有問題的資源,主動維護伺服器。您可以透過下列任一種方法來進行:
- **手動:**使用廠商提供的磁碟分割管理員向服務處理器溝通您的變更。
- **自動:**根據硬體磁碟分割的觸發程序條件設定廠商提供的系統管理應用程式。如果您的伺服器符合任一條件,則應用程式會自動向服務處理器起始該些變更。
無論是手動處理,或是自動觸發,服務處理器都會將「新增或置換」要求當作單一不可部分完成的動作來處理。這表示置換作業跟移除資源 (使用熱移除) 然後新增相同類型的資源 (使用熱新增) 是不一樣的。服務處理器處理動態新增作業的方法如下:
- 選擇可用及必要的備用資源
- 開啟並初始化該資源
- 將選定資源新增到指定的硬體磁碟分割
- 通知 Windows Server 2008 有新資源可用
當 Windows Server 2008 收到動態新增的通知後,它會採取下列行動:
- 啟動資源並將之新增到可用資源集區
- 通知任何已登錄的裝置和應用程式有該項資源可用,讓它們可以調整資源配置
- 對於處理器:針對參與的裝置驅動程式起始全系統資源重新平衡,讓它們可以中斷連接再重新連接硬體中斷處理常式,並利用新資源 (不含沒有參與的裝置驅動程式,因此重新配置不會中斷它們的服務)。
- 對於 I/O 主機橋接器:掃描連接到新 I/O 匯流排的裝置,並可能起始資源重新平衡。
- 完成這些步驟後,通知服務處理器已完成熱新增
熱置換僅適用於記憶體和處理器 (而且只有在置換資源與原始資源一模一樣時才會進行)。服務處理器處理置換作業的方法如下:
- 選擇可用及必要的備用資源
- 開啟並初始化該資源。對於記憶體,舊記憶體模組的狀態會複製到新記憶體模組。
- 通知 Windows Serer 2008 即將發生的置換作業。OS 會進入虛擬 S4 的睡眠狀態。對於處理器,OS 和系統韌體會將舊處理器的狀態複製到新處理器。對於記憶體,任何狀態變更都會複製到新記憶體模組。
- 將置換資源對應到硬體磁碟分割並移除舊資源
- 通知 Windows Serer 2008 已完成置換。OS 從睡眠狀態喚醒並恢復正常作業。
- 關閉舊資源並通知服務管理員和系統管理應用程式已完成置換
熱置換的設計是要讓在磁碟分割的 OS 上執行的應用程式察覺不到作業的進行。虛擬 S4 睡眠狀態與正常的 S4 睡眠狀態一樣,差別在於 OS 不會儲存休眠檔案或關閉。當處於睡眠狀態時,OS 會停止所有處理作業和 I/O 作業,並且會讓磁碟分割中的裝置處於低電源狀態。如果 OS 處於高度使用狀態,OS 的網路連線可能會在熱置換期間逾時而必須重新連線。
這就是動態磁碟分割的運作方式,以及您可以如何使用資料中心環境內的相關功能來執行主動維護。請記住,當有硬體 RAID 可用時,千萬不要在高使用率伺服器上使用軟體 RAID,如此在有可用的動態硬體磁碟分割時,就不可能用到高使用率伺服器上的 VM 了。
不過,事無定案,要會變通。您有時候應該結合不同的技術,充分利用迅速向上擴充和水平擴充的優點。
William R. Stanek 同時是知名的技術專家、培訓講師以及著作超過 100 本的得獎作家。Follow Stanek 的 Twitter 網址為 .twitter.com/WilliamStanek。