在 IBM PureFlex System 上自动化您的虚拟云设备

IBM Virtual Appliance Factory 自动化 KVM 和 PowerVM 环境上的云设备部署

IBM® PureFlex™ System 是一个云就绪的专家集成系统,它利用成熟的模式将基础架构与应用程序层整合起来。PureFlex System 可以进行更具体的优化以满足特定需求,它提供了在单个系统上运行工作负载所需要的全部基础架构元素。为了进一步推进 IBM PureFlex System 优势及快速部署时间,可以使用 IBM Virtual Appliance Factory 工具包,它可自动化地将云设备(应用程序以及适当配置的操作系统和中间件)部署到 Kernel-based Virtual Machine (KVM) 和 PowerVM 云环境中。让我们来了解一下该工具包吧。

Jarek Miszczyk, 首席技术顾问, IBM

Jarek Miszczyk 是 IBM STG Global ISV Enablement 组织中一名有关 System x 虚拟化和云计算方面的首席技术顾问。他居住于明尼苏达州罗彻斯特市。



2012 年 6 月 11 日

传统计算的低效率令人无法忍受,并且企业正在进行改革,以变得更加智慧:

  • 企业需要少花钱多办事,并正在寻找创建和利用创新的方法。
  • 客户需要降低成本,简化运营,并应对不断变化的业务需求,同时平衡维持不变的或收缩的 IT 预算。
  • 客户需要一种更有效、更具成本效益的系统管理方式,同时能够利用云等最新技术,这些技术具有针对不断变化的客户需求调整业务的敏捷性。

IBM 通过提供智慧计算解决方案,帮助客户降低成本,简化复杂性,并充分利用新的创新。这些解决方案超越了提供零件式组件,并提供一种全新的专家集成系统。这些新的系统使用成熟的模式将基础架构与应用程序层集成起来,能够为了满足特定需求而进行具体优化。

IBM PureFlex System 是一种全新型的系统,将通用系统的灵活性和设备的简单性与集成专业知识相结合。IBM PureFlex System 是一个云就绪的专家集成系统,它提供一种新的计算范式,通过绝妙地集成了基础架构和应用程序层的统一管理系统实现跨 Power™、System x、系统管理、网络和存储整合工作负载。

IBM PureFlex System 使客户能够将运行工作负载所需的全部基础架构元素整合到单个系统中。这种整合可以降低成本,提高简单性和效率,是针对提供开箱即用的云功能而构建。

IBM PureFlex System 已针对云计算进行优化,以便迅速向客户交付预打包的虚拟映像,在整个部署生命周期中提供无缝的通用管理,并针对特定的工作负载和多层应用程序进行了优化。

本文介绍了 IBM PureFlex System,主要强调其中的 IBM Virtual Appliance Factory (VAF) 工具包。此工具包可以帮助开发人员将一个应用程序连同适当配置的操作系统、中间件和应用程序打包到一个虚拟云设备中,使向云系统部署(包括在 IBM PureFlex System 上运行的部署)成为一个快速而自动化的任务。

定义虚拟设备

虚拟设备是云部署模型的一个关键组件。虚拟设备是预打包的软件堆栈,包中结合了操作系统、中间件和应用程序。虚拟设备有利于更快地过渡到云,并且比传统的部署方法需要更少的安装和配置工作。虚拟设备解决云计算、软件许可和标准化的关键问题,它适用于传统的 ISV 以及 SaaS 提供者。

举一个例子,一方面,您可以采用一个成熟的、经过市场检验的现有 COBOL 应用程序,并只需要少量的工作,将它打包成一个可以立即部署到云中的单一映像虚拟设备。另一方面,您也可以打包一个新实现且高分布式的面向服务应用程序,并与云所提供的服务集成。这使得 ISV 更具灵活性和敏捷性,能快速响应其客户不断变化的业务需求。

IBM PureFlex System 旨在利用虚拟设备。Flexible System Manager (FSM) 是一个 IBM PureFlex System 自带的硬件设备,它包含一个全面运作的虚拟基础架构管理堆栈:IBM Systems Director 和 VMControl。具体来说,VMControl 是一个 IBM Systems Director 的附加特性,它能管理虚拟设备的整个生命周期。下面简要概述了 VMControl 所提供的丰富功能:

  • 具有版本控制功能的内置 Virtual Appliance Repository。
  • 支持符合行业标准的 DMTF OVF(开放虚拟化格式)规范的虚拟设备。
  • 支持基于 x86 和 Power 的设备。
  • 支持 IBM Virtual System Activation Engine (VSAE),这是一个脚本引擎,可对设备中所包含的整个软件栈进行自动重新配置。进而推动自助服务和自动化的云价值主张。
  • 能够将设备部署到单台主机或一个系统池。
  • 能够将多个正在运行的设备组合成单个工作负载,然后就可以将它作为单个实体进行管理。

