配置一个双节点 HACMP 集群_第1页
配置一个双节点 HACMP 集群_第2页
配置一个双节点 HACMP 集群_第3页
配置一个双节点 HACMP 集群_第4页
配置一个双节点 HACMP 集群_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、配置一个双节点 HACMP 集群Christian Pruett 是一个 IBM 全球服务团队的 p 系列主机工程师。他毕业于科罗拉多州立大学的历史系,拥有学士学位。他拥有 IBM 认证管理员认证,职业经历主要是围绕 RS/6000 主机,p 系列主机硬件和系统的支持工作。他目前是 IBM IGS 的一名团队负责人。您想建立一个冗余环境来获得高可用性,但又不知道 AIX® 可以提供何种帮助吗?本文将带您探秘 High Availability Cluster Multi-Processing (HACMP),并向您提供一份关于如何配置和设置一个简单的双节点集群的备忘单。有些类型的计算

2、环境不能承受停机的代价 其中的应用程序和数据非常重要,如果一台机器停机,您希望另一台机器能够立即接管其工作。幸运的是,在 IBM® AIX® 中,一个名为 High Availability Cluster Multi-Processing (HACMP) 的特殊软件能够提供冗余和高可用性来满足这样的需求。本文将简要介绍 HACMP,并演示如何设置和配置一个简单的双节点集群。 常用缩略词· I/O: 输入/输出· NAS: 网络附接存储· SAN: 存储区域网· VLAN: 虚拟局域网· WAN: 广域网运行中的 HACMP

3、HACMP 的设计目标是以最少的停机时间来保持资源高度可用,其实现方法是通过允许多个 IBM System p 服务器访问资源的方式来收集资源。HACMP 以逻辑方式管理磁盘、网络、应用程序资源,根据可用性和首选项将控制权交付给单个机器。从系统管理员角度看,HACMP 背后的理念是保持所有资源尽可能冗余,从而在所有层面上确保高可用性。 图 1 展示了一个简单的 HACMP 配置。图 1. 简单的 HACMP 配置在这里,两个 System p 服务器共享一个公共 SAN 存储,并在两个网络上通信。它们之间共享一组 IP 地址、一些 Logical Volume Manager (LVM) 资源

4、和应用程序控件 均通过 HACMP 管理。 其中一个服务器被视为 “活动的”,控制着这些资源,而另一个服务器闲置,随时准备在必要时接管工作,如 图 2 所示。 图 2. 活动和闲置服务器当部分物理资源出现可用性问题时,比如有些线路被意外拔出,HACMP 将感知这些问题并让另一个服务器接管工作。这些资源的可用性将出现短暂中断,但随后一切恢复正常,就像还在原来的机器上一样,没有任何区别,如 图 3 所示。 图 3. HACMP 在资源失败时控制故障转移 一旦问题硬件恢复正常,这些资源可以保持在原地,也可以返回原始服务器。这完全取决于管理员的决定。 但是,硬件故障并不是导致资源从一个服务器转移到另一

5、个服务器的惟一原因。这种技术也可用于操作系统升级、固件维护以及其他可能需要停机的活动,从而向这些活动添加 HACMP 的多用性和有用性。 关键 HACMP 术语以下术语将贯穿本文始终,有助于理解对 HACMP 的探讨: · 集群:运行 HACMP 的多个服务器的逻辑分组。· 节点:集群中的单独服务器。· 网络:尽管这个术语通常指大范围的计算机对计算机通信(比如 WAN),但在 HACMP 中,网络 指的是两个服务器之间的通信区域的逻辑定义。 · 启动 IP:这是一个节点在首次激活并变为可用时使用的默认 IP 地址。通常 如本文所示 启动 IP 是一个不可

6、路由的 IP 地址,设置在集群中所有节点都可访问的一个隔离 VLAN 上。 · 持久 IP:这是一个节点作为其常规通信方式使用的 IP 地址。通常,系统管理员通过这个 IP 访问该节点。 · 服务 IP:这是可以在多个节点之间 “流动” 的 IP 地址。通常,用户通过这个 IP 地址访问集群中的资源。 · 应用程序服务器:这是一个逻辑配置,告知 HACMP 如何管理应用程序,包括启动和停止应用程序,应用程序监控,以及应用程序调优项。本文只关注启动和停止应用程序。 · 共享卷组:这是 HACMP 托管的一个卷组。您必须对将在服务器之间共享的磁盘资源使用 H

