安装 Pacemaker 集群软件堆栈
Pacemaker 是一个开源的高可用性集群管理器软件。 要确保安装正确,请执行提供的过程。
重要信息: 本主题中的信息 (包括预设置核对表和过程) 仅适用于 V 11.5.5 和更低版本。 从 11.5.6 版本开始,用户可以使用 Pacemaker 使用 Db2 安装程序进行安装。 有关更多信息,请参阅 使用 Db2 安装程序安装 Pacemaker。
重要信息: 在 Db2 11.5.8 及更高版本中,使用 Pacemaker 作为集成集群管理器时,支持相互故障转移高可用性。 在 Db2 11.5.6 及更高版本中,用于自动故障转移到 HADR 备用数据库的 Pacemaker 集群管理器随 Db2打包并安装。 在 Db2 11.5.5中,包含了 Pacemaker ,并且可用于生产环境。 在 Db2 11.5.4中, Pacemaker 仅作为技术预览包含在开发,测试和概念验证环境中。
准备工作
确保您具有旨在用于 Db2 的 Pacemaker 集群软件包,方法是从 IBM 市场营销注册服务 站点下载该软件包。 在继续下一部分之前,请验证是否满足所有先决条件和必要条件。 有关这些先决条件的更多信息,请参阅 使用 Pacemaker的集成解决方案的先决条件。
安装前核对表
已设置实例用户标识和组标识。
/etc/hosts 文件包含两个主机,遵循 主机文件设置中列出的格式。
这两个主机都在其以太网网络接口之间具有 TCP/IP 连接。
Root 用户标识和实例用户标识都可以在两个主机之间使用 ssh ,同时使用长主机名和短主机名。
Pacemaker 集群软件已下载到两个主机。
确保未安装任何非Db2 提供的 Pacemaker 组件。
- 确保对系统存储库启用了 pacemaker 软件包依赖关系。
以下是说明安装前核对表的工作方式的示例。 此示例使用了 AWS 环境:
- 主机信息
表 1. 主机信息示例 Hostname eth0 设备的 IP 地址 短格式:ip-172-31-15-79
长格式:ip-172-31-15-79.us-east-2.compute.internal
172.31.15.79 短格式:ip-172-31-10-145
长格式:ip-72-31-10-145.us-east-2.compute.internal
172.31.10.145 - 在两个主机中都设置了 /etc/hosts :
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.31.15.79 ip-172-31-15-79.us-east-2.compute.internal ip-172-31-15-79 172.31.10.145 ip-172-31-10-145.us-east-2.compute.internal ip-172-31-10-145127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.31.15.79 ip-172-31-15-79.us-east-2.compute.internal ip-172-31-15-79 172.31.10.145 ip-172-31-10-145.us-east-2.compute.internal ip-172-31-10-145 - 可以在这两台主机之间执行 TCP/IP ping 操作:
- 在
ip-172-31-15-79上,输入ping -I 172.31.15.79 172.31.10.145。 - 在
ip-172-31-10-145上,输入ping -I 172.31.10.145 172.31.15.79。
- 在
- 实例用户标识/组标识:
db2inst1 / db2iadm1可以使用以下命令来生成这些标识:groupadd db2iadm1 useradd -g db2iadm1 -m -d /home/db2inst1 db2inst1验证是否已创建这些标识。 为此,请尝试使用提供的用户和密码登录:[root@ip-172-31-15-79 server]# grep db2iadm1 /etc/group db2iadm1:x:1001: [root@ip-172-31-15-79 ec2-user]# grep db2inst1 /etc/passwd db2inst1:x:1001:1001::/home/db2inst1:/bin/bash - SSH 访问将通过 root 用户标识和实例用户标识在这两台主机之间使用长主机名和短主机名。在
ip-172-31-15-79上以 root 用户身份,可以成功运行以下命令:ssh ip-172-31-15-79 -l root ls ssh ip-172-31-15-79.us-east-2.compute.internal -l root ls ssh ip-172-31-10-145 -l root ls ssh ip-172-31-10-145.us-east-2.compute.internal -l root ls在ip-172-31-10-145上以 root 用户身份,可以成功运行以下命令:ssh ip-172-31-15-79 -l root ls ssh ip-172-31-15-79.us-east-2.compute.internal -l root ls ssh ip-172-31-10-145 -l root ls ssh ip-172-31-10-145.us-east-2.compute.internal -l root ls - 通过运行以下命令,确保未安装任何非Db2 提供的 Pacemaker 组件:
# rpm -q corosync package corosync is not installed # rpm -q pacemaker package pacemaker is not installed # rpm -q crmsh package crmsh is not installed # rpm -q cluster-glue package cluster-glue is not installed - Db2 软件的位置: 目录
/root/db2Image在两台主机上都存在。 - Pacemaker 集群软件包 tar 文件存在于两台主机上的
/tmp中。每个 tarball 都遵循以下命名约定:- Db2 版本
- Pacemaker
- YYYYMMDD 格式的日期
- Linux 发行版
- Linux 体系结构
Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64.tar.gz例如:[root@ip-172-31-15-79 tmp]# ls -al *.gz -rw-r--r--. 1 ec2-user ec2-user 10710023 Dec 24 21:32 Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64.tar.gz [root@ip-172-31-10-145 tmp]# ls -al *.gz -rw-r--r--. 1 ec2-user ec2-user 10710023 Dec 24 21:32 Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64.tar.gz
关于本任务
遵循安装 Pacemaker 集群软件堆栈的过程。
过程
- 在第一台主机
ip-172-31-15-79上,以 root 用户身份在 /tmp 文件夹中将 tar 文件解压缩。cd /tmptar -zxf Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64.tar.gz
以上命令将创建目录 Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64
此目录将包含以下目录树:Db2/ Db2agents/ RPMS/ RPMS/<architecture> RPMS/noarch SRPMS/注:<architecture>变量将根据您的硬件而有所不同。 在 Intel/AMD 上,它将为x86_64。 在 POWER LE 上,它将为ppcle。 对于 z-system,它将为s390x。
- 对于 RHEL 8.1,请安装 epel-release ,然后在 untarred Pacemaker 目录中安装 RPM:
- cd /tmp/Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64/RPMS
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmdnf install */*.rpm
样本输出:[root@ip-172-31-10-145 RPMS]# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm Red Hat Update Infrastructure 3 Client Configuration 2.0 kB/s | 2.1 kB 00:01 Red Hat Enterprise Linux 8 for x86_64 - AppStream fr 30 kB/s | 2.8 kB 00:00 Red Hat Enterprise Linux 8 for x86_64 - BaseOS from 26 kB/s | 2.4 kB 00:00 epel-release-latest-8.noarch.rpm 16 kB/s | 21 kB 00:01 Dependencies resolved. ===================================================================================== Package Arch Version Repository Size ===================================================================================== Installing: epel-release noarch 8-7.el8 @commandline 21 k Transaction Summary ===================================================================================== Install 1 Package Total size: 21 k Installed size: 30 k Is this ok [y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : epel-release-8-7.el8.noarch 1/1 Running scriptlet: epel-release-8-7.el8.noarch 1/1 Verifying : epel-release-8-7.el8.noarch 1/1 Installed: epel-release-8-7.el8.noarch Complete! [root@ip-172-31-10-145 RPMS]# dnf install */*.rpm Extra Packages for Ente [=== ] --- B/s | 0 B --:-- ETA Extra Packages for Ente [=== ] --- B/s | 0 B --:-- ETA Extra Packages for Ente [ === ] --- B/s | 0 B --:-- ETA Extra Packages for Ente 74% [================ ] 11 MB/s | 3.2 MB 00:00 ETA Extra Packages for Enterprise Linux 8 - x86_64 1.8 MB/s | 4.3 MB 00:02 Last metadata expiration check: 0:00:01 ago on Tue 24 Dec 2019 08:43:32 PM UTC. Dependencies resolved. ===================================================================================== Package Arch Version Repository Size ===================================================================================== Installing: crmsh noarch 4.1.0-0 @commandline 717 k mcrmsh-scripts noarch 4.1.0-0 @commandline 30 k pacemaker-cts noarch 2.0.2-1.el8 @commandline 2.0 M . . . Installed: crmsh-4.1.0-0.noarch crmsh-scripts-4.1.0-0.noarch pacemaker-cts-2.0.2-1.el8.noarch pacemaker-doc-2.0.2-1.el8.noarch pacemaker-nagios-plugins-metadata-2.0.2-1.el8.noarch pacemaker-schemas-2.0.2-1.el8.noarch python3-parallax-1.0.5-1.el8.noarch corosync-3.0.3-1.el8.x86_64 corosync-debuginfo-3.0.3-1.el8.x86_64 corosync-debugsource-3.0.3-1.el8.x86_64 corosynclib-3.0.3-1.el8.x86_64 corosynclib-debuginfo-3.0.3-1.el8.x86_64 corosynclib-devel-3.0.3-1.el8.x86_64 corosync-vqsim-3.0.3-1.el8.x86_64 corosync-vqsim-debuginfo-3.0.3-1.el8.x86_64 kronosnet-debugsource-1.13-1.el8.x86_64 ldirectord-4.4.0-1.el8.x86_64 libknet1-1.13-1.el8.x86_64 . . . libaio-0.3.112-1.el8.x86_64 gssproxy-0.8.0-14.el8.x86_64 libqb-1.0.3-10.el8.x86_64 device-mapper-persistent-data-0.8.5-2.el8.x86_64 libqb-devel-1.0.3-10.el8.x86_64 rpcbind-1.2.5-4.el8.x86_64 Complete!对于 SLES 15 SP1,添加后端存储库,后跟未启动的 Pacemaker 目录中的 RPM:- cd /tmp/Db2_v11.5.4.0_Pacemaker_20200418_SLES15SP1_x86_641/RPMS
- zypper addrepo -fc http://download.opensuse.org/repositories/openSUSE:/Backports:/SLE-15-SP1/standard/openSUSE:Backports:SLE-15-SP1.repo
- zypper install --allow-unsigned-rpm {noarch,x86_64}/*.rpm
- 验证是否安装了以下程序包: 对于不同的体系结构和 Linux 发行版,输出可能稍有不同。 所有程序包都应该会在输出中包含 db2pcmk 文本。 例如:
[root@ip-172-31-15-79 RPMS]# rpm -q corosync corosync-3.0.3-1.db2pcmk.el8.x86_64 [root@ip-172-31-15-79 RPMS]# rpm -q pacemaker pacemaker-2.0.2-1.db2pcmk.el8.x86_64 [root@ip-172-31-15-79 RPMS]# rpm -q crmsh crmsh-4.1.0-0.db2pcmk.el8.noarch - 将 db2cm 实用程序从集群软件目录复制到实例
sqllib/bin目录:cp /tmp/Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64/Db2/db2cm /home/db2inst1/sqllib/bin chmod 755 /home/db2inst1/sqllib/bin/db2cm - 在这两台主机上,将资源代理程序脚本(db2hadr、db2inst 和 db2ethmon)从 /tmp/Db2agents 复制到 /usr/lib/ocf/resource.d/heartbeat/:
/home/db2inst1/sqllib/bin/db2cm -copy_resources /tmp/Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64/Db2agents -host ip-172-31-10-145 /home/db2inst1/sqllib/bin/db2cm -copy_resources /tmp/Db2_v11.5.4.0_Pacemaker_20200418_RHEL8.1_x86_64/Db2agents -host ip-172-31-15-79 - 在第二台主机上重复步骤 1 到步骤 4。