虚拟设备模型

如前所述:

OVF 兼容软件 VA [虚拟设备] 的真正价值在于能够自动安装和配置所有软件组件,包括操作系统、中间件和应用程序。不幸的是,许多设备架构师的普遍做法都是以 “半成品的” 状态装运它们,并没有自动化整个软件堆栈的激活。通常情况下,设备架构师使用 VMware 工具,以确保重新配置操作系统级别的设置,如主机名、域名和 root 密码。他们往往不在初始部署时解决操作系统上软件组件的重新配置需求。例如,他们不会重新配置数据库设置。因此,在部署的时候,操作系统级别的主机名会被设置为正确的值,而数据库的配置则显示原来的主机名。

这可能会导致不可预知的结果,往往需要进行手动调试和修复。该方法的问题来自以下几个原因:

  • 需要手动配置已部署工作负载,这破坏了云计算的关键价值主张,即自动化。
  • 部署人(云管理员)可能不具备必要的领域知识,无法正确地重新配置一个第三方应用程序或中间件,或一个多层次应用程序构造的相互依赖关系。

解决这些问题的首选解决方案,是利用 IBM Virtual Solutions Activation Engine (VSAE)。Activation Engine 是一个在设备创建和部署阶段使用的软件工具。在设备构造阶段,Virtual Appliance Factory 工具包在每个虚拟系统映像中自动安装 Activation Engine。然后,当部署设备时,Activation Engine 会在每一个虚拟系统中运行,重新配置系统和已安装的应用程序。

从本质上讲,VSAE 是一个脚本编写引擎,会在激活应用程序服务之前首次启动。例如,IBM WebSphere® Application Server (WAS) 数据源配置需要 DB2® 服务器的主机名称、DB2 正在侦听的端口、数据库名和 DB2 用户凭据。请注意,这些设置在每个实例中都不同,并且是特定于运行时环境的。需要在 WebSphere Application Server 应用程序启动之前就设置好它们,以避免冲突和安全风险。

VSAE 支持一种可插拔式架构,其中软件栈特定方面的配置任务是由专门的激活程序所执行。Activation Engine 按预定义的顺序来调用这些激活程序。

OVF 标准建议,使用虚拟光驱中所包含的一个 XML 配置文件(默认名称为 ovf-env.xml)将运行时参数传递到 Activation Engine。虚拟光驱会在引导时被附加到一个给定的虚拟系统。Activation Engine 会解析 XML 配置文件以检索参数,然后调用一个在应用程序栈中设置变化点(修改点)的特定激活程序。

要构建可完全自动化部署真实且有时相当复杂的解决方案的软件虚拟设备,遵循这个模型是一个很好的方法。

作者注:本文的这一节与下一节的内容选自我的文章 "Cloudify Your Applications by Creating a Software Virtual Appliance",由 MC Press Online, LLC 提供。


构建软件虚拟设备

您如何将应用程序打包为该模型中所描述的格式,使它们具有云就绪性?在市场上有许多构建虚拟设备的选择,但这些选择中有一部分不支持 KVM 等开源虚拟机管理程序,或者不支持除 Intel 以外的其他架构。使用这些选择,整过程可能要涉及到大量手动操作,并且容于出错。本文示例的选择是:

  • 构建虚拟设备 (VA) 的开源工具。
  • 构建虚拟设备的 VMware 工具。
  • Virtual Appliance Factory Service。

开源工具

您可以使用开源工具手动构建软件虚拟设备。例如,您可以在 Linux® 工作站上安装开源虚拟机管理程序 KVM 与虚拟化工具(如 virsh、virt-manager 和 virt-viewer)。使用 virt-manager 创建虚拟机映像,在 KVM 上引导这些映像,并安装所有必要的软件组件。

可以使用一个简单的文本编辑器创建或修改 OVF 文件,以描述您所创建的虚拟机映像的内容。

最后一步是创建一个包含映像和 OVF 的 TAR 存档。

这是手动的虚拟设备创建过程;这个过程需要大量的虚拟化和 OVF 技能,并且相当费时和易于出错。

