IBM PowerVM Lx86 基本概念
IBM PowerVM Lx86 是 IBM 基于 Power 系列服務器所開發的眾多虛擬化技術的軟件之一,其設計目的是為了將 x86 Linux 應用軟件整合到 Linux for Power 中,從而使 x86 Linux 應用軟件獲得 IBM Power 服務器所特有的高可靠性、高可用性、高服務性。IBM powerVM Lx86 的主要功能是使 x86 Linux 應用軟件,特別是那些沒有原代碼只有二進制代碼的 x86 Linux 應用軟件在不經過任何修改的情況下就可以運行在 Linx for Power 操作系統上。IBM 巴西 Linux 技術中心的開發人員已經將 IBM PowerVM Lx86 整合到 Linux for Power 安裝工具集中。IBM Power 服務器用戶可以通過 IBM Linux for Power 安裝工具集所提供的 IBM PowerVM Lx86 管理向導方便、快捷地在 Linux for Power 上布署 IBM PowrVM Lx86 并運行 x86 Linux 應用軟件。
在分析 IBM PowerVM Lx86 工作原理之前,我們首先介紹 IBM PowerVM Lx86 所涉及的幾個基本概念:
The translator:The translator 是 PowerVM Lx86 的主要組成部分。它的作用是將 x86 指令動態地翻譯成 Power 指令并且將 x86 Linux 的內核調用轉換成 Linux for Power 內核調用。
The libraries:The libraries 是 x86 Linux 環境中運行應用程序所需的程序庫。
x86World:x86World 是指將 x86 Linux 通用庫、x86 Linux 系統命令、x86 Linux 二進制代碼和系統文件安裝在 Linux for Power 操作系統的一個目錄中,從而組成的 x86 運行環境。 x86World 在缺省情況下被安裝于 Linux for Power 操作系統中的 /i386 目錄中。
VxE:VxE 是指虛擬 x86 環境,即 Virtual x86 Environment 的縮寫。VxE 是 IBM PowerVM Lx86 的重要組成部分,它是保證 x86 應用軟件在 Linux for Power 上正常運行所必須的。The translator 和 x86World 是 VxE 中的兩個極為重要的組件。
Power System:Power System 是指具有支持 PowerPC 精簡指令集的 Power 處理器的服務器。
在了解了 IBM PowerVM Lx86 所涉及基本概念后,我們可以通過圖 1 對 IBM PowerVM Lx86 的工作原理做簡要的闡述:
在圖 1 中我們可以看出,對于 Linux for Power 操作系統而言,運行于 VxE 中的 x86 Linux 應用軟件只是其中的一個進程。因此,Linux for Power 的應用軟件可以與 x86 Linux 應用軟件的并行運行于 Linux for Power 操作系統中。
IBM PowerVM Lx86 工作過程分為以下幾步:
在 Linux for Power 操作系統上運行 x86 Linux 應用軟件時,首先需要將 x86 Linux 應用軟件二進制代碼裝載入內存中。在內存中的 x86 Linux 二進制被調用時,IBM PowerVM Lx86 翻譯器對其進行解碼并對常用代碼進行優化。常用代碼是指點那些被多次調用的指令,對常用代碼進行優化的目的是下次再次調用同樣的代碼時不需要再次被翻譯,從而加快 x86 Linux 應用軟件執行速度。當一條指令被多次執行時,IBM PowerVM Lx86 會在后臺將此指令進行優化并將其存入******存儲池中。在對常用代碼進行優化之后,IBM PowrVM Lx86 翻譯器將解碼后的 x86 指令轉換成 Power 指令。
IBM PowerVM Lx86 硬件軟件需求
如果您是 IBM Power 服務器的用戶并且希望在您的服務器上使用 IBM PowerVM Lx86,請先檢查您所擁有的 IBM Power 服務器和您希望擁有的 Linux 發行版是否是 IBM PowerVM 所支持的。表 1 和表 2 分別列出了 IBM PowrVM Lx86 1.3 版本所支持的 IBM Power 服務器和 Linux 發行版。
IBM PowerVM Lx86 功能及特點
IBM PowerVM Lx86 可以使 Linux for Power 用戶在不做任何移植工作的情況下就可以 Linux for Power 上運行 x86 Linux 應用軟件。
IBM PowerVM Lx86 是標準的 Linux for Power 用戶空間應用程序。它不需對 Linux for Power 內核做任何修改。
IBM PowerVM Lx86 既支持在 Linux for Power 虛擬化的環境 Power 中運行,也可以在不支持 Linux for Power 虛擬化環境的 Power 服務器中運行。
IBM PowerVM Lx86 可以與 Linux for Power 中的其它應用軟件同時運行。
IBM PowerVM Lx86 可以將 X86 Linux 指令映射到 Power 處理器所支持的精簡指令集。
IBM PowerVM Lx86 限制
雖然 IBM PowerVM Lx86 可以支持大多數 x86 Linux 應用軟件, IBM PowerVM Lx86 還是有一定限制的。下面列舉了無法在 IBM PowerVM Lx86 環境中運行 x86 Linux 應用軟件的幾種情況:
IBM PowerVM Lx86 不支持直接對硬件設備(如顯卡)等的操作。
IBM PowerVM Lx86 不支持需要特殊內核模塊的應用或需要使用 Linux for Power 發行版未提供的內核模塊的應用。
IBM PowerVM Lx86 不支持 Intel 在 1997 年發布的 Intel IA-32 指令集手冊以外的指令。
IBM PowerVM Lx86 不支持 RHEL4 U4 以前、SLES9 SP3 以前的 Linux for Power 發行版。
IBM PowerVM Lx86 不支持 x86 Linux 所特有的系統管理工具和配制工具。
x86 Linux 沒有獨立的 IP 地址,x86 Linux 與 Linux for Power 使用相同的 IP 地址。
IBM PowerVM Lx86 不支持 x86 Linux 與 Linux for Power 之間的內存共享。
IBM PowerVM Lx86 安裝及卸載過程示例
IBM Linux for Power 安裝工具集中為 IBM PowerVM Lx86 提供了圖形和文本兩種安裝及卸載方式。IBM PowerVM Lx86 安裝過程分為以下一步幾個步驟:安裝前準備、啟動 WelcomeCenter、啟動 IBM PowerVM Lx86 管理向導。IBM PowerVM Lx86 卸載過程同樣需要啟動 WelcomeCenter、啟動 IBM PowerVM Lx86 管理向導,但不需要安裝前準備這一環節。下面我們就其安裝與卸載過程進行詳解。
IBM PowerVM Lx86 安裝前準備
IBM PowerVM Lx86 是 IBM Linux for Power 安裝工具集中的一項新功能。因此,如果想通過 IBM Linux for Power 安裝工具集安裝 IBM PowerVM Lx86 時,我們需要做如下準備工作:
從 IBM PowerVM Lx86 光盤或 IBM 官方網站上下載 IBM PowerVM Lx86 for Linux 的安裝包。
從 RedHat 或 SuSE 官方網站上下載 x86 Linux 光盤映像。
通過 IBM Linux for Power 安裝工具集所提供的光盤在 Power 服務器上安裝 Linux for Power。
Power 服務器上安裝的 Linux for Power 發行版需預留一定硬盤空間以供安裝 x86World 使用。
本文以 RedHat Enterprise Linux 5 Update 2 為例,介紹如何在一臺已經通過 IBM Linux for Power 安裝工具集安裝了 RedHat Enterprise Linux 5 Update2 的 Power 服務器上安裝和卸載 IBM PowerVM Lx86 的過程。
由于篇幅限制,本文不介紹如何通過 IBM Linux for Power 安裝工具集在 Power 服務器上安裝 Linux for Power。如果您不了解這部分內容,請參閱 IBM Linux for Power 安裝工具集用戶使用手冊或 IBM 開發者技術文檔庫中的相關文檔。
啟動 IBM Linux for Power 安裝工具集的 WelcomeCenter
WelcomeCenter 是 IBM Linux for Power 安裝工具集所有工具的主向導程序。安裝 IBM PowerVM Lx86 時,我們首先要啟動 WelcomeCenter。啟動 WelocmeCenter 的過程十分簡單,IBM Power 服務器用戶只需將 IBM Linux for Power 安裝工具集放入服務器的光盤驅動器中并從光盤驅動器引導系統后,當系統出現控制臺提示符后,在控制臺中輸入 WelcomCenter 即可啟動 WelcomeCenter。