使用 Xen 虚拟服务器交付高可用性

来源:developerWorks 中国 作者:Da Shuang He
  
详细了解如何通过 IBM® System Director Virtual Availability Manager 实现 Xen 虚拟服务器的高可用性。Virtual Availability Manager 包含在 IBM System Director Virtualization Manager 包中,它是 IBM Director 的扩展。本文将向您介绍各个步骤,包括先决条件、设置和故障诊断等,使您开始实现快速交付虚拟高可用性功能。

本文介绍的步骤可以帮助您使用 IBM System Director Virtual Availability Manager 实现 Xen 虚拟服务器的高可用性。这些步骤建立在 IBM Blade Server HS21 和 IBM Storage DS4300 的基础之上。

先决条件

开始之前,您需要三个安装了 SUSE Linux 10 SP1 的 HS21 刀片服务器,并且应当对其中的两个刀片服务器 blade2 和 blade3 配置共享存储,并且共享存储区域应当大于 19GB。





为主机服务器配置环境

执行以下步骤为您的主机服务器配置环境:

  1. 从 SUSE 10 SP1 Install 映像文件安装必要的软件包:
    • 至少 2.0.8 版本的 heartbeat
    • 至少 1.2.2 版本的 ocfs2-tools
    • 至少 2.5.5 版本的 evms-ha
    • 至少 2.4.2 版本的 python-curses
    如果从其他来源安装这些软件包,确保安装正确的版本!
  2. 安装 2.6.16.53 版本之后的 Xen 内核 — 该版本为 ocfs2 包提供了补丁。
  3. 配置防火墙:
    • 为 Virtual Availability Manager 配置防火墙
    • 允许为 NFS Server 和 SLP Daemon 提供服务
    • 允许 TCP 端口 3268, 3269, 15988 15989 6988 和 UDP 端口 2407
  4. 在系统服务中禁用 Service Location Protocol (SLP)。
  5. 通过运行 ls /dev/mapper 命令检查共享存储。结果应当如下所示:
    3600a0b800017939900003573484f4be0
    3600a0b800017939900003573484f4be0-part1 
    3600a0b800017939900003573484f4be0-part4
    3600a0b800017939900003573484f4be0-part5
    control
    

    如果得出不同的结果,那么可能是因为没有打开多个路径。运行 chkconfig boot.multipath 和 chkconfig multipathd 命令打开多个路径。
  6. 确保两台主机可以互相识别。如果使用 DNS 配置两个主机名,那么要为两台主机配置正确的 DNS 服务器。如果手动配置主机名,则需要编辑两台主机上的 /etc/hosts 文件,将另一台主机包含进来。这表示在两台主机上的这个文件都包含两条记录,一条是关于自身,一条关于另一台主机。
  7. blade2 和 blade3 主机上的时间/日期设置应当和服务器 blade1 一致;否则 IBM Director 服务器会认为它们处于脱机状态。

您已经成功配置了环境;现在让我们安装与 Virtual Availability Manager 有关的软件。





安装 Virtual Availability Manager 软件

要安装与 IBM Director Virtual Availability Manager 有关的软件,请执行以下步骤:

  1. 在服务器上安装相关软件,实现服务器 blade1 的高可用性(IBM Director Server 5.20.2 和 IBM Director Virtualization Manager 1.2 Server)。Director Virtualization Manager 附带了 Virtual Availability Manager Server。
  2. 在服务器 blade2 和 blade3 上安装相关软件(Director Agent Core server version 5.20.2 和 IBM Director Virtualization Manager 1.2 Agent,其中附带了 Virtual Availability Manager Agent)。当在主机服务器上安装 Virtualization Manager Agent 时,选择稍后创建主映像,并且不要将物理服务器克隆到虚拟服务器中。




创建高可用性(HA)集群

