Red Hat Training

A Red Hat training course is available for RHEL 8

第 5 章 在红帽高可用性集群中配置主动/被动 Apache HTTP 服务器

此流程使用 pcs 命令行界面配置双节点 Red Hat Enterprise Linux High Availability 附加组件中的主动/被动 Apache HTTP 服务器来配置群集资源。在这种情况下,客户端通过浮动 IP 地址访问 Apache HTTP 服务器。Web 服务器在集群的两个节点之一中运行。如果运行 web 服务器的节点出现问题,则 web 服务器会在集群的第二个节点上再次启动,以实现服务中断的最小化。

下图显示了集群的高级概述,其中集群是一个双节点红帽高可用性集群,它配置有网络电源交换机和共享存储。集群节点连接到公用网络,以便客户端通过虚拟 IP 访问 Apache HTTP 服务器。Apache 服务器在 Node 1 或 Node 2 中运行,每个节点都可访问保存 Apache 数据的存储。本图例中,网页服务器在 Node 1 上运行,如果 Node 1 停止工作, Node 2 可以运行服务器。

图 5.1. Red Hat High Availability 双节点集群中的 Apache

Red Hat High Availability 双节点集群中的 Apache

这个用例需要您的系统包括以下组件:

  • 一个双节点 Red Hat High Availability 集群,为每个节点配置了电源隔离功能。我们建议使用专用网络,但这不是必须的。此流程使用了创建带有 Pacemaker 的 Red Hat High-Availability 集群中提供的集群示例。
  • Apache 需要的公共虚拟 IP 地址。
  • 集群中节点的共享存储,使用 iSCSI、光纤或其他共享网络块设备。

集群被配置为带有 Apache 资源组,其中包含 web 服务器所需的集群组件:LVM 资源、文件系统资源、IP 地址资源以及 web 服务器资源。这个资源组可以从集群的一个节点切换到另外一个节点,允许其中两个节点运行 web 服务器。在为集群创建资源组前,您将执行以下步骤:

  1. 在逻辑卷 my_lv 上配置 ext4 文件系统。
  2. 配置 web 服务器。

执行这些步骤后,您要创建资源组及其包含的资源。

5.1. 在 Pacemaker 集群中使用 ext4 文件系统配置 LVM 卷

这个过程在集群节点之间共享的存储中创建 LVM 逻辑卷。

注意

LVM 卷以及集群节点使用的对应分区和设备必须只能连接到集群节点。

下面的过程创建了 LVM 逻辑卷,然后在该卷上创建一个 ext4 文件系统供 Pacemaker 集群使用。在这个示例中,使用共享分区 /dev/sdb1 来存储从中创建 LVM 逻辑卷的 LVM 物理卷。

流程

  1. 在集群的两个节点上,执行以下步骤将 LVM 系统 ID 的值设置为系统的 uname 标识符值。LVM 系统 ID 将用于确保只有集群可以激活卷组。

    1. /etc/lvm/lvm.conf 配置文件中的 system_id_source 配置选项设置为 uname

      # Configuration option global/system_id_source.
      system_id_source = "uname"
    2. 验证节点上的 LVM 系统 ID 是否与节点的 uname 匹配。

      # lvm systemid
        system ID: z1.example.com
      # uname -n
        z1.example.com
  2. 创建 LVM 卷并在那个卷中创建 ext4 文件系统。由于 /dev/sdb1 分区是共享的存储,因此您仅在一个节点上执行这一部分的步骤。

    1. 在分区 /dev/sdb1 上创建一个 LVM 物理卷。

      # pvcreate /dev/sdb1
        Physical volume "/dev/sdb1" successfully created
    2. 创建由物理卷 /dev/sdb1 组成的卷组 my_vg

      # vgcreate my_vg /dev/sdb1
        Volume group "my_vg" successfully created
    3. 确认新卷组带有您要运行的节点的系统 ID,并从这个节点中创建卷组。

      # vgs -o+systemid
        VG    #PV #LV #SN Attr   VSize  VFree  System ID
        my_vg   1   0   0 wz--n- <1.82t <1.82t z1.example.com
    4. 使用卷组 my_vg 创建逻辑卷。

      # lvcreate -L450 -n my_lv my_vg
        Rounding up size to full physical extent 452.00 MiB
        Logical volume "my_lv" created

      您可以使用 lvs 命令显示逻辑卷。

      # lvs
        LV      VG      Attr      LSize   Pool Origin Data%  Move Log Copy%  Convert
        my_lv   my_vg   -wi-a---- 452.00m
        ...
    5. 在逻辑卷 my_lv 上创建 ext4 文件系统。

      # mkfs.ext4 /dev/my_vg/my_lv
      mke2fs 1.44.3 (10-July-2018)
      Creating filesystem with 462848 1k blocks and 115824 inodes
      ...