7、ACMP,而不是通过操作系统配置卷组、逻辑卷和文件系统这样的 LVM 结构。 · 资源组:这是集群中的节点能够管理的服务 IP 地址、应用程序服务器和共享卷组的一个逻辑分组。 · 故障转移:这是资源组从一个节点转移到另一个节点的情形。发生故障转移的情况有两种:一是系统管理员指示集群中的节点执行故障转移;二是出现灾难性应用程序或服务器故障的情况迫使资源组转移。 · 故障恢复/回退:这是在故障转移发生后将资源组移回其最初在其上运行的原始节点的操作。 · 心跳:这是通过 HACMP 网络传输,用于检查和确认资源可用性的信号。如果心跳被中断,集群可能会根据配置发

8、起一次故障转移。 回页首准备工作您必须先执行几个步骤,而后才能配置一个 HACMP 集群并使其可用。第一步是确保将用于这两个服务器的硬件尽可能相似。处理器数量、内存大小、以及 Fibre Channel 和 Ethernet 适配器的类型应该完全一样。如果您正在使用逻辑分区(LPAR)或虚拟 I/O(VIO)技术,应确保一致:不要混合硬件策略,比如在一个节点上使用 logical Host Ethernet Adapters (LHEA),在另一个节点上使用标准 4 端口 Ethernet 适配器。 不要使用开发服务器多年来,我见识了几个不同的公司中的许多环境,其中,将集群中的一个节点声明为

9、“生产” 服务器,另一个节点声明为 “开发” 服务器。之所以做出这个决策,原因是这些公司认为仅仅是为了预防灾难发生就使一个服务器在超过 90% 的时间都处于闲置状态简直是在浪费钱财。在此,我必须严正声明:不要这样做。如果采用这种策略,毫无疑问,这两个服务器之间将出现差异,因为开发将导致软件、应用程序和操作系统功能方面的差异。当生产资源组必须故障转移到开发服务器时(因为这只是个时间问题,没有如果),那些差异将阻止故障转移正确进行。 第二步(应该与第一步相符)是调整环境大小,以便每个节点都能同时管理所有资源组。如果您决定要使多个资源组在集群中运行,那么假设最坏的情况是一个节点将一次运行所有资源组。

10、确保这些服务器都拥有足够的处理能力。 第三步,您需要对每个服务器分配和/或共享相同的资源集。如果您使用 SAN 磁盘进行存储,那么用于共享卷组的磁盘必须被分区到所有节点。网络 VLANs、子网和地址应该以相同的方式连接。与您的 SAN 和网络管理员协作,获取启动、持久和服务 IP 地址的地址和磁盘。 第四步,也是最后一步,节点之间的整个操作系统配置必须匹配。用户 IDs、第三方软件、技术级别和服务包都必须一致。为此,一个最好的方法是在一个节点上构建目标配置,执行一个 mksysb 备份,然后使用该备份构建所有后续节点。服务器构建好后,应将它们视为 “连体婴儿”:总是同时在两个服务器上进行一致的

11、更改。 借助当今可用的所有虚拟技术,明智的做法是使用 VIO 来在同一组 System p 服务器和硬件资源上创建一对生产和开发 LPARs,而不是为了试图节省一点钞票而牺牲 HACMP 的真正设计目标。使用共享处理器权重、最大传输单元(MTU)大小和 RAM 分配等工具来向生产 LPARs 提供比开发 LPARs 更多的优势。这样做能够创建一个能够处理故障转移的环境,并使经理和会计师们相信,资金得到了合理的运用。 回页首配置一个双节点 HACMP 集群现在我们演示实际操作。在本例中,您将跨两个 Ethernet 网络设置一个简单的双节点集群:一个共享卷组位于一个 SAN 磁盘上,该卷组还为一

