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。