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

上一節開始介紹 Oracle VM 的安裝與配置,今節將深入介紹 Oracle VM 的虛擬機器網路設置。

虛擬機器網路

除了管理鏈路之外,我們還至少需要建立虛擬機器網路,即 VM Network,所有對虛擬機器的對外存取均靠 VM Network 實現。而且按照官方建議,虛擬機器網路最好和管理網路分別處於不同的物理鏈路上。處於不同 IP 網段的虛擬機器,實際上都將以橋接的方式,接入到相應的物理網路卡上實現對外通訊,而物理網路卡可以事先做成 Bonding 以及被定義為帶 VLAN ID 的中繼鏈路,這樣就可以在一個物理網路卡上,支援多個 IP 子網路。筆者的環境中,我們計畫運行虛擬機器的網路為 OVS 伺服器的 eth1,在管理界面上選擇 Networking,點擊 New 選擇 Create a network with bonds/ports only(圖 17),任意輸入一個網路名稱,並一定勾選 Virtual Machine(圖 18)。將兩個 OVS 伺服器加進來(圖 19),並選擇用 OVS 上的哪個網路卡,來做虛擬機器的橋接器。由於該網路卡只用於虛擬機器橋接,所以 IP 位址可以不配置(圖 20),不過個人建議在建立虛擬機器網路的時候,最好對網路用途有所描述(圖21),這樣尤其是當有多個虛擬機器網路的時候能夠快速區分。

圖17:建立虛擬機器網路。
圖17:建立虛擬機器網路。

 

圖18:勾選Virtual Machine。
圖18:勾選Virtual Machine。

 

圖19:將兩個OVS伺服器加進來。
圖19:將兩個OVS伺服器加進來。

 

圖20:虛擬機器橋接,IP位址可以不配置。
圖20:虛擬機器橋接,IP位址可以不配置。

 

圖21:對網路用途描述。
圖21:對網路用途描述。

建立 MAC 位址集區

最後的一個步驟,是針對虛擬機器建立一個 MAC 位址集區。這樣當虛擬機器被建立的時候,將會從 MAC 位址集區中,自動分配一個 MAC 位址。點擊 Virtual NICs,然後點擊 Auto Fill 自動填充,然後點擊 Create。預設情況下,OVM 將一次自動產生 20 個 MAC 位址,當然這個數量可以在界面上修改(圖 22)。只有被分配了 MAC 位址,虛擬機器才可以啟動成功。OVM 會將這些 MAC 位址,根據使用者需求,附加到不同的物理網路上。如果位址集區中的 MAC 地址用盡,新建的虛擬機器啟動會報錯。

圖22:建立MAC位址集區。
圖22:建立MAC位址集區。

另外一種在生產環境中常見的場景,是內部網路可能被劃分為不同的 VLAN 實現二層的隔離。不同的 IP 子網路,實際上分別對應不同的 VLAN ID,但會通過同一個物理鏈路實現對外存取。這種配置能有效解決物理網路界面不足,以及網路隔離的問題。針對這種情況,配置要進行一些調整,但仍然可以完全通過 OVM Manager 管理界面完成。例如在筆者的環境中,eth1 已經被配置為一個 VLAN 的中繼鏈路 (Trunk),在該中繼鏈路上運行的 VLAN ID 為 110-112, 分別對應 172.16.110.0/24、172.16.111.0/24 和 172.16.112.0/24 三個子網路。 配置方法上, 首先需要建立一個 VLAN Group,在 Networking 標籤中,選擇 VLAN Groups 建立。VLAN Group 完全是一個邏輯上的概念,我們可以將在一個物理網路界面上的 VLAN ID,都放在一個 VLAN Group 中,也可以將不同網路界面上的 VLAN ID,放在一個 VLAN Group 中。既然是邏輯上的概念,所以 VLAN Group 可以任意命名,而且也可以隨意加入描述資訊,例如可以簡要說明一下,該 VLAN Group 中包含了 110-112 三個 VLAN ID(圖 23)。然後進入下一步(圖 24),選取兩個 OVS Server 的 eth1 網路卡(圖 25)。

