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

提到 Linux 下的虛擬化方案,VMware、VirtualBox、Xen 和 KVM 都是比較多人認識的,但其實 Oracle 也有一個在一定條件下免費使用的 Oracle VM,一連五篇的連載將全面介紹 Oracle VM 伺服器虛擬化的安裝與配置、基本功能與管理、容災方案、平台升級、以及不可或缺的故障處理和架構恢復。上篇針對了 Oracle VM 的特性和功能來介紹, 這篇將介紹 Oracle VM 伺服器虛擬化的安裝與配置。

這篇將以新版本 OVM 3.2.8 為例,介紹 OVM for x86 的安裝、配置、操作管理方法和各種功能。按照慣例在安裝之前,簡單介紹一下實驗環境和架構。在實驗環境中共有四台虛擬機器,一台是 OVM Manager,安裝 Oracle Linux 或者 RHEL 6.x 的 x86_64 系統,並安裝 OVM Manager 主程式;另外兩台做 OVS 伺服器,可以各自運行一個 Linux 的虛擬機器。最後一台虛擬機器用於類比共用儲存,通過 Linux 系統自帶的 iscsi-target,來共用本地的至少兩個 LUN。

模擬生產環境

為了真實的模擬生產環境,我們在每個 OVS 伺服器上,啟用了四個網路界面。其中 eth0 用於運行管理網路,OVM Manager 通過該網路對 OVS 伺服器以及整個平台,進行操作和監控。eth1 作為虛擬機器網路,虛擬機器會將自己的虛擬網路卡橋接到該網路上,實現外界對虛擬機器和業務資料的存取。eth2 和 eth3 作為儲存網路,物理上,我們會將這兩個界面進行埠綁定 (Bonding) 來實現主備冗餘,一般 OVM Manager 只需要通過管理網路連接 OVS 伺服器即可。以下是整個架構,界面位址、主機名稱之間的對應關係和硬體設定情況(表 1)。

表1:整個架構包括界面位址、主機名稱間的設定。
表1:整個架構包括界面位址、主機名稱間的設定。

這個環境的局限,在虛擬機器無法演示其中一些功能,如全虛擬化環境中的操作等。因為目前無論是 VMware 還是 Virtual Box 的 Nested 虛擬化功能(即在虛擬機器中再運行帶虛擬化命令集的虛擬機器),貌似都有些問題,所以筆者還準備了另外一個生產環境來介紹這部分功能,在後面會介紹。

安裝環境要求

OVM Manager 的安裝環境對 CPU 要求不是很高, 雙核心 CPU 甚至單核心 CPU 都行,記憶體方面由於要運行內嵌的資料庫以及 Weblogic,所以記憶體要有 8GB。但多次測試後,2GB 也可以運行起來,只不過在安裝的時候如果記憶體過小,則可能會報錯。這也是建議使用虛擬機器安裝 OVM Manager 的理由,因為 CPU 和記憶體資源便於隨時調整。本地磁碟則建議大一些,因為維護管理時,OVM Manager 往往也作為一個 HTTP 伺服器,用於向 OVM 中匯入範本、光碟映像檔、裝配集等內容,網路則確保有一個千兆網路卡管理 OVS 伺服器即可。

標準 Desktop 模式安裝

另外 OVM Manager 需要安裝在 x86_64 位的 Oracle Linux 5/6,或者相應的 RHEL 5/6 作業系統上,由於 OVM Manager 的主程式,資料庫以及 Weblogic 中介軟體已經全部整合到安裝程式中,所以這些元件都會在安裝過程中自動部署和配置。這次以 Oracle Linux 6.4 x86_64 系統,採用標準 Desktop 模式安裝為例說明。安裝前建議規劃好主機名稱,包括 OVM Manager 以及 OVS 伺服器在內,所有節點的 DNS 解析。至於防火牆和 SELinux,則建議保持關閉(圖 1)。

圖1:OVM Manager的基本主機網路資訊。
圖1:OVM Manager的基本主機網路資訊。

安裝 Oracle VM Manager

將 OVM Manager 安裝光碟映像檔複製到該伺服器的任意目錄,通過 loop 方式本地掛載。進入掛載目錄後執行 createOracle.sh,以自動建立和生成環境,如 oracle 使用者、群組,用戶打開檔案數目限制,定義針對埠和防火牆規則等。最後個人建議對 oracle 使用者,設置一個密碼以備後用(圖 2)。之後直接執行 .runInstaller.sh, 這將提示幾個不同的安裝選項, 建議選擇第一個安裝選項 Simple 即可。該選項會選用和配置 MySQL 資料庫作為 OVMM 的資料庫,並自動將該資料庫部署在和 OVM Manager 同一台機器上。而 Custom 選項則表示在整個環境中,已經存在有另外一台 Oracle 資料庫伺服器,OVMM 的資料庫將部署到這台伺服器上。按照 OVMM 的安裝要求,如果要選擇使用 ODB 資料庫,則需要使用 SE 或者 EE 版本,不能選擇 XE 版本,另外也需要提供資料庫的使用者、主機名稱、埠號以及 SID 等資訊。最後按照提示提供一個符合複雜度要求的密碼,要有大小寫、數字、8 位元或者以上。選擇 Continue 安裝程式開始執行。在此安裝過程中,MySQL 資料庫,WebLogic,Java 等組件將自動安裝(圖 3)。