12、个心跳使用另一个 SAN 磁盘,以及由一个资源组中的 HAVMP 托管的一个应用程序。 注意:这个流程假设所有 IP 地址已经预先确定,磁盘的 SAN 分区已经完成。除非特别声明,您必须在集群中的每一个节点上运行这里的任务。 步骤 1. 安装 HACMP 软件这个软件可以直接从 IBM 购买(参见 参考资料 );这些文件组都以单词 cluster 开始。使用 installp 命令安装此软件,安装过程与其他许可程序包(LPP)很相似。 步骤 2. 编辑平面文件将与集群关联的所有 IP 地址 启动、持久和服务 放到集群每个节点的 /etc/hosts 文件中。对 /usr/es/sbin/clu

13、ster/etc/rhosts 文件执行相同的操作。验证服务器主机名匹配适当的 IP 地址;服务器的主机名还应该匹配持久 IP 地址。 步骤 3. 配置引导 IP 地址运行 smitty chinet 命令,为每个网络适配器设置引导 IP 地址。确保能够自由地在所有相应的网络上从节点到节点 ping 和连接。另外,反复检查,确保默认路由已正确配置。如果没有,运行 smitty tcpip 命令,进入 Minimum Configuration 菜单,输入主适配器的默认路径,按下 Enter 键。 步骤 4. 制作应用程序启动和停止脚本创建两个简单的 Korn shell 脚本 一个用于启动应用

14、程序,一个用于停止应用程序。将这两个脚本放置在这两个节点的相同目录中。 步骤 5. 定义集群运行命令:smitty cm_config_an_hacmp_cluster_menu_dmn然后,定义集群,包括对其进行适当命名。步骤 6. 定义节点运行命令:smitty cm_config_hacmp_nodes_menu_dmn定义两个节点上的集群中的每个节点。步骤 7. 定义网络运行命令:smitty cm_config_hacmp_networks_menu_dmn这对每个 Ethernet 适配器定义一个网络。我喜欢使用 Pre-defined 选项而不喜欢 Discovered 路径,但

15、这取决于您的决定。检查子网掩码,以确保一致。 步骤 8. 定义启动 IP 地址运行命令:smitty cm_config_hacmp_communication_interfaces_devices_menu_dmn这在网络适配器上分别定义相应的引导 IP 地址。这个地址应与 步骤 3 中使用的 IP 地址相同。确保在适当的 HACMP 定义的相应网络中定义这些地址。 步骤 9. 定义持久 IP 地址运行命令:smitty cm_config_hacmp_persistent_node_ip_label_addresses_menu_dmn这定义持久 IP 地址。同样,注意选择适当的 HACM

16、P 定义的相应网络。 步骤 10. 定义服务 IP 地址运行命令:smitty cm_config_hacmp_service_ip_labels_addresses_menu_dmn这定义服务 IP 地址。步骤 11. 执行一个发现和重启至此,这些节点应该能够相互通信,并使存储在节点的 Object Data Managers (ODMs) 中的信息保持同步。运行以下命令,使集群中的节点相互通信: smitty cm_extended_config_menu_dmn选择 Discover HACMP-related Information from Configured Nodes 选项,检

17、查需要修复的错误。通常,重新启动每个节点能够清除一些小问题,不管怎样,这对测试重启每个服务器是一个好的切入点。步骤 12. 定义资源组运行命令:smitty cm_hacmp_extended_resource_group_config_menu_dmn定义资源组。然后执行以下步骤:1. 选择集群中的所有参与节点。2. 将 Startup Policy 设置为 Online On First Available Node。3. 将 Fallback Policy 设置为 Never Fallback。 这个设置阻止资源在原始服务器启动时返回它,这是一个明智的做法。 步骤 13. 创建一个共享卷