圖23:建立VLAN Groups,並隨意加入描述資訊。
圖23:建立VLAN Groups,並隨意加入描述資訊。

 

圖24:選取伺服器。
圖24:選取伺服器。

 

圖25: 選取兩個 OVS Server 的 eth1 網路卡。
圖25: 選取兩個 OVS Server 的 eth1 網路卡。

在 VLAN ID Range 界面中,設定 VLAN ID 範圍為 110-112, 點擊 Add,這樣將在該物理網路上運行三個不同 VLAN ID 的子網。OVM 目前支援的 VLAN ID 範圍為 2-4096(圖 26)。然後進入下一步(圖 27),完成 VLAN 界面的建立(圖 28)。然後重新回到 Networking 標籤,建立運行虛擬機器的帶 VLAN ID 的橋接器。

圖26:OVM目前支援的VLAN ID範圍為2-4096。
圖26:OVM目前支援的VLAN ID範圍為2-4096。

 

圖27:完成 VLAN 界面的建立。
圖27:完成 VLAN 界面的建立。

 

圖28:建立帶 VLAN Group 以及定義組中的 VLAN ID。
圖28:建立帶 VLAN Group 以及定義組中的 VLAN ID。

這次當點擊建立之後,需要選擇第三個選項 Create a hybrid network with bonds/ports and VLANs(圖 29),隨便定義一個名稱,並選擇網路用途為 Virtual Machine(圖 30)。選擇兩台 OVS Server(圖 31),在 Select Ports 部分直接跳過去(圖 32),在 Select a VLAN Segment 部分,指定要建立的 VLAN 網路來自於之前建立的 VLAN Group,以及相應的 VLAN ID(圖 33),點擊下一步完成配置(圖 34)。按照同樣的方法,我們可以針對 VLAN ID 110-112,分別建立三個虛擬機器橋接器(圖 35)。

圖29:選擇第三個選項。
圖29:選擇第三個選項。
oracle230
圖30:選擇網路用途為Virtual Machine。
圖31:選擇兩台OVS Server。
圖31:選擇兩台OVS Server。

 

圖32:在Select Ports部分直接跳過。
圖32:在Select Ports部分直接跳過。

 

圖33:Select a VLAN Segment部分。
圖33:Select a VLAN Segment部分。

 

圖34:完成配置。
圖34:完成配置。

 

圖35:在同一個物理網路上完成三個帶VLAN橋接器的建立。
圖35:在同一個物理網路上完成三個帶VLAN橋接器的建立。

建立儲存網路

最後建立儲存網路,儲存網路一般指 OVS 伺服器存取網路存放裝置的鏈路,例如 iSCSI 或者 NAS 儲存所使用的乙太網鏈路,如果使用 SAN 儲存,建立儲存網路就沒有必要了。儲存網路可以是通過 Bonding 連接或者是運行在某個 VLAN ID 之上,因此定義方法,和剛才兩個步驟描述的相差不大,但是由於 OVS 伺服器是存取儲存的用戶端,所以額外需要做的,就是針對儲存網路來定義 IP 位址。以筆者的環境為例,會將 eth2 和 eth3 綁定為一個主備模式的 Bonding 鏈路,然後定義兩台 OVS 用於連接儲存的 IP 位址,分別為 172.16.3.11 和 172.16.3.12。第一步是在 Servers and VMs 的下拉式功能表中,選擇 Bond Port 來建立一個 Bonding 網路,然後在彈出的界面上指定 Bonding 的類型、界面位址、最大 MTU 值等參數(圖 36),並將用於儲存網路的乙太網界面,加入到 Bonding 中。