圖2:建立程式安裝前的預配置資訊。
圖2:建立程式安裝前的預配置資訊。

 

圖3:Oracle VM Manager的安裝過程。
圖3:Oracle VM Manager的安裝過程。

安裝過程約 20 到 30 分鐘,完成後將顯示匯總資訊(圖 4), 並告知用戶如何存取 OVM Manager 管理界面。這些資訊非常重要,一旦 OVM Manager 出錯需要恢復時,必須有這些資訊。安裝程式會自動將這些資訊存放到一個名為 .config 的設定檔中,該檔 在 /u01/app/oracle/ovm-manager-3/ 目 錄 下。 建議在 OVM Manager 安裝完成之後,將該檔單獨備份保存以備後用。另外在 OVM Manager 上需要安裝 tighvnc-java 套件,實現用戶端通過 OVM Manager 對虛擬機器 Console 的存取,tighvnc-java 可從以下 URL 下載。

https://oss.oracle.com/oraclevm/manager/RPMS/

圖4:安裝完成顯示的匯總資訊。
圖4:安裝完成顯示的匯總資訊。

安裝 Oracle VM Server

OVS 伺服器對硬體方面的要求,CPU 是 64 位 元, 並且支援硬體虛擬化,記憶體則視將要提供的服務能力而定。本地磁碟最少要有 5 到 10GB 安裝 OVS Server 所包含的 Hypervisor 和 Domain-0,網路卡數量不限,但至少全部為 1Gbps。如果使用的是網路儲存(如 iSCSI 或者 NFS)生產環境,則要求儘量提供全 10Gbps 網路環境。OVS 的安裝程式只有 200MB 左右, 而且基本步驟和安裝 Linux 非常接近(圖5)。不同的是 OVS 建議使用者按照預設的分割區方式,對本地磁碟進行劃分(圖 6)。

圖5:OVS Server安裝界面。
圖5:OVS Server安裝界面。

 

圖6:OVS Server安裝過程中識別本地磁碟並為本地磁碟提供預設分割區方案。
圖6: OVS Server安裝過程中識別本地磁碟並為本地磁碟提供預設分割區方案。

如果本地有第二片或者第三塊磁碟,OVS 可以利用該磁碟作為存放虛擬機器和資料檔案的倉庫,這也是 OVS 伺服器使用本地磁碟做虛擬機器儲存的必須條件。在一些生產環境中有些伺服器可以通過在 RAID 控制器界面的操作將本地磁碟按需分割成不同的陣列,如果有需要使用虛擬機器本地磁碟作為儲存,則需要事先在 RAID 控制器界面中設定。磁碟設定完成後,程式會自動識別伺服器網路卡,如果該網路卡和 OVM Manager 通訊的網路都處於某個 VLAN 中,則需要指定 VLAN ID。如果網路中沒有 DNS 和閘道,相關設置可以略過(圖 7)。

圖7:為連接OVM Manager的網路設置IP位址或者VLAN資訊。
圖7:為連接OVM Manager的網路設置IP位址或者VLAN資訊。

同時需要設置 OVS 伺服器的主機名稱, 個人建議使用 FQDN 格式,這也是一般指定主機名稱稱的標準。最後指定時區資訊(建議將將「使用 UTC」勾掉)。下一步是為 OVS 設置 agent 密碼,ovs-agent 是用於 OVM Manager 發現並控制 OVS Server 使用的,如果密碼錯誤,OVM Manager 發現和管理 OVS Server 的所有操作,都會因為認證失敗而無法進行。然後是 root 密碼,完成後即開始安裝,5 分鐘左右整個安裝即可完成。重啟後將看到 OVS Server 資訊界面,由於還沒有進行任何配置,只能看到軟體版本號、主機名稱等資訊(圖 8)。按照相同步驟,完成另外一台 OVS 伺服器的安裝,之後就可以進入 OVM Manager 的配置界面了。

圖8:OVS Server啟動之後的資訊界面。
圖8:OVS Server啟動之後的資訊界面。

Oracle VM 架構的配置