VMware 工具

您可以使用 VMware Studio 和 OVF Toolkit 等 VMware 工具;它们旨在简化虚拟设备的创建过程。

可以使用 vSphere Client 轻易地导入和部署在 VMware Studio 中创建的虚拟设备。

VMware 工具有一个缺点,它不支持 KVM 等开源管理程序,也不支持除 Intel® 以外的其他架构。

Virtual Appliance Factory Service

您可以利用 Virtual Appliance Factory Service;VAF Service 是一组 Web 2.0 工具、服务和流程,可以简化并自动化 “云化” 流程。VAF Service 所包括的优点:

  • 实现以最小的前期投资进入云空间。
  • 隐藏虚拟化基础架构的复杂性,这意味着设备架构师可以专注于他们特定的知识领域(如多层应用程序组成),而不必处理基础架构设置。
  • 创建一个可部署到 DMTF OVF 兼容数据中心的虚拟设备。
  • 提供云计算的两个关键价值主张:自动化和自助服务。

介绍 IBM Virtual Appliance Factory

IBM 通过结合多年的经验、成熟的方法和可下载的 Web 2.0 工具集,简化了创建过程,从而帮助 ISV 轻松创建一个虚拟设备。IBM Virtual Appliance Factory 是一个自支持工具包,它提供自动化工具来帮助独立软件开发商 (ISV) 预打包应用程序解决方案,以部署在 KVM 和 PowerVM 环境中。

虚拟设备正在通过加快实现价值而改变 IT 行业。这是通过以虚拟的 OVF 格式预打包软件堆栈来实现的,包中结合了操作系统、中间件和应用程序。这加快了部署时间,也加快进入云环境的迅速。

IBM Virtual Appliance Factory 支持 x86: Linux with VMware、Linux with KVM and POWER®、AIX® with PowerVM®、Red Hat,以及 SuSE。

一个典型的计划需要花费一个程序员 3-10 天的时间。使用 IBM Virtual Appliance Factory 构建的虚拟设备符合 "IBM Ready For" 计划的资格,该计划有助于向客户和业务伙伴将您的解决方案突显为一个杰出的最优解决方案。为了符合该资格,虚拟设备必须在 IBM Innovation Center 接受 IBM 硬件上的验证和测试,并且位列于 IBM Global Solutions Directory 清单中以及具备必要的支持文档。

IBM Virtual Appliance Factory 如何工作?端到端的流程使用 IBM Image Construction Tool (ICCT/ICON)、System Director,以及 ICCT Eclipse 插件。这里有一个 KVM 的示例方法。PowerVM 和 VMware 的流程完全相同。

  1. 使用 ICCT/ICON 从可安装的 ISO 文件创建一个基础设备(只是一个附带基本操作系统服务的操作系统)。
  2. 使用 KVM 提供商运行时来部署基础设备,它可以让您管理 KVM 主机上的虚拟系统和映像。
  3. 使用 Eclipse 插件:
    1. 创建和测试一个程序激活器,这个软件块知道在设备部署时如何重新配置软件组件。
    2. 将程序激活器作为一个包导出到 ICCT/ICON。每当将此设备的一个新实例部署到一个主机时,就会激活它。
  4. 通过用 ICCT/ICON 新创建的包来扩展基础设备。ICCT 将虚拟设备中用于描述软件组件的元数据与用于包的元数据合并起来。
  5. 将映像带到最新级别的元数据:
    1. 同步映象和描述该映像的元数据。
    2. 通过进入映像并清理临时文件、SSH 密钥和网络配置来捕获它。
    3. 将映像导出为一个标准格式的 DMTF OVF 规范。
  6. 使用 System Director 的 VMControl 特性:
    1. 将虚拟设备导入到由 VMControl 管理的虚拟设备存储库,以便管理设备的生命周期。
    2. 部署。

结束语

我们向您介绍了虚拟设备模型以及供您构建软件虚拟设备的各种方式。本文还提供了有关 IBM Virtual Appliance Factory 及其流程的信息,该工具包可将您的云设备自动部署到 IBM PureFlex System 环境中。

参考资料

学习

获得产品和技术

  • 查看在 IBM SmartCloud Enterprise 上可用的 产品映像

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing, WebSphere, Information Management
ArticleID=820635
ArticleTitle=在 IBM PureFlex System 上自动化您的虚拟云设备
publish-date=06112012