應用程式驅動的伺服器虛擬化方案 Oracle VM 第 1 回 (四)

上一節介紹了 Oracle VM 的各種管理功能,今節將介紹 Oracle 虛擬化方案的架構。

實際架構說明

在實際生產環境。OVM 的架構主要也包括了 OVM Manager,OVS 和共用儲存 (Shared Storage) 三個部分。出於高可用,線上遷移和負載均衡方面的考慮,我們會盡可能地將型號完全相同的 OVS 伺服器(實際上是 CPU 型號完全相同),放入同一個伺服器池中。如果伺服器的型號有較大的差異,我們可能需要構建更多的伺服器池。每一個伺服器池,可連接一個或者多個共用儲存所構建的資料倉庫 (Repository) 上,虛擬機器的設定檔和映像檔,將全部存放於資料倉庫中,並以檔案系統的形式存在。儘管 OVS 伺服器也可以用伺服器本地硬碟來作為資料倉庫,但由於無法滿足高可用、遷移方面的要求,所以並不推薦在生產環境中使用。

生產環境架構

以下就是一個典型的生產環境中採用的架構(圖 7)。在該環境中,OVM Manager 實際上是由一台運行在 Linux 上,通過KVM 建立的虛擬機器所提供的。因為 OVM Manager 除了記憶體方面,要滿足 4GB 至 8GB 的條件之外,對其他硬體資源幾乎沒有什麼要求。CPU 提供至少一個核心,磁碟空間有 40GB 以上,網路滿足有一個千兆網路連接即可。而且這個所謂 4GB 至 8GB 的記憶體要求,實際上也就只是在安裝過程中產生警告資訊,完成後可以運行在 2GB 至 4GB 的記憶體環境上。使用虛擬機器安裝 OVM Manager,可以按照需求任意定製資源,而且也便於日後管理和備份。
(oracle107)

處理器部分

至於 OVS 伺服器部分,只需要按照上述原則將相同型號的伺服器,放入同一個伺服器池中即可。不過需要強調的,是 OVS 的安裝和運行對 OVS 伺服器的 CPU 和記憶體,都是有一定要求的。CPU 方面,要求每個 OVS 伺服器的處理器為 64 位元,並且支援和開啟硬體虛擬化(即 Intel VT 或者 AMD-V)功能。當運行虛擬機器時,虛擬機器將直接使用 OVS 伺服器的 CPU 執行緒,作為自己的 CPU 調度單元,也就是說虛擬機器所分配的 CPU 除了沒有虛擬化支援之外,其他方面包括 CPU 頻率、型號等和物理機 CPU 完全一樣。另外需要補充一點,CPU 一般在虛擬機器層面,都支援超額分配。不管 OVS 伺服器有多少物理 CPU,理論上虛擬機器最大都可以分配到 128 個虛擬 CPU。

記憶體部分

記憶體方面,要求每個 OVS 伺服器的實體記憶體盡可能大,這樣即可承載更多的虛擬機器。但記憶體是不支援超額分配的,意味著每個 OVS 伺服器上所運行的虛擬機器記憶體,總量不能超過該伺服器的實體記憶體總量。而且同時要考慮故障遷移,可能對其他 OVS 伺服器造成的壓力。例如一個伺服器池中,如果只有兩個OVS 伺服器,必須考慮最壞的情況下,所有的虛擬機器,都遷移到其中一台伺服器上,該伺服器將要承擔全部的負載。所以在這種情況下,單台 OVS 伺服器上運行的虛擬機器記憶體總量,不應該超過實體記憶體的 50%。而當伺服器池中,有更多數量的 OVS 伺服器,則需要全力確保最壞的情況下,一半的 OVS 能夠存活。如果存活的 OVS 數量不夠,則會有部分虛擬機器因為實體記憶體不足,而無法啟動。筆者見過的規模最大的伺服器池,正好容納了兩個滿配置的 HP 刀箱,這樣當出現最壞的情況時,一個刀箱整個下線,還有另外一個刀箱的 16 台伺服器,可以支撐整個業務。

儲存部分

關於儲存部分,強烈建議在生產環境中採用共用儲存。OVM 支援的通用儲存協定包括 FC、iSCSI 和 NFS,在 OVM 上,一般以儲存外掛程式 (Plug-in) 的方式進行連接。如需要實現更多的儲存管理功能,需要儲存廠商針對 OVM 提供專用外掛程式,而且一般專用外掛程式,都安裝在 OVS 伺服器上。每個伺服器池中至少確保有一個大小為 15 到 20GB 左右的 LUN,用來做伺服器池檔案系統 (Server Pool FS),也稱為仲裁磁碟。仲裁磁碟用於維護群集的投票狀態和資訊,OVM 會在上面自動建立具備全域心跳能力 (Global Heartbeat) 的 OCFS 檔案系統。當任意一個 OVS 節點,不能連接到仲裁磁碟的時候,伺服器池即判斷該節點失效。失效的 OVS 伺服器會被硬性重啟,重啟被確認之後,虛擬機器才會被從失效的 OVS 遷移到正常的 OVS 伺服器上,而且 OCFS 檔案系統,才能正確釋放失效的節點對檔案系統的鎖定,從而確保虛擬機器正常運行。而其他的所有 LUN,則可以用於做存放虛擬機器的倉庫,或者可以直接掛接到虛擬機器上,作為虛擬磁碟。

網路配置

最後是關於網路配置方面,OVM 對網路類型的劃分比較精細,網路的功能和角色包括管理、心跳、虛擬機器遷移、虛擬機器等,而且每種角色的網路,都支援 Bonding 和 VLAN 設置。這樣可以確保在帶 VLAN 的網路環境中,一個物理鏈路上運行多個不同的 IP子網,也可以通過 bonding,增加生產和心跳鏈路的冗餘性。不過在使用 VLAN 的時候,注意 OVM 支援的 VLAN 範圍,是從 2 到 4096 的,VLAN 1 不能直接在 OVM 上被設置。

小結

在實際生產環境中部署 OVM,基本上也就是需要注意上述因素。我們也建議大家在進行設備選型的時候,尤其是對於 OVS 伺服器和儲存部分的設備,儘量參考一下正在使用的 Linux 版本,以及 OVM 的官方硬體相容性列表,儘量避免一些不必要的麻煩。不過對於一般大廠牌的 x86 伺服器和存放裝置,如 IBM、HP、Dell、Cisco、EMC、NetApp、HDS 等,實際上都支援 OVM,只不過有一些還沒有進行硬體認證而已。OVM 的簡介就到這裡,下篇將介紹 Oracle VM 伺服器虛擬化的安裝與配置

填妥以下登記表,下載由 Oracle 發表的 Oracle Linux 7: Optimizing Deployment Flexibility and Increasing ROI 研究報告,了解更多 Oracle Linux 的強大功能。

Fields marked with an * are required

你可能有興趣的內容

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *