應用程式驅動的伺服器虛擬化方案 Oracle VM 第 2 回 (五)
上一節介紹 Oracle VM 如何管理外掛程式及建立資料庫 ,今節將介紹匯入檔案及格式需知 。
匯入檔案
整個 OVM 的基本架構已經基本完成,不過要真正運行虛擬機器的話,還需要匯入系統安裝光碟映像檔、範本以及裝配集。這些資源需要事先放置在一個 HTTP 或者 FTP 伺服器上,然後由 OVM Manager 控制某一個 OVS Server,作為用戶端執行具體的匯入操作。這台用戶端所對應的角色,就是之前我們所提到的 Utility Server。為方便起見, 我們將 OVM Manager 同時設置為 HTTP 伺服器。確定系統已經安裝了 httpd 套件,然後修改設定檔 /etc/httpd/conf.d/welcome,將「-Indexes」之前的「-」去掉,這樣啟動 httpd 服務的時候,將允許列出服務目錄中的檔案內容。完成之後保存退出,啟動 httpd 服務即可。如果 httpd 設定檔未經修改,預設的服務目錄在 /var/www/html/ 目錄下,個人目錄可在此目錄下隨意建立,然後將光碟映像檔,範本檔和裝配集都放到這個目錄中即可。從瀏覽器上直接存取確保可以看到檔列表,當然在伺服器端也要確保這些檔案,至少有所有用戶的可讀權限(圖 67)。

匯入光碟映像檔
在 Repository 標籤中選擇建立的 Repository 名稱,並選取 ISOs 資料夾,並在右邊點擊 Import,在對話方塊中選擇任何一台 OVS Server 作為 Utility Server,並輸入通過 HTTP 存取光碟映像檔的 URL 連結,點擊確認匯入即開始(圖 68),匯入後 ISO 檔案名稱正確顯示在 ISOs 目錄中(圖 69)。採用光碟映像檔安裝虛擬機器,是最常用的方法。但是在 OVM 中,半虛擬化的虛擬機器因為沒有模擬的 BIOS,所以無法直接使用光碟映像檔安裝系統,這個問題會在之後內容中說明。另一種建立虛擬機器的方法,是通過現成的虛擬機器範本建立。Oracle 官方直接提供了大量的帶應用程式的虛擬機器範本,這些範本都可下載並匯入到 OVM 平台中。用戶可在使用範本的時候加上各種參數,按需求生成所要的業務系統。


Oracle 官方範本可從以下 URL 下載。
http://edelivery.oracle.com/linux
用戶要註冊 Oracle 帳號才可下載,勾選同意協議後,從下拉式功能表中選擇 Oracle VM Template,即可看到所有的範本檔。目前這些範本檔的格式主要有兩種,一種是 tgz 格式,實際上就是將 OVM 上的虛擬機器以及設定檔用 tar 命令打成的壓縮包,另一種是 ova 格式。ova 格式就是 Open Virtualization Appliance 的簡稱,又稱為開放虛擬機器設備。要了解 ova 格式,就要先了解一下常見的虛擬機器檔案格式 OVF。
【技術常識】
開放的虛擬機器格式 OVF
OVF (Open Virtualization Format) 是由規定的幾個不同類型的檔案所組成的套件,在 OVF 檔中包含了幾個重要部分,首先是 OVF 格式的設定檔 ovf,它定義了虛擬機器檔所需的所有資源之間的配置關係,作用等同於 vmware 中的 vmx 設定檔以及 Xen 和 KVM 虛擬化中的配置資訊。一般 ovf 檔中保存的,都是以 xml 格式所定義的配置資訊。mf 檔主要是構成一個 OVF 套件的所有檔的 SHA 校驗值資訊,用於防止映像檔被非法篡改。cert 檔主要是用於保證 mf 檔的合法性,包含了 mf 檔的摘要以及證書內容。簡單來說,就是通過證書驗證來實現 mf 檔的合法性驗證。cert 證書的生成主要依靠 pki,並可以由 openssl 工具來運用和實現。磁碟和光碟的映像檔,實際上是虛擬機器的主體的資源檔,可以是 vmdk、img 等磁碟檔案格式,也可以是 iso 這類的光碟映像檔,虛擬機器內所有的資料資訊均儲存於此。
了解 OVA 格式
當了解了 OVF 格式之後,OVA 就不難理解了。OVA 實際上是將 OVF 中所有的檔案類型,打成一個 tar 套件,再將延伸檔名改為 ova 而形成的單一檔案。因此相對於 OVF 而言,OVA 格式的主要特點就是便攜,並使得一個虛擬機器,方便地在不同的虛擬化平台之間匯入和匯出。目前兩種格式的虛擬機器範本都可以直接匯入到 OVM,不同的是 tgz 格式的虛擬機器範本可以範本 (Template)檔的形式直接匯入, 而 OVA 格式的虛擬機器範本是以裝配集(Assembly) 檔的方式匯入,匯入之後需要再複製為可直接使用的虛擬機器範本,再通過該範本複製虛擬機器。OVA 格式的虛擬機器範本,可以再手工製作和轉換成 tgz 格式的範本,下面將說明這兩種範本匯入的方法和步驟。
匯入 tgz 範本
類似於剛才匯入 iso 檔的步驟,我已經將下載的範本檔放在 http 伺服器的 /var/www/html/pub 目錄下, 檔名稱為 OVM_OL5U7_X86_64_PVM_10GB.tgz。從名稱上看,是 Oracle Linux 5.7 x86_64 的純作業系統範本。在 OVM 管理界面點擊 Repositories,選取 REPO-1 中出現的 VM Templates 資料夾, 點擊右上角的 Import VM Template,像剛才匯入 iso 檔那樣,輸入範本檔的 URL 並點擊 OK,匯入過程便會開始(圖 70)。

匯入的過程實際上會將 tgz 檔解開,將虛擬機器設定檔放在REPO 所在 OCFS 檔案系統 Templates 目錄下,而虛擬機器磁碟檔則放在 Virtual Disks 目錄下。不過名稱都是以 UUID 的形式顯示,但從管理界面上,也能夠查詢到 UUID 和具體範本的對應關係(圖71)。現在再嘗試匯入 OVA 格式的範本,和剛才一樣,OVA 格式的範本檔可從 Oracle 官方網站上下載,並且放到 http 目錄下。但在 OVM 管理界面上,需要通過 Assemblies 界面匯入(圖 72)匯入之後的 OVA 範本,需要再複製為 Template 才能使用(圖 73)。


在過程中可看到 OVA 格式的範本檔在 Utility Server 所掛載的 /OVS/Repositories/xxx/Assemblies 目錄下被解開, 然後在 Templates 目錄下產生了新的虛擬機器範本設定檔(圖 74)。無論是匯入 iso,還是匯入範本檔或者裝配集,都可以通過 OVM Manager 的日誌跟蹤具體的過程,日誌檔在以下目錄下。
/u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/logs/

檔案名為 AdminServer.log,每次 OVM Manager 重啟,都會建立一個新的 AdminServer.log(圖 75)。到此為止,啟動虛擬機器的前期準備工作已經全部完成。下篇將介紹如何建立和管理不同類型的虛擬機器,並針對不同類型的虛擬機器調整資源,萬勿錯過。

填妥以下登記表,下載由 Oracle 發表的 Oracle Linux 7: Optimizing Deployment Flexibility and Increasing ROI 研究報告,了解更多 Oracle Linux 的強大功能。
Pingback: 應用程式驅動的伺服器虛擬化方案 Oracle VM 第 2 回 (四) - Linuxpilot