实现弹性虚拟服务器

使用 IBM PureFlex System 设置和部署弹性虚拟服务器

为了方便使用,IBM® PureFlex™ System 预先集成了硬件并加载了管理软件栈,但在使用它托管弹性虚拟服务器之前,您还需要执行一些手动步骤。在本文中,作者将解释并展示如何设置和部署弹性虚拟服务器(本文使用了 Red Hat 的 KVM 管理程序)。本文提供的指令同样适用于 IBM PureFlex System 的第一个版本,包括补丁。未来的 PureFlex System 版本会简化这个过程。

CheKim Chhuor, 咨询软件工程师, IBM

http://www.ibm.com/developerworks/i/p-cchhuor.jpgCheKim Chhuor 目前在上海 IBM China Systems and Technology 实验室的用户体验团队团队工作。他目前主要关注提高 PureFlex System 的可用性和可消费性。他之前在 IBM Poughkeepsie 研究各种系统管理产品。他还在 IBM Montreal 担任顾问。他有多年的 web 基础架构咨询经验,拥有很多 IBM WebSphere、DB2 和随需应变商务(On Demand Business)证书。



Hai Hang Wang, 软件工程师, IBM

http://www.ibm.com/developerworks/i/p-haiwang.jpgHai Hang Wang 目前在位于上海的 IBM China Systems and Technology 实验室的 PureFlex System Time-to-Value 团队工作。他之前曾在 ToolsCenter 团队担任过软件工程师。当前的研究重点是提高 PureFlex System 的可用性和可消费性。



Wen Qian, 软件工程师, IBM

http://www.ibm.com/developerworks/i/p-wqian.jpgWen Qian (Omi) 在位于上海的 IBM China Systems and Technology 实验室工作。她目前的工作是加快 PureFlex System 的价值时间和提高其可消费性。



Yong Han, 软件工程师, IBM

http://www.ibm.com/developerworks/i/p-yhan.jpgYong Han 是位于上海的 IBM China Systems and Technology 实验室工作。他目前在 Flex 解决方案测试团队致力于提高 PureFlex System 在客户类环境中的可用性。他当前的工作重点是平台虚拟化技术和工作负载部署。



2012 年 11 月 26 日

IBM® PureFlex System 是一个专家集成系统,它将计算节点、存储和网络资源与预构建的智能、自动化专业技术和自动化模式(pattern)组合在一起。虽然该系统附带了许多预加载的、在制造时已进行了集成的组件,但是用户必须手动完成一些步骤之后才能利用高级虚拟化功能。本文将带领您遍历这个过程,向您展示在新配置的系统中将一个虚拟设备部署到弹性系统池中的一些关键步骤。本文还提供了此过程中所涉及的一些内容的解释和关键概念。

在继续我们的介绍之前,如果您从未听说过 IBM PureFlex System 或虚拟设备的概念,请阅读 developerWorks 文章 在 IBM PureFlex System 上自动化您的虚拟云设备

尽管 PureFlex System 提供了对异构虚拟化技术的内置支持,如 IBM PowerVM® 和基于内核的虚拟机 (KVM),但这些技术的配置步骤各不相同。本文只介绍 KVM 技术;PowerVM 技术将在未来的文章中加以介绍。

概述

PureFlex System 的一个重要优势是将系统管理和虚拟化内置到了系统的设计中,不需要用户自己进行集成。另一个重要特性是集成后的产品包括异构计算平台、共享存储和高级网络公牛;在集成方面,它在机架中预先安装了一些机箱组件,并在系统中预加载了软件。

这些功能的大部分是由 Flex System Manager (FSM) 提供的,这是一个运行在机箱内的某个计算节点上的设备。当然,在一个包中构建所有这些端到端功能需要 IT 团队解决更多的管理难题;就这点而论,人们会觉得它的系统设计和用户界面要比一些单纯的软件产品更复杂。但是,如果您准备构建一个包含以下内容的系统栈:

  • 异构平台
  • 共享存储
  • 高级网络功能

所有内容都使用了来自不同供应商的最佳产品,您会面对更多的集成难题,并且生命周期的每个阶段都会使用不同的用户界面,这些阶段包括:规划、采购、安装、配置、管理、维护和支持。这种设置很可能要求多种角色和专门技术才能使系统正常启动并运行。PureFlex System(以及 IBM PureSystems™ 家族的其他成员)旨在通过最少量的物理专家成功管理这类实现、集成和部署。

也就是说,本文中的说明仅适用于 PureFlex System 的第一个版本(包括补丁)。我们尽最大努力简化和集成系统管理和虚拟化管理的各个方面;下一个版本会在更短的时间内用更少的用户操作完成相同的任务。

要开始使用 PureFlex System 设置和部署弹性虚拟服务器,首先需要了解连接性和硬件设置。


硬件设置和连接性

以下是撰写本文时使用的硬件:

  • 1 IBM Flex System Enterprise Chassis
  • 1 IBM Flex System Manager
  • 1 IBM Flex System FC3171 8Gb SAN Switch(基于 QLogic 技术)
  • 1 IBM Flex System EN2092 1Gb Ethernet Switch(早前的 BNT 技术)
  • 1 IBM Storwize V7000 存储服务器
  • 3 IBM Flex System x240 计算节点,带 Emulex HBA

