章 2. 一個在 Red Hat High Availability Cluster 中的主動/被動 Apache Web Server

本章詳述了如何在一個雙節點的 Red Hat Enterprise Linux High Availability Add-On 叢集中配置一項主動/被動式的 Apache 網站伺服器,並使用 pcs 來配置叢集資源。在此使用案例中,客戶端會透過一組浮動 IP 位址來存取 Apache 網站伺服器。這個網站伺服器會在叢集中的其中一個節點上執行。若網站伺服器所執行於的節點停機的話,網站伺服器將會在叢集中的第二個節點上重新啟動,避免干擾服務。
圖形 2.1, “在 Red Hat High Availability 雙節點叢集中的 Apache 網站伺服器” 顯示了高層的叢集總覽。該叢集是個雙節點的 Red Hat High-Availability 叢集,並且配置了網路電源切換器以及共享儲存裝置。叢集節點連上了公用網路,以讓客戶端透過虛擬 IP 存取 Apache 網站伺服器。Apache 伺服器會在 Node 1 或是 Node 2 上執行,這兩個節點皆能存取存放了 Apache 資料的儲存裝置。
在 Red Hat High Availability 雙節點叢集中的 Apache 網站伺服器

圖形 2.1. 在 Red Hat High Availability 雙節點叢集中的 Apache 網站伺服器

本使用案例假設您的系統包含了下列元件:
  • 一個雙節點的 Red Hat High Availability 叢集,並且各個節點皆配置了電源隔離。這項程序使用了〈章 1, 透過 Pacemaker 來建立 Red Hat High-Availability Cluster〉中所提供的叢集範例。
  • 一個 Apache 網站伺服器所需的公共虛擬 IP 位址。
  • 供叢集中的節點使用的共享儲存裝置(使用 iSCSI 或光纖頻道)。
配置了一個 Apache 資源群組的叢集,它包含了網站伺服器所需要的叢集元件:一項 LVM 資源、檔案系統資源、一組 IP 位址資源,以及一項網站伺服器資源。此資源群組能由叢集中的一個節點備援至另一節點,並允許這兩個節點執行網站伺服器。在為此叢集建立資源群組前,您將必須執行下列程序:
  1. 如〈節 2.1, “為一個 LVM 卷冊配置 ext4 檔案系統”〉中所述,配置一項 ext4 檔案系統並將它掛載至 my_lv 邏輯卷冊上。
  2. 如〈節 2.2, “網站伺服器配置”〉中所述,配置一個網站伺服器。
  3. 確保只有叢集能啟用包含了 my_lv 的卷冊群組,並且開機時該卷冊群組不會在叢集之外啟用,如〈節 2.3, “獨佔啟用(exclusive activation)叢集中的卷冊群組”〉中所述。
再進行了這些程序後,您便可建立資源群組以及它所包含的資源(如 節 2.4, “透過 pcs 指令來建立資源和資源群組”〉中所述。

2.1. 為一個 LVM 卷冊配置 ext4 檔案系統

這項使用案例需要您在儲存裝置上建立一個 LVM 邏輯卷冊,並且該儲存裝置能讓叢集中的節點共享。
下列程序會建立一個 LVM 邏輯卷冊然後在該卷冊上建立一個 ext4 檔案系統。在此範例中,共享的分割區 /dev/sdb1 會被使用來儲存 LVM 實體卷冊,並從而建立 LVM 邏輯卷冊。

注意

叢集節點所使用的 LVM 卷冊和相應分割區以及裝置必須只連至該叢集節點。
因為 /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. 建立一個使用了卷冊群組 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
      ...
  4. 在邏輯卷冊 my_lv 上建立一個 ext4 檔案系統。
    # mkfs.ext4 /dev/my_vg/my_lv
    mke2fs 1.42.7 (21-Jan-2013)
    Filesystem label=
    OS type: Linux
    ...