概述
本文中開發的應用程式稱為 VADeployer,它實現了對 IBM Systems Director VMControl REST API 的超文 本安全傳輸協議 (HTTPS) 請求,以模仿虛擬設備通過 IBM Systems Director Web 介面部署流程。VADeployer 還可用於修 改其他設定,比如部署前的記憶體和處理器分配。
VADeployer 構建於 Java 1.6 之上,圖形化使用者介面 (GUI) 是使用 Eclipse Juno 和 WindowBuilder Pro SWT 開發的,遵循 Eclipse Public License v 1.0 許可。VADeployer 使用的 IBM Systems Director 和 VMControl 的 REST API 版本分別為 6.3.0 和 2.4.0。
在後面幾節中,我們將介紹 VMControl 與虛擬設備模型之間的關係,讓您瞭解 VADeployer 如何與 VMControl 互動來配置和部署一個虛擬設備。
虛擬設備(Virtual appliances)和 VMControl
IBM 和虛擬化市場領域中的其他供應商已採用分布式管理任 務組 (Distributed Management Task Force, DMTF) OVF 規範作為構建和部署軟體虛擬設備的標準方式,這種方式簡化了 將複雜軟體解決方案整合到一個自包含的二進位開放虛擬化裝置 (OVA) 包中的過程。VMControl 支援您匯入虛擬設備(將 一個 OVA 包或 OVF 檔案作為輸入)並將它儲存在映像存放庫中。您也可以捕獲一個虛擬伺服器,在其中配置並運行您的軟 件解決方案,從而在映像存放庫中建立一個新虛擬設備。
在一個映像存放庫(可能基於網路安裝管理 (Network Installation Management, NIM) 或儲存複製服務 (Storage Copy Services, SCS))中,您可能擁有包含不同的軟體解決 方案的多個虛擬設備。根據您的業務需求,可以從目錄中選擇一個虛擬設備並進行快速部署,讓它能夠知道自己的部署上下 文。VMControl 支援您為在虛擬設備 OVF 檔案中定義的每個產品部分指定配置值。一個產品部分可能是指應在部署時完成 的網路化、作業系統調優、作業系統安全性或任何軟體產品配置。虛擬設備建立是另外一個主題,不會在本文中介紹,它由 虛擬解決方案啟用引擎 (Virtual Solutions Activation Engine, VSAE) 解決方案完成,該解決方案是一個在啟用應用程 序服務之前第一次引導時啟動的指令碼引擎。VSAE 主要解析 OVF 信封檔案(預設名稱為 ovf-env.xml),並以定義良好的激 活邏輯為基礎,然後,啟用引擎將所有配置參數傳遞給執行所需配置的相應的啟用指令碼。
自訂屬性
OVF 文 件中一個產品部分中的每個可配置屬性都會轉換為 VMControl 中的一個自訂屬性。您可以在部署時使用 VMControl REST API 檢索可用於配置虛擬設備的所有自訂屬性。例如,可將一個 GET 操作提交到清單 1 中所示的 REST API,以檢索可 在運行時用於一個將部署在特定目標主機上的虛擬設備的自訂屬性,這意味著您可以根據主機資源和描述虛擬設備的 OVF 檔案來尋找可用的屬性。
清單 1. 檢索部署時自訂屬性的 REST API
/VMControl/virtualAppliances/ {virtualApplianceOID}/targets/{targetOID}/customization
IBM Systems Director 支援不同的虛擬化環境,包 括 VMWare ESX/ESXi、IBM PowerVM、基於核心的虛擬機器 (KVM) 和 IBM z/VM。不過,VADeployer 僅在 PowerVM 上進行了 測試。在 OVF 檔案內,Virtual Hardware Section 描述了虛擬設備需要的虛擬或邏輯硬體,比如磁碟、網路介面卡、記憶體 和處理器分配等。這一節還包含虛擬系統類別型(System 的一個直系子項目),該類型指定可部署虛擬設備的虛擬化環境。 例如,對於 VMware 第四代虛擬硬體,可將虛擬系統類別型標識符設定為 vmx-4,而對於基於 IBM POWER 處理器的硬體,可 設定為 IBM:POWER:[OS],其中,[OS] 可以是 AIX、Linux 或 IBM i[X](X 是 IBM i 版本號碼)。根據 Virtual Hardware Section 中的描述,VMControl 允許您選擇可部署虛擬設備的正確的目標主機。
可通過將一個 GET 操作發送到如清 單 2 所示的 REST API,從而檢索可部署虛擬設備的所有有效目標主機。
清單 2. 具有目標主機過濾器的 VMControl REST API
/VMControl/virtualAppliances/{virtualApplianceOID}/targets?type=host