图 1 展示了这些组件如何连接在一起。

图 1. 以太网和光纤通道连接拓扑
以太网和光纤通道连接拓扑

计算节点将在机箱背板上自动连接到以太网交换机和光纤通道交换机。Flex System Manager 的第一个以太网端口会在中板上连接到 Chassis Management Module (CMM) 的内置 L2 以太网交换机,这同样适用于计算节点的 Integrated Management Module (IMM)。V7000 在制造过程中就已经连接到机箱以太网交换机和机箱 SAN 交换机。

如果包含冗余以太网和光纤通道路径,并且管理域中有多个机箱,那么拓扑图会更加复杂。对于本文中的练习,为了保持简单,我们只包含了一个连接路径。

PureFlex System 通常在机架中已预装了线缆;用户只需将各个 EN2092 上行端口连接到架顶式 (TOR) 交换机即可。


系统初始设置

连接好网络和电源之后,就可以对系统进行初始设置。初始设置非常简单,因此这里不会过多介绍。初始设置就是指使用控制台分支电缆将监视器、键盘和鼠标连接至 Flex System Manager,然后按照初始设置向导的提示提供一些基本信息,如时间、网络地址、管理员帐户名和密码。Flex System Manager 将在完成初始设置后重启,以便让新的配置生效。

完成初始登录后,初始设置任务会引导您更新系统组件并管理机箱。

在 Flex System Manager 机箱图中查看硬件状态

Flex System Manager 的机箱图 (chassis map) 是一个功能强大的界面,它将启用点 (launching point) 整合到大部分 Flex System Manager 功能中,特别是硬件管理和状态。图 2 显示了我们的系统的机箱图。

图 2. 在机箱图中查看硬件状态
在机箱图中查看硬件状态

注意,Flex System Manager (FSM) 位于 bay 1(左下方)中,之后是 3 个 x240 节点。以太网和光纤通道交换机分别位于机箱后部。您可以忽略 bay 7 和 bay 10 中的两个 POWER 节点,以及机箱后部的 bay 1 和 bay 4 中的额外的光纤通道和以太网交换机。

要启动 Flex System Manager Web 控制台,请执行以下操作:

  1. 单击 Chassis Manager 选项卡,打开要管理的机箱列表。
  2. 单击需要管理的机箱;本文使用的机箱名为 TTV_chassis。

在正常环境中,不应该在机箱组件上看到任何红色报警图标。如果某个组件处于紧急状态,则需要了解问题所在并尽可能解决它。紧急状态意味着可能无法成功执行本文中的某些步骤。

请注意,系统不会在管理机箱任务中自动发现中端存储控制器 Storwize V7000。您必须在 Flex System Manager 命令行界面中运行命令 manageV7000。例如:

smcli manageV7000 -i V7000_IP_address -p superuser_password

还需要注意的是,V7000 不会显示在机箱图中。它只会显示在 Resource Explorer 表中。

检查所有资源的状态

在将某个机箱添加到 Flex System Manager 的管理范围内之后,Flex System Manager 会请求使用默认内置帐户访问后台的硬件组件,该帐户会随着组件而变化。对于某个给定组件,有可能会启用多个协议。一旦获得访问,Flex System Manager 就会检索托管组件的健康状态,并将该状态显示在 Problems 列中。

要查看组件的状态,请执行以下步骤:

  • 在 Chassis Manager 右侧,选择 General Actions > Resource Explorer
  • 单击 All Systems,显示由 Flex System Manager 管理的所有资源。确保上面提到的资源的 Access 状态和 Problems 状态为 OK
图 3. 检查资源的访问状态
检查资源的访问状态

如果访问状态为 Partial AccessNo Access,那么请单击该状态,查看哪些协议未成功启用并采取纠正措施。如果出现问题,您还可以单击它以查看问题描述并采取纠正操作。


设置 SAN 存储

PureFlex System 使用 Storwize V7000 作为标准的共享存储设备。在同时购买 PureFlex System 和 POWER 计算节点的情况下,它们在制造过程中就已经进行了分区,能够看到机箱光纤通道交换机内部的 V7000 控制器。不过,这个过程目前并不涉及 x86 计算节点,因此必须通过交换机的 Web 界面手动完成分区。

同样,当购买 POWER 节点时,V7000 也在制造过程中进行了初始化,具有基本的存储池。但是如果您的系统并未附带预初始化的 V7000,那么您需要手动完成 V7000 初始设置向导,它将引导您创建一个基本的存储池,使用所有 V7000 的内部磁盘。

虽然 IBM Flex System Enterprise Chassis 通过一对 FC 交换机充分支持多路径 SAN 连接,但是在 HBA 端口、交换机和 V7000 控制器之间进行多路径分区时必须谨慎(分区不属于本文的讨论范围)。阅读 zoning,了解有关的更多信息。