圖36:針對儲存鏈路建立Bonding以及調整相關參數。
圖36:針對儲存鏈路建立Bonding以及調整相關參數。

在使用網路儲存的時候,尤其是生產環境中,鏈路性能是非常重要的。如果使用網路儲存,OVS 伺服器連接存放裝置的鏈路,通常都建議達到 10Gbps。有條件的情況下,連接儲存的交換機建議儘量配置成 Dynamic Link Aggregation,即鏈路聚合模式。這樣可以獲得理論上更高的頻寬,而且預設的 1500 大小的 MTU, 也建議調整成 9000。MTU 即最大傳輸單元,在乙太網上預設值為1500 位元組,較大的 MTU 代表著一次傳輸中,可以發送和接收更多的資料,因此傳輸同樣的資料量在封裝和解封裝、加密和解密方面的開銷將有效減少。在網路品質比較好,伺服器記憶體比較充裕的內網環境中,完全可以通過調大 MTU 值來優化網路傳輸的效率。不過無論是調整 MTU,還是使用鏈路聚合模式,都需要中間網路設備的支援,所以交換機以及路由器上也務必需要做相關的設置。同樣的步驟在兩台 OVS Server 上都要配置,各自指定自己的儲存網路位址。最後在 Networking 標籤中,選擇基於 Bonds/Ports 新建一個網路並指定網路用途為 Storage(圖 37)。選取伺服器(圖38)、埠號(圖 39)和 IP 位址(圖 40)完成配置(圖 41)。到此為止,OVM 的網路配置部分就基本上完成了。

圖37:指定網路用途為Storage。
圖37:指定網路用途為Storage。

 

圖38:選取伺服器。
圖38:選取伺服器。

 

圖39:選取埠號。
圖39:選取埠號。

 

圖40:選取IP位址。
圖40:選取IP位址。
圖41:成功建立儲存網路。
圖41:成功建立儲存網路。

現在我們不妨看看 OVS Server 上的網路配置,通過 SSH 登入任意一台 OVS Server,執行以下命令。

ifconfig -a [enter]

可以發現所有的物理網路卡都已經過了配置。通過命令可以看到,eth0 構成了一個單腿的 bonding 鏈路(圖 42)。

cat /proc/net/bonding/bond0 [enter]

圖42:在OVS Server中的bond0配置。
圖42:在OVS Server中的bond0配置。

而 eth2 和 eth3 則構成了儲存鏈路 bond1(圖 43)

cat /proc/net/bonding/bond1 [enter]

圖43:在OVS Server中的bond1配置。
圖43:在OVS Server中的bond1配置。

eth1 上運行了三個 VLAN 網路界面, 而且 eth1.110, eth1.111 和 eth1.112 被分別配置為運行虛擬機器的橋接器, 用於三個 IP 子網的虛擬機器橋接之後對外通訊。橋接器的 ID 和設備名稱,是 OVM Manager 隨機生成的(圖 44)。因此不難看出,OVM Manager 的管理界面上對 OVS 的網路配置, 實際上都是運用了 OVS Server 上的應用程式程式界面, 而配置方法實際上也和我們常用的一樣, 但是使用 OVM 界面進行管理, 則可以有效提高便利性和正確率。所以如果對 Linux 系統的網路配置比較熟悉的話, 通過直接檢查和修改 OVS Server 上的網路配置, 將是一種有效的排錯手段。

圖44:物理網路上運行三個橋接器用於三個IP子網共用同一鏈路實現對外通訊。
圖44:物理網路上運行三個橋接器用於三個IP子網共用同一鏈路實現對外通訊。

下一節將會更深入去看如何建立 Oracle VM 中OVM 註冊及NAS注意重點,緊貼 Linux Pilot 留意!

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

Fields marked with an * are required

你可能有興趣的內容

One thought on “應用程式驅動的伺服器虛擬化方案 Oracle VM 第 2 回 (二)

發表迴響

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