安裝好 OVM Manager 和 OVS 後,還要對環境進行基本的配置整,包括從 OVM Manager 的管理界面上發現和註冊(Discover) OVS 伺服器、配置和註冊網路、配置和註冊儲存、建立伺服器池 (Server Pool)、建立資料倉庫 (Repository),以及匯入安裝光碟映像檔、範本、裝配集,下面將按照上述步驟一步步進行。先按照 OVM Manager 提示,開啟 OVM Manager 的 Web 管理界面。一般 OVM Manager 的 Web 管理界面的存取方式包括兩種。一種基於 https 協定,連結如下。

https://:7002/ovm/console

另一種基於 http 協定,連結如下。

http://:7001/ovm/console

個人傾向使用第一種,而使用的瀏覽器可以是常用的 Firefox, Chrome 甚至是 Safari,但最好版本相對新一些,舊的如 Windows XP 上的 IE 是不支援的。存取前須確認防火牆關閉以及 OVM Mananger 上面的 ovmm 服務處於運行狀態。以 Chrome 瀏覽器為例,在瀏覽器中輸入以下 URL 即可。

https://172.16.1.100:7002/ovm/console

以 admin 和安裝 OVM Manager 時輸入的密碼登入(圖 9),界面的左邊和中間顯示的操作按鈕、工具列以及狀態資訊,而中間靠下的部分是每個事件的執行情況,一般用於獲得每一步操作的結果,如果報錯則可以查看出錯原因,這也是排錯的時候常用的一種方式和手段。界面的右邊有一個關於 Getting Start 的提示,基本上和剛才描述的步驟相似。Getting Start 中的步驟,可按個人喜好調整(圖 10)。

圖9:OVM Manager的登入界面。
圖9:OVM Manager的登入界面。

 

圖10:初始的配置操作界面。
圖10:初始的配置操作界面。

但是不管怎麼調整,發現 (Discover)OVS Server,都必須是第一步。點擊左上角的 Discover Server,在對話方塊中輸入 OVS 伺服器上 Agent 程式監聽的埠號(預設為 TCP 8899),ovs-agent 的密碼,以及所有要被發現的 OVS 伺服器的 IP 位址即可。如果有多台機器,IP 位址可以採用兩種方式輸入(圖 11)。兩台 OVS 伺服器以及其基本配置資訊,將被註冊到 OVM Manager 的資料庫當中。由於還沒有建立伺服器池,所以這兩台 OVS 目前被放到 Unassigned Servers 目錄中,但可以通過 Perspective 來查看 OVS 的詳細硬體資訊。包括 CPU 記憶體配置、網路卡鏈路狀態,磁碟容量資訊,運行的虛擬機器等各種資訊(圖 12)。到此為止,第一步發現 OVS Server 的操作已經完成。

圖11:發現OVS Server的方法。
圖11:發現OVS Server的方法。

 

圖12:註冊成功的OVS Server在Unassigned Servers目錄中。
圖12:註冊成功的OVS Server在Unassigned Servers目錄中。

配置和註冊網路

在 Ethernet Ports 和 Bond Ports 中,可看到 OVM Manager 用於發現 OVS 伺服器的網路連接 eth0,處於 Up 的狀態。安裝程式自動將其配置成一個 Bonding,而實際上該網路就是管理網路,同時兼具心跳網路和虛擬機器遷移的功能(圖 13)。這也是生產環境中的典型配置,即虛擬化平台管理、心跳仲裁和虛擬機器遷移都運行在同一個 Bonding 鏈路上(圖 14)。當然如果有更多的網路界面,則可以在管理界面上,將另外一個單物理網路卡加入到這個 Bonding 中(圖 15)。

圖13:eth0處於Up的狀態。
圖13:eth0處於Up的狀態。

 

圖14:OVS網路自動配置了Bonding。
圖14:OVS網路自動配置了Bonding。

 

圖15:Bonding同時兼具管理、心跳和遷移功能。
圖15:Bonding同時兼具管理、心跳和遷移功能。

不過按照 OVM 官方文檔所說,用於管理界面的 Bonding,目前只能配置和支援主備模式即 mode 1,而且每個 Bonding 的網路卡界面數量,也只支援兩個(圖 16)。但除了平台管理之外,其他用途的網路,可以支援另外兩種 Bonding 模式,即負載均衡和鏈路聚合。只不過這兩種模式都或多或少需要一些交換機的配置和支援方可實現,尤其是鏈路聚合,所以這只介紹主備模式的 Bonding。

圖16:可以將更多的OVS Server上的網路卡加入到Bonding鏈路中。
圖16:可以將更多的OVS Server上的網路卡加入到Bonding鏈路中。

下一節將會更深入去看如何建立 Oracle VM 中虛擬機器及其他設置,緊貼 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 回 (一)

發表迴響

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