一个简单方法就是使用单个路径开始进行设置,以避免产生混淆。理解了整个环境并且环境运行正常后,就可以启用第二条路径来实现更高的可用性。

在完成验证或分区并且将 V7000 交由 Flex System Manager 管理后,必须检查 SAN 环境连接。收集交换机清单和 V7000 后,Flex System Manager 对您的存储基础架构应该有了一个全面的了解。

实现良好的 SAN 连接对于端到端虚拟服务器指配至关重要。系统提供了一个命令来验证是否可以在 SAN 存储中看到每个计算节点。我们建议用户在继续后面的处理之前对连接进行目测检查。

在 Flex System Manager 命令行界面中,运行命令 smcli dumpstcfg 来查看 SAN 配置信息。确保 Switches、Storage Subsystems 和 Hosts Accessible Containers 在 SAN 配置列表中正确无误。

清单 1. SAN 配置列表
1- USERID@r2-c3-chl-fsmeth0:-> smcli dumpstcfg
2-               SAN Configuration
              ------------------------
3- Switches
   --------
4- Name              OID   Provider IP     Switch IP               WWPN

5- FC Switch   8729  9.27.20.203   9.27.20.203         10000000DD1F247F

6- Storage Subsystems
   ------------------
7- Name           OID Provider IP  Subsystem IP                Largest Slice (in GBs) 
8- Storwize V7000 9540    -       {'9.27.20.225'}        6701.5

9- Server Accessible Containers
   --------------------------------------
10- NAME: STORAGE SUBSYSTEM/POOL
11- KVM_host_1:       Storwize V7000/DefaultPoo101 
12- FSM_host:         Storwize V7000/DefaultPoo101
13- KVM_host_2:       Storwize V7000/DefaultPoo101
14- ImRepo_host:      Storwize V7000/DefaultPoo101

如果第 11 到 14 行的可访问服务器的容器显示:主机并未像预期的那样与 V7000 相连,则需要检查交换机分区是否正确,然后再次收集计算节点、交换机和 V7000 清单。请确保在没有错误发生的情况下成功完成清单收集。


在计算节点上为映像存储库安装 RHEL

映像存储库是 Flex System Manager 虚拟化映像管理的重要组成之一。在捕获和部署期间,虚拟设备是通过映像存储库管理的。因此,映像存储库所在的主机对 SAN 基础架构的访问必须与管理程序节点相同。映像存储库运行在 Red Hat Enterprise Linux (RHEL) 操作系统上,同时安装了 IBM Systems Director Common Agent 和 VMControl Common Repository 子代理。执行以下步骤,设置一个映像存储库。

安装 RHEL6.2

  1. 启动安装向导,选择 Basic Server 进行安装;无需使用额外的软件包。
  2. 安装完操作系统后,请配置网络。
  3. 将 SELinux 设为 permissive 状态并禁用防火墙:
    1. Common Agent 在 SELinux 策略为 enforcing 状态时无法进行安装。 运行 getenforce 命令来检查 SELinux 状态。如果输出为 enforcing,则运行 setenforce 0,将 SELinux 转变为 permissive 状态。
    2. 需要禁用防火墙来确保 Flex System Manager 可以发现 CIM 协议。通过运行 service iptables status 命令来查看防火墙状态。如果结果不是 firewall is not running,则运行 service iptables stopchkconfig iptables off 来禁用防火墙。
  4. 为 IBM Systems Director Common Agent 安装必要的软件包。在安装 Common Agent 之前必须安装以下软件包:
    • libcrypt.so.1
    • libc.so.6
    • libdl.so.2
    • libstdc++.so.5
    • libgcc_s.so.1
    • libm.so.6
    • libnsl.so.1
    • libpam.so.0
    • libpthread.so.0
    • librt.so.1
    • unzip
    • bind-utils
    • net-tools
    • libstdc++.so.6
    • db4
    • libselinux
    • cracklib
    • audit-libs
    所有这些软件包都可以从 RHEL 6.2 映像的 directory /packages/ 中获得。

安装 IBM Systems Director Common Agent 和子代理

安装 Common Agent

  1. 从 IBM Systems Director 下载页面下载用于 Linux 的 Common Agent 6.3.1 包(选择手动安装)。
  2. 将代理包 SysDir6_3_1_Common_Agent_Linux_x86.tar.gz 上传到映像存储库主机,然后提取它并运行 dir6.3.1_commonagent_linux_x86 来开始安装过程。
  3. 通过运行 install_root/agent/runtime/agent/bin/endpoint.sh status 来查看 Common Agent 状态。如果 Common Agent 没有运行,那么运行 endpoint.sh start 来启动 Common Agent。
  4. 在操作系统上发现和收集清单:
    1. 在 Flex System Manager Home 页面上,选择 Plug-ins 选项卡。
    2. 单击 Discovery Manager 下方的 System Discovery,输入操作系统的 IP 地址。
    3. 单击 Discover Now
    4. 发现操作系统后,单击操作系统的访问状态并输入其帐户来请求访问。
    5. 当操作系统的访问状态为 OK 时,会同时在映像存储库主机和操作系统中收集清单,方法为右键单击资源并选择 Inventory > Collect Inventory
  5. 检查操作系统的协议。右键单击映像存储库主机的操作系统并选择 Security > Configure Access。确保 CIM 和 CAS 协议可用。协议检查失败的一个常见原因是防火墙规则使用不当,如果存在疑问,那么可以尝试禁用防火墙,以确定是否存在这方面的问题。