要创建高可用性集群,执行以下操作:

  1. 将主机添加到 IBM Director Server 并请求访问它们。然后检查主机的属性 — 对象应该保持联机状态,其代理级别应该为一级,支持的协议应为 SSH 和 CIM。

    如果主机处于脱机状态,或者不支持 CIM 协议,那么确保使用 service cimserverd status 命令在主机上运行 cimserverd 服务。如果 cimserverd 处于停止状态,请启动它。

    如果主机的代理级别为 0,请临时关闭防火墙并重新将主机添加到 IBM Director Server。

  2. 打开 IBM System Director Virtualization Manager Web 界面,并从 Director Console 中选择任务 Virtual Servers and Hosts。这将打开 IBM System Director Virtualization Manager Web 界面。
  3. 选择 Hardware and Software 节点下的 Create Virtual Farm 任务,然后执行以下操作:
    1. 输入虚拟集群名,如 HAFarm。
    2. 选择 High Availability with workload management 作为集群功能。
    3. 选择主机 blade2 作为初始主机。
    4. 输入存储 WWN 作为共享存储。
    5. 选择 Restart 作为集群策略。
    6. 您将得到一个超时错误;Virtual Availability Manager 无法在这个时间段内完成创建。
    7. 检查 blade2 主机上的日志文件 /opt/ibm/director/am/logs/aminfr.log,查看创建过程是否完成:

      [07/08/08 13:49:23] startam [INFO]: Exiting startam().
      [07/08/08 13:49:24] amm [INFO]: amm_add_node Exit"

      这表示 HA 集群创建过程已经完成。
    8. 从 HA 集群中选择 Add Host... 任务,并在创建完集群后将主机 blade3 添加到集群中。应当能够成功创建;您应当看到类似前面所示的日志文件。
  4. 要确保成功创建 HA 集群,执行以下操作:
    • 检查两台主机上的 /opt/ibm/director/am/mnt/keystore 文件夹;它们应该是相同的并且包含有四个文件。
    • 检查两台主机上的 /opt/ibm/director/am/mnt/clusterdata 文件夹;它们应该是相同的并且包含有三个文件。
    • 检查共享存储文件系统配置文件 /etc/ocfs2/cluster.conf;两台主机上的文件内容应该是相同的。




创建虚拟服务器

要创建虚拟服务器,执行以下操作:

  1. 将 SUSE 10 SP1 安装映像文件内容复制到一个文件夹(比如 /shared/tmp);这个文件应该是可写的。
  2. 在主机 blade2 上运行 /opt/ibm/director/vm/im/suse_inst.py --dest=/shared/vm_master.img --src=/shared/tmp --net=local 命令以创建主映像。
  3. 将主映像文件复制到文件夹 /opt/ibm/director/am/mnt/images/masters/。
  4. 进入 IBM Virtualization Manager 的 Web 界面,并打开 Templates and Deployment 节点下的 Create System template 任务;选择刚刚作为主映像创建的映像。
  5. 选择 Hardware and Software 节点下的 Create Virtual Server 任务,并在 blade2 主机上创建一个虚拟服务器;选择刚刚创建的主映像模板。
  6. 可以按照以上步骤创建多个虚拟服务器。

创建 HA 集群和虚拟服务器就是这么简单。现在让我们进行测试。






启动并测试高可用性

要启动并测试高可用性,请执行以下操作:

  1. 选择 Activate HA Capabilities 任务启动 HA 功能。在两台主机上运行 crm_mon 命令来检查监视器状态。
  2. 关掉主机 blade2。可以看到,我们创建的虚拟服务器被迁移到主机 blade3;这表示我们已经成功实现了虚拟服务器的高可用性功能。




重置环境

要重置环境,执行以下操作:

  1. 禁用 HA 集群 High Availability Capabilities 功能。
  2. 从 HA 集群中移除两台主机。
  3. 从 IBM System Director Virtualization Manager 中同时删除两台主机和 HA 集群。
  4. 同时在两台主机上运行 /opt/ibm/director/am/bin/amDoctor purify 命令。如果命令不能执行,重启主机并再次尝试命令。
  5. 从主机中删除挂载的存储。运行 evms_query volumes 命令来查询当前挂载的存储。结果应该如下所示:
    /dev/evms/600a0b8000179399000035794872607e_FS_Volume
    /dev/evms/sda1
    /dev/evms/sda2
    

  6. 运行 evms 命令,然后再运行 dr:/dev/evms/600a0b8000179399000035794872607e_FS_Volume 命令,从而删除卷。选择所有默认选项。
  7. 再次重启两台主机。

现在,您已经重置了环境。





故障诊断

如果 /opt/ibm/director/am/mnt/keystore 文件夹中的文件与两台主机上的 /opt/ibm/director/am/mnt/clusterdata 文件不相同,或者两台主机上的存储配置文件 /etc/ocfs2/cluster.conf 的内容不同,那么查看这两台主机是否知道另一台主机的主机名。如果不知道的话,将另一台主机的名字和 IP 地址添加到 /etc/hosts 文件中。

如果在创建 HA 集群、向集群添加主机或激活 HA 集群时发生错误,则使用 service cimserverd status 命令查看两台主机中的 cimserverd 服务的状态;如果 cimserverd 在当前的 director 代理中突然停止,请重复以上的操作。(责任编辑:A6)


时间:2008-10-28 15:39 来源:developerWorks 中国 作者:Da Shuang He 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量