18、组注意:只在一个节点上运行这个命令。运行 smitty cl_vg 命令,创建一个共享卷组。当您创建一个共享卷组时,只需选择一个节点,因为磁盘是共享的。 步骤 14. 创建一个心跳磁盘首先,运行 smitty cl_convg 命令,然后选择 Create a Concurrent Volume Group with Data Path Devices。选择一个节点和目标磁盘。接下来,运行命令: smitty cm_config_hacmp_communication_interfaces_devices_menu_dmn重复 步骤 7,只是这次选择 Discovered 选项和目标磁盘。 步

19、骤 15. 定义一个应用程序服务器运行命令:smitty cm_cfg_app_extended这为 HACMP 将管理的应用程序定义一个应用程序服务器。使用 步骤 4 中创建的脚本。步骤 16. 配置资源组注意:只在一个节点上运行这个命令。运行命令:smitty cm_hacmp_extended_resource_group_config_menu_dmn选择 Change/Show Resources and Attributes for a Resource Group 选项。然后,执行以下步骤: 1. 选择适当的服务 IP 地址。2. 选择适当的共享卷组和心跳磁盘。3. 选择适当的应

20、用程序服务器。步骤 17. 执行一个同步同步集群配置。运行命令:smitty cm_ver_and_sync将 Automatically correct errors found during verification? 设置为 Interactive。更正此过程中出现的问题。 步骤 18. 启动集群此时,集群已准备好启动。在一个节点上,运行 smitty clstart 命令,选择那个特殊节点。我的偏好是不使集群在重启时启动,因为如果有一个 HACMP 相关的启动问题,这样可能很难诊断它。在该节点启动且资源可用后,在另一个节点上启动集群。 步骤 19. 执行一个测试故障转移我所知的测试 H

21、ACMP 的适应性的最好方法是重启活动节点并让故障转移自然进行,同时在另一个节点上运行 tail f /tmp/hacmp.out 命令,观察资源转移情况。或者,运行命令: smitty cl_resgrp_move.node_site选择 Move Resource Groups to Another Node 选项。步骤 20. 执行故障测试如果您的确想确保您的集群坚固可靠,可通过移除电缆并观察资源如何来回移动来进行测试。测试越多,您的集群将越可靠。 回页首结束语HACMP 是一个健壮、有效的工具,用于确保资源在 AIX 服务器上保持可用。本文简要介绍这个工具,并演示了如何设置一个双节点集

22、群,但 HACMP 的功能还很丰富,其中包括应用程序监控、集成 NAS 资源、以及在启动资源组过程中放入逻辑。如果您希望一次成功,我能提供的最好建议就是创建一个测试集群并进行全面测试。参考资料 学习· HACMP Library:进一步了解 AIX 中的 HACMP,并从 HACMP Library 找到有用资源。 · IBM PowerHA SystemMirror for AIX:了解 HACMP 的替代品 IBM PowerHA for AIX version 6.1。 · PowerHA for AIX Cookbook:了解如何安装、定制和配置 Powe

23、rHA version 5.5。 · IBM eServer pSeries HACMP V5.x Certification Study Guide Update:这个指南演示如何使用 HACMP version 5.x 实现高可用性集群,帮助您将现有集群升级到最新版本,或者帮助您准备 HACMP version 5.x 认证考试,实现成为 IBM eServer Certified Systems Expert - pSeries HACMP 5.x for AIX 5L 的梦想。 · Implementing High Availability Cluster Mul

24、ti-Processing (HACMP) Cookbook:加深您对 HACMP 和 HACMP Extended Distance (HACMP/XD) 架构的理解。 · HACMP Planning Guide:这个指南提供计划和安装 HACMP for AIX 软件的必要信息。 · “HACMP 认证学习红皮书,第 1 部分:入门”(developerWorks,2008 年 3 月):本文包含对 IBM High Availability Cluster Multi-Processing (HACMP) for AIX 产品系列的介绍,以及作为 IBM 高可用性产

25、品基础的概念。· “IBM HACMP 资源中心”(developerWorks,2008 年 4 月):HACMP 作为 IBM 重要的集群软件一直受到 CIO、架构师、系统管理员等的关注。在这里,我们为您总结了本专区中所拥有的 HACMP 的资源,让您可以很方便的找到您所需要的内容,希望对您学习 HACMP 有所帮助。· AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。· AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论