安装 VMControl Common Repository 子代理

注意:如果使用 PureFlex System 的第二个版本,那么可以跳过这个步骤。安装子代理是创建映像存储库向导的一部分。

要启动 Flex System Manager Web 控制台,请执行以下操作:

  1. 打开 VMControl 摘要页面并选择 Basics 选项卡。
  2. 单击 Install Agent。完成 Agent Installation 向导。
    1. 在 Agents 页面上,选择并添加子代理包 CommonAgentSubagent_VMControl_ComonAgentRepository-2.4.1。
    2. 在 Systems 页面上,选择并添加映像存储库主机 ImRepo_host。
  3. 在操作系统上重新收集清单,确保 Flex System Manager 可以管理代理。

创建 VMControl 映像存储库

  1. 在 VMControl 摘要页面上,选择 Virtual Appliances 选项卡。
  2. 单击 Create image repository 并完成 Create Image Repository 向导。
    1. 在 Name 页面上,指定映像存储库的名称。本文使用 KVM_SAN_ImRepo 作为映像存储库的名称。
    2. 在 Target System 页面上,选择映像存储库主机的操作系统。
    3. 在 Storage 页面上,选中已在 V7000 中创建的存储池,如 DefaultPool01。

为了节省精力,我们提供了一个 定制的 kickstart 响应文件,使用它为映像存储库安装 RHEL 6.2。它将自动配置 SELinux 和防火墙,并安装必要的软件包。在 kickstart 文件的帮助下,您只需执行以下步骤即可:

  1. 安装 IBM Systems Director Common Agent
  2. 在主机的操作系统上发现并收集清单文件
  3. 安装 VMControl Common Repository 子代理
  4. 再次在主机的操作系统上收集清单文件
  5. 创建 VMControl image 映像存储库

在计算节点上安装 RHEL KVM

在 KVM 管理程序主机上,您必须为 Flex System Manager 安装 IBM Systems Director Platform Agent for KVM,以便远程控制管理程序。此外,您还必须为网络系统池配置并启用 SNMP daemon。

为 KVM 主机安装 RHEL 6.2

  1. 完成安装向导。在 packages selection 页面上,选择 DesktopsVirtualization 类别中的所有组。
  2. 安装完操作系统后,请配置网络桥,以实现虚拟服务器网络连接:
    1. 备份网络脚本文件 /etc/sysconfig/network-scripts/ifcfg-eth0。
    2. 导航到脚本目录并创建网络脚本的另一个副本,该脚本用于定义与网卡有关联的 Linux 桥接: cp ifcfg-eth0 ifcfg-br0
    3. 编辑脚本文件(在系统上配置静态 IP 地址):
      • 对于 ifcfg-eth0:
        DEVICE=eth0
        TYPE=Ethernet
        ONBOOT=yes
        NM_CONTROLLED=no
        BRIDGE=br0
        HWADDR=00:14:5E:C2:1E:40
      • 对于 ifcfg-br0:
        DEVICE=br0
        TYPE=Bridge
        ONBOOT=yes
        NM_CONTROLLED=no
        BOOTPROTO=static
        IPADDR=9.27.20.222
        NETMASK=255.255.252.0
        GATEWAY=9.27.20.1
    4. 重启网络:service network restart
    5. 禁用 Netfilter 处理,方法是将以下代码行附加到 /etc/sysctl.conf 文件:
      net.bridge.bridge-nf-call-ip6tables = 0
      net.bridge.bridge-nf-call-iptables = 0
      net.bridge.bridge-nf-call-arptables = 0
  3. 将 SELinux 设为 permissive 状态并禁用防火墙。查看详细步骤
  4. 安装必要的软件包,以便安装 KVM Platform Agent 和启用虚拟服务器的远程控制台。
    • vncserver
    • libconfig
    • libsysfs
    • lm_sensors
    • net-snmp
    • net-snmp-libs
    • redhat-lsb
    上述所有软件包均可从 RHEL 6.2 ISO 映像的 /Packages/ 目录中获得。

为网络拓扑设置 SNMP daemon

您需要为将在 Network Topology Inventory 中出现的所有系统和交换机启用 SNMP,从而实现可用的网络系统池。在 KVM 主机命令行界面上,运行以下命令来确保 SNMP 已启用。

  • 网络拓扑要求进行 MIB2 Tree SNMP 访问。在编辑器中打开 /etc/snmp/snmpd.conf 文件,检查以下用于所需的 SNMP 配置的所有代码行是否存在。确保显示了以 view 开头的代码行:
    # Make at least snmpwalk -v 1 localhost -c public system fast again.
    #       name       incl/excl   subtree   mask(optional)
    view   systemview   included   .1.3.6.1.2.1.1
    view   systemview   included   .1.3.6.1.2.1
  • 运行以下命令重启 SNMP 服务:service snmpd restart
  • 运行以下命令确保 SNMP 服务在系统重启时启动:chkconfig snmpd on

安装 KVM Platform Agent 实现虚拟化管理

  • IBM Systems Director Downloads 页面 下载 KVM Platform Agent 6.3.1 for RHEL 6.2。选择手动安装。
  • 将 SysDir6_3_1_Platform_Agent_Linux_RHEL6KVM_x86_64.tar.gz 上传至 KVM 主机。
  • 解压 Platform Agent 文件。
  • 运行 dir6.3.1_platform_agent_linux_rhel6kvm_x86_64 开始进行安装。

在 KVM 主机的 OS 上发现和收集清单文件

在 KVM 主机的操作系统上发现和收集清单文件:

  1. 发现 KVM 主机的操作系统。
  2. 请求访问已发现的操作系统。
  3. 当操作系统的访问状态为 OK 时,在 KVM 主机和操作系统上同时收集清单文件。
  4. 检查操作系统的协议:右键单击 KVM 主机的操作系统并选择 Security > Configure Access。确保 CIM 和 SNMP 协议可用。

为了节省时间,本文提供了 定制的 kickstart 响应文件,使用它为 KVM 主机安装 RHEL 6.2。它将自动配置 SELinux 和防火墙,并安装所需的软件包。在这个 kickstart 文件的帮助下,您只需执行以下步骤即可:

  1. 配置网络桥接
  2. 配置并启用 SNMP daemon。
  3. 安装 IBM Systems Director Platform Agent for KVM。
  4. 在主机的操作系统上发现和收集清单文件。

创建虚拟服务器并安装 OS

在 Flex System Manager VMControl 中创建一个虚拟服务器,然后在该服务器上安装一个操作系统。使用向导创建虚拟服务器非常简单,但是在安装操作系统时,有一些额外的注意事项。

标准的操作系统安装方法,诸如 PXE 或通过 IMM 远程挂载 ISO 文件,都适合用于虚拟服务器,但是本文将演示一种比标准方法更好的方法。该方法的步骤包括将安装介质 ISO 文件复制到 V7000 上的一个逻辑驱动,然后使用逻辑驱动模拟 DVD 设备来启动虚拟服务器,从而实现安装。我们将逻辑驱动称为 安装介质驱动

要在虚拟服务器上安装操作系统:

  1. 创建和配置安装介质驱动。
  2. 使用 VMControl 向导创建虚拟服务器。
  3. 启动虚拟服务器。
  4. 通过 VNC 远程控制在虚拟服务器上安装操作系统。
  5. 从虚拟服务器的启动列表中移除安装介质驱动。

请注意,安装介质驱动只需要创建一次就可以供后续使用。您还可以使用早前安装的虚拟服务器作为虚拟设备并部署它。在本例中,不必再次安装操作系统。

创建安装介质并将 ISO 内容复制到其中

首先,利用 Flex System Manager 的存储管理功能在 V7000 上创建安装介质驱动,并将其自动映射到管理程序主机,不必用到存储服务器或交换机界面。然后,将 ISO 文件的内容复制到其中并在创建虚拟服务器时将其指定为启动驱动。

  1. 使用 scp 命令将 ISO 映像上传到 KVM 主机。
  2. 创建安装介质驱动并映射到主机。要在 V7000 上创建逻辑驱动:
    1. 在 VMControl summary 页面,单击 Virtual Servers and Hosts 选项卡。
    2. 选择目标主机 KVM_host_1。右键单击 KVM 主机并选择 System Configuration > Edit Host
    3. 在 Disks 选项卡上,单击 Create 并选择存储池 DefaultPool01。单击 Apply
    4. 输入卷标签(名称必须以 _ISO 结尾),本文中为 RHEL_ISO,然后输入磁盘大小。单击 OK
    5. 完成创建后,您可以在 KVM 主机的 Disks 页面上查找连接到 KVM 主机的磁盘。
      图 4. 查看 KVM 主机上的磁盘连接
      查看 KVM 主机上的磁盘连接

将内容复制到安装介质驱动

将安装介质 ISO 文件上传到主机(例如,在 /tmp 目录中)上。使用 dd 命令将 ISO 文件以二进制格式复制到安装介质驱动中。

我们的系统花了两分钟的时间完成了二进制文件的复制。此后,每次安装虚拟服务器都可以重用该驱动。我们假设您可以只使用 DVD ISO 文件完成操作系统的安装。如果需要使用第二个 DVD 的内容,我们建议您在完成初始安装后安装这些包。

要使用 VMControl 向导创建虚拟服务器,请执行以下操作:

  1. 在 VMControl summary 页面上,单击 Virtual Servers and Hosts 选项卡。
  2. 右键单击目标 KVM host KVM_host_1 并选择 System Configuration > Create Virtual Server。完成 Create Virtual Server 向导。
    1. 在 Name 页面上,输入虚拟服务器的名称,在本文中为 VS_RHEL61。
    2. 在 Processor 页面上,指定处理器的数量和分配给该虚拟服务器的内存数量。
    3. 在 Disk and Devices 页面上, 单击 Add Existing Disks 添加在 创建安装介质驱动并映射到主机 一步中创建的安装介质 RHEL_ISO。
    4. 在同一个页面中单击 Create New Disk,将新创建的磁盘添加到已分配的磁盘和设备列表中。
    5. 在 Boot Order 页面上,将 First ISO Device (cdrom) 指定为第一个启动设备,将 First Virtual Disk (hd) 指定为第二个设备。
    6. 在 Network 页面上,选择您希望分配给虚拟服务器的网络。
图 5. Create Virtual Server 向导的摘要页面
Create Virtual Server 向导的摘要页面

通过 VNC 远程控制在虚拟服务器上安装操作系统

在继续后面的处理之前,确保您已经在工作组中安装了一个 VNC 查看器软件包(如 RealVNC),并配置它,以便打开具有 .vnc 文件扩展名的文件。

要在虚拟服务器上安装操作系统,请执行以下操作:

  1. 在 VMControl summary 页面上,单击 Virtual Servers and Hosts 选项卡。
  2. 右键单击目标虚拟服务器 VS_RHEL61 并选择 Power On/Off > Power On
  3. 右键单击虚拟服务器并选择 Remote Access > Remote Console,这样将打开远程控制台,开始操作系统安装过程。

配置 IP 地址并移除启动磁盘

完成操作系统安装后,配置虚拟服务器网络并从虚拟服务器中删除启动磁盘。

  1. 通过 VNC 或 Flex System Manager Web 控制台关闭虚拟服务器。
  2. 在 VMControl summary 页面上,单击 Virtual Servers and Hosts 选项卡。
  3. 右键单击虚拟服务器并选择 System Configuration > Edit Virtual Server
  4. 选择 Disks and Devices 选项卡,然后选择 boot disk 并单击 Remove
  5. 启动虚拟服务器。

现在,虚拟服务器的创建和操作系统安装均已完成。


捕获虚拟服务器作为虚拟设备

捕获任务使您能够从各种来源进行捕获,从而创建虚拟设备。您可以部署虚拟设备,创建一个新的虚拟服务器,并且虚拟服务器具有功能完善的操作系统和软件应用程序。

激活引擎允许从虚拟设备中部署虚拟服务器,在首次启动虚拟服务器时,自动定制虚拟服务器将成为部署的一部分。我们使用 Virtual Solutions Activation Engine (VSAE) 实现 Linux 操作系统捕获。VSAE 附带了 VMControl,可以从用 VMControl 捕获的虚拟设备中应用 IP 配置。对于 Windows,您可以使用 VMCWINAE。

虽然使用激活引擎是可选的,但是它使虚拟设备的部署变得十分方便:它确保已部署的虚拟服务器在第一次启动时就配置好 IP 网络,用户不需要远程添加就可以完成网络配置。激活引擎在未使用 DHCP 的完全自动化的自助服务云环境中尤其有用。

安装 Virtual Solutions Activation Engine (VSAE)

要在虚拟服务器上安装 VSAE,请执行以下操作:

  1. 登录到虚拟服务器并从 Flex System Manager 复制 VSAE 包。vmc.vsae.tar package 位于 Flex System Manager 的 /opt/ibm/director/proddata/activation-engine 目录中。
  2. 提取压缩文件的内容。
  3. 在提取 VSAE 的目录中运行 ./linux-vsae.sh 命令,以便在虚拟服务器上安装 VSAE。
  4. 请注意,如果使用的是 PureFlex System 的第二版,您应当运行 /opt/ibm/ae/AE.sh -reset 来重置 VSAE。

捕获虚拟服务器

要捕获虚拟服务器,请执行以下操作:

  1. 关闭虚拟服务器 VS_RHEL61。
  2. 右键单击虚拟服务器并选择 System Configuration > Capture
  3. 完成 Capture 向导以捕获虚拟服务器,然后创建一个新的名为 VS_RHEL61_VA 的虚拟设备。
图 6. Capture Virtual Server 向导的摘要页面
Capture Virtual Server 向导的摘要页面

创建网络系统池

新的虚拟服务器应该在来自管理 VLAN 的不同 VLAN 上进行通信。因此,需要设置 Network Control,使它能够自动配置和管理 VLAN。在通过 VMControl 部署虚拟设备时,还可以获得额外的 VLAN。

设置 Network Control 需要三个主要捕获:

  1. 收集和查看网络拓扑。
  2. 创建逻辑网络配置文件。
  3. 创建网络系统池。

收集和查看网络拓扑

需要使用网络设备的拓扑信息来创建网络系统池。要收集这些信息,可以对网络系统池中的所有以太网交换机和操作系统启用 SNMP 协议。然后,通过 Flex System Manager Web 界面收集和查看网络拓扑。

在以太网交换机和操作系统上查看 SNMP 状态
在 KVM 主机的两个操作系统上启用了 SNMP。请参考 为网络拓扑设置 SNMP daemon,获得详细的配置信息和步骤。要在以太网交换机上配置 SNMP,请执行以下操作:

  1. 确保已在交换机上启用 SNMP。

    对于交换机命令行界面,使用命令 /cfg/sys/ssnmp/snmpv3/v1v2。在提示符中,输入 e 来启用 SNMP,然后输入 apply。如果 SNMP 成功启用,则输入 save

    对于 Flex System Manager Web 界面:

    1. 在 Chassis Manager 页面上,在 General Actions 下单击 Resource Explorer 并选择 All Systems
    2. 右键单击以太网交换机并选择 Security > Configure Access
    3. 确保 SNMP 的访问类型可用且访问状态为 OK。如果 SNMP 被锁定,则必须进行解锁。首先,选择 SNMP 并单击 Configure Credentials。完成 Configure Credential 向导。
      1. 在 Credential Type 页面上,选择 SNMP v3
      2. 在 Credential Details 页面上,根据交换机的 SNMP 配置文件输入正确的 SNMP 信息。以下是一个默认的 SNMP 用户:
        • User ID:adminmd5
        • Authentication Protocol:MD5(默认认证密码通常为 adminmd5)
        • Privacy Protocol:DES(默认私有密码通常为 adminmd5)
      3. 在 Configure Access 页面上,单击交换机名称 Ethernet switch,确认 SNMP 凭证已解锁。
      图 7. 在以太网交换机上查看 SNMP 状态
      在以太网交换机上查看 SNMP 状态
  2. 确保在交换机上收集了清单文件:
    1. 在 Resource Explorer 页面上,单击 All Systems
    2. 右键单击以太网交换机并选择 Inventory > Collect Inventory
  3. 检验每个 IP 端点都有一个子网掩码:
    1. 在 Resource Explorer 页面上, 单击 All Systems
    2. 右键单击以太网交换机并选择 Properties
    3. 单击 Inventory 选项卡。在 Collected Items 框的导航树中,展开 Network Configuration 并单击 IP Interface
    4. 查看右侧表中的 Subnet Mask 字段。确保其中有一个有效值。如果没有,责在以太网交换机上配置子网掩码并再次收集清单文件。
  4. 确保启用了转发数据库 (FDB) 学习功能;在交换机和端口上启用了 Spanning Tree Protocol (STP) 和 Link Layer Discovery Protocol (LLDP)。在交换机 Web 界面上,单击 IBM Flex System EN2092 1Gb ScSw > Layer 2 以展开左侧的导航树:
    1. 单击 FDB,状态应当为 FORWARD。
    2. 单击 Spanning Tree Groups,状态应当为 On。
    3. 单击 LLDP > General,状态应当为 On。

收集网络拓扑
在 Flex System Manager Web 界面上:

  1. 在 Plug-ins 选项卡上,单击 Network Control
  2. 在右侧的 Common Tasks 字段,单击 Network Topology Inventory
  3. 单击 Collect network topology for SNMP-enabled resources
  4. 从 Show 下拉菜单中选择 All Systems
  5. 从 All Systems(View Members)表中选择两个 KVM 主机和以太网交换机。单击 Add 将它们添加到右侧的 Selected 字段。
  6. 单击 Collect Topology
图 8. 选择系统以收集网络拓扑
选择系统以收集网络拓扑

查看网络拓扑
当收集网络拓扑工作完成后:

  1. 单击 Network Topology Inventory 页面上的 View network topology
  2. 确保两个 KVM 主机的操作系统和以太网交换机已经添加到 Selected 字段中。
  3. 从 Network 拓扑透视图下拉菜单中选择 Port-level 并单击 View Topology
  4. 确保以太网交换机和 KVM 主机之间是相连的。
图 9. 查看网络拓扑
查看网络拓扑

创建逻辑网络配置文件

逻辑网络配置文件定义了一些属性,用于描述网络系统池内的逻辑网络。位于相同逻辑网络上的服务器将能够互相连接。这是网络系统池提供的一个关键功能。每个逻辑网络配置文件都指定了一个 VLAN ID,您需要将虚拟服务器连接到这个 VLAN ID。

要创建逻辑网络配置文件,请执行以下步骤:

  1. 在 Plug-ins 选项卡中上,单击 Configuration Manager 下方的 Configuration Templates
  2. 单击 Create
  3. 从 Template type 下拉菜单中选择 System pool
  4. 从 Configuration 中选择 Logical Network Configuration,创建一个模板下拉菜单。
  5. 在 Configuration template name 字段中指定一个名称。
  6. 单击 Continue
  7. 单击 Create。完成 Logical Network Configuration 向导:
    1. 在 Profile Name 页面上,指定配置文件的名称。本文使用了 VLAN457。
    2. 在 VLAN Configuration 页面上,选择一个 VLAN ID。本文使用了 457 作为 VLAN ID。
  8. 单击 Save
图 10. Logical Network Configuration Profile 向导的摘要页面
Logical Network Configuration Profile 向导的摘要页面

创建网络系统池

要创建网络系统池,请执行以下操作:

  1. 在 VMControl 摘要页面上,选择 System Pools 选项卡。从 View 下拉菜单中选择 Network system pools
  2. 单击 Create。完成 Create Network System Pool 向导:
    1. 在 Name 页面上,指定网络系统池的名称。本文使用了 KVM_NSP。
    2. 在 Initial System 页面上,选择将要包含到网络系统池的交换机,在本文中它是一个以太网交换机。
    3. 在 Logical Network Profiles 页面上,单击 Add 添加所有允许在网络系统池中部署的配置文件。本例中为 VLAN457。
图 11. Create Network System Pool 向导的摘要页面
Create Network System Pool 向导的摘要页面

创建服务器系统池

服务器系统池按照一定的逻辑对相似的主机进行分组,简化了系统池中虚拟机在不同主机之间的重新定位。

要创建服务器系统池,请执行以下操作:

  1. 在 VMControl 摘要页面上,选择 System Pools 选项卡。从 View 下拉菜单中选择 Server system pools
  2. 单击 Create。完成 Create Server System Pool 向导:
    1. 在 Name 页面上,指定系统服务器池的名称。本文使用的名称为 KVM_SSP。
    2. 在 Pooling Criteria 页面上:
      1. 单击 Only add hosts capable of the virtual server relocation
      2. 单击 Only add hosts connected to a network system pool and capable of automated network deployment
      3. 在 Network System Pools (View Members) 表中选择 target network system pool。在本文中为 KVM_NSP。
    3. 在 Initial Host 页面上:
      1. 从 Show 下拉菜单中选择 All Targets
      2. 选择其中一个 KVM 主机并单击 Add,将其添加到 Selected 字段。
      3. 从 Available shared storage 下拉菜单中选择 target storage,本文中为 Storwize V7000。
    4. 在 Additional Hosts 页面上,选择另一个 KVM 主机并单击 Add,将其添加到 Selected 框。
图 12. Create Server System Pool 向导摘要页面
Create Server System Pool 向导摘要页面

将虚拟设备部署到服务器系统池

要部署虚拟设备,请执行以下操作:

  1. 在 VMControl 摘要页面上,选择 Virtual Appliances 选项卡。
  2. 从 Virtual Appliances (View Members) 表中选择将要部署的虚拟设备,单击 Deploy Virtual Appliance
  3. 完成 Deploy Virtual Appliance 向导:
    1. 在 Target 页面上,选择 KVM_SSP,这是目标服务器系统池。
    2. 在 Name 页面上,指定虚拟服务器的名称。本文中使用的是 VS_RHEL61_deploy。
    3. 在 Network Mapping 页面上,选择 VLAN1032,它是 Assigned Virtual LAN on Host 下拉菜单中的目标逻辑网络配置文件。
    4. 在 Product 页面上,输入网络属性。
图 13. 在 Product 页面上输入网络属性
在 Product 页面上输入网络属性

验证资源已正确创建

确保已在 V7000 存储上创建了虚拟磁盘,并且已经在网络交换机上创建了 VLAN。

在 V7000 上创建的虚拟磁盘

在 V7000 Web 界面上,查看 Volumes > Volumes by Host。在 KVM_host_2 上创建一个新的卷,UID 为 60050768028083283800000000000193。

图 14. 查看 V7000 上的新的虚拟磁盘
查看 V7000 上的新的虚拟磁盘

在 KVM_host_2 命令行界面上,运行命令 ls /dev/disk/by-id。这会列出新创建的卷,您可以通过 UID 识别它们。

清单 2. 查看连接到 KVM 主机的新的虚拟磁盘
[root@r2-c3-ch1-ite4-eth0 ~]# ls /dev/disk/by-id/
scsi-360050768028083283800000000000193
scsi-360050768028083283800000000000193-part1
scsi-360050768028083283800000000000193-part2
wwn-0x60050768028083283800000000000193
wwn-0x60050768028083283800000000000193-part1
wwn-0x60050768028083283800000000000193-part2

在网络交换机上创建的 VLAN

在 Ethernet switch Web 控制台上,单击 IBM Flex System EN2092 1Gb ScSw > Layer 2 > Virtual LANs,展开左侧的导航树。新的 VLAN 457 将自动添加到端口。

图 15. 查看在以太网交换机上创建的新的 VLAN
查看在以太网交换机上创建的新的 VLAN

结束语

在本文中,我们带领您了解了在 PureFlex System 中如何设置映像存储库、安装 KVM 管理程序、创建网络系统池和服务器系统池、创建并安装虚拟服务器,以及捕获和部署虚拟服务器,以便实现具有弹性的动态重定位 (live relocation)。

在此过程中,我们还向您展示了一些关键的验证步骤。虽然每个环境都有一些独特的挑战,但是我们希望这里介绍的内容和验证步骤足以帮助您成功完成所有操作。

我们将继续集成、简化和自动化 IBM PureFlex System,从而改进投产期,降低使用该系统所需的技术水平。


下载

描述名字大小
样例代码kickstartfiles.zip3KB

参考资料

学习

获得产品和技术

讨论

  • 加入 developerWorks 社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户进行交流。

条评论

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, Linux
ArticleID=847138
ArticleTitle=实现弹性虚拟服务器
publish-date=11262012