自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 RHEL 9/8 上設(shè)置高可用性 Apache(HTTP)集群

運維
在本文中,我們將介紹如何在 RHEL 9/8 上使用 Pacemaker 設(shè)置兩節(jié)點高可用性 Apache 集群。

Pacemaker 是適用于類 Linux 操作系統(tǒng)的高可用性集群軟件。Pacemaker 被稱為“集群資源管理器”,它通過在集群節(jié)點之間進(jìn)行資源故障轉(zhuǎn)移來提供集群資源的最大可用性。Pacemaker 使用 Corosync 進(jìn)行集群組件之間的心跳和內(nèi)部通信,Corosync 還負(fù)責(zé)集群中的投票選舉(Quorum)。

先決條件

在我們開始之前,請確保你擁有以下內(nèi)容:

  • 兩臺 RHEL 9/8 服務(wù)器
  • Red Hat 訂閱或本地配置的倉庫
  • 通過 SSH 訪問兩臺服務(wù)器
  • root 或 sudo 權(quán)限
  • 互聯(lián)網(wǎng)連接

實驗室詳情:

事不宜遲,讓我們深入了解這些步驟。

1、更新 /etc/hosts 文件

在兩個節(jié)點上的 /etc/hosts 文件中添加以下條目:

192.168.1.6  node1.example.com
192.168.1.7  node2.example.com

2、安裝高可用包 Pacemaker

Pacemaker 和其他必需的包在 RHEL 9/8 的默認(rèn)包倉庫中不可用。因此,我們必須啟用高可用倉庫。在兩個節(jié)點上運行以下訂閱管理器命令。

對于 RHEL 9 服務(wù)器:

$ sudo subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpms

對于 RHEL 8 服務(wù)器:

$ sudo subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms

啟用倉庫后,運行命令在兩個節(jié)點上安裝 pacemaker 包:

$ sudo dnf install pcs pacemaker fence-agents-all -y

如何在 RHEL 9/8 上設(shè)置高可用性 Apache(HTTP)集群

3、在防火墻中允許高可用端口

要允許防火墻中的高可用端口,請在每個節(jié)點上運行以下命令:

$ sudo firewall-cmd --permanent --add-service=high-availability
$ sudo firewall-cmd --reload

4、為 hacluster 用戶設(shè)置密碼并啟動 pcsd 服務(wù)

在兩臺服務(wù)器上為 hacluster 用戶設(shè)置密碼,運行以下 echo 命令:

$ echo "<Enter-Password>" | sudo passwd --stdin hacluster

執(zhí)行以下命令在兩臺服務(wù)器上啟動并啟用集群服務(wù):

$ sudo systemctl start pcsd.service
$ sudo systemctl enable pcsd.service

5、創(chuàng)建高可用集群

使用 pcs 命令對兩個節(jié)點進(jìn)行身份驗證,從任何節(jié)點運行以下命令。在我的例子中,我在 node1 上運行它:

$ sudo pcs host auth node1.example.com node2.example.com

使用 hacluster 用戶進(jìn)行身份驗證。

使用下面的 pcs cluster setup 命令將兩個節(jié)點添加到集群,這里我使用的集群名稱為 http_cluster。僅在 node1 上運行命令:

$ sudo pcs cluster setup http_cluster --start node1.example.com node2.example.com
$ sudo pcs cluster enable --all

這兩個命令的輸出如下所示:

從任何節(jié)點驗證初始集群狀態(tài):

$ sudo pcs cluster status

注意:在我們的實驗室中,我們沒有任何防護(hù)設(shè)備,因此我們將其禁用。但在生產(chǎn)環(huán)境中,強(qiáng)烈建議配置防護(hù)。

$ sudo pcs property set stonith-enabled=false
$ sudo pcs property set no-quorum-policy=ignore

6、為集群配置共享卷

在服務(wù)器上,掛載了一個大小為 2GB 的共享磁盤(/dev/sdb)。因此,我們將其配置為 LVM 卷并將其格式化為 XFS 文件系統(tǒng)。

在開始創(chuàng)建 LVM 卷之前,編輯兩個節(jié)點上的 /etc/lvm/lvm.conf 文件。

將參數(shù) #system_id_source = "none" 更改為 system_id_source = "uname"

$ sudo sed -i 's/# system_id_source = "none"/ system_id_source = "uname"/g' /etc/lvm/lvm.conf

在 node1 上依次執(zhí)行以下一組命令創(chuàng)建 LVM 卷:

$ sudo pvcreate /dev/sdb
$ sudo vgcreate --setautoactivation n vg01 /dev/sdb
$ sudo lvcreate -L1.99G -n lv01 vg01
$ sudo lvs /dev/vg01/lv01
$ sudo mkfs.xfs /dev/vg01/lv01

將共享設(shè)備添加到集群第二個節(jié)點(node2.example.com)上的 LVM 設(shè)備文件中,僅在 node2 上運行以下命令:

[sysops@node2 ~]$ sudo lvmdevices --adddev /dev/sdb

7、安裝和配置 Apache Web 服務(wù)器(httpd)

在兩臺服務(wù)器上安裝 Apache web 服務(wù)器(httpd),運行以下 dnf 命令:

$ sudo dnf install -y httpd wget

并允許防火墻中的 Apache 端口,在兩臺服務(wù)器上運行以下 firewall-cmd 命令:

$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload

在兩個節(jié)點上創(chuàng)建 status.conf 文件,以便 Apache 資源代理獲取 Apache 的狀態(tài):

$ sudo bash -c 'cat <<-END > /etc/httpd/conf.d/status.conf
<Location /server-status>
    SetHandler server-status
    Require local
</Location>
END'
$

修改兩個節(jié)點上的 /etc/logrotate.d/httpd

替換下面的行

/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true

/usr/bin/test -f /run/httpd.pid >/dev/null 2>/dev/null &&
/usr/bin/ps -q $(/usr/bin/cat /run/httpd.pid) >/dev/null 2>/dev/null &&
/usr/sbin/httpd -f /etc/httpd/conf/httpd.conf \
-c "PidFile /run/httpd.pid" -k graceful > /dev/null 2>/dev/null || true

保存并退出文件。

8、為 Apache 創(chuàng)建一個示例網(wǎng)頁

僅在 node1 上執(zhí)行以下命令:

$ sudo lvchange -ay vg01/lv01
$ sudo mount /dev/vg01/lv01 /var/www/
$ sudo mkdir /var/www/html
$ sudo mkdir /var/www/cgi-bin
$ sudo mkdir /var/www/error
$ sudo bash -c ' cat <<-END >/var/www/html/index.html
<html>
<body>High Availability Apache Cluster - Test Page </body>
</html>
END'
$
$ sudo umount /var/www

注意:如果啟用了 SElinux,則在兩臺服務(wù)器上運行以下命令:

$ sudo restorecon -R /var/www

9、創(chuàng)建集群資源和資源組

為集群定義資源組和集群資源。在我的例子中,我們使用 webgroup 作為資源組。

  • web_lvm 是共享 LVM 卷的資源名稱(/dev/vg01/lv01
  • web_fs 是將掛載在 /var/www 上的文件系統(tǒng)資源的名稱
  • VirtualIP 是網(wǎng)卡 enp0s3 的 VIP(IPadd2)資源
  • Website 是 Apache 配置文件的資源。

從任何節(jié)點執(zhí)行以下命令集。

$ sudo pcs resource create web_lvm ocf:heartbeat:LVM-activate vgname=vg01 vg_access_mode=system_id --group webgroup
$ sudo pcs resource create web_fs Filesystem device="/dev/vg01/lv01" directory="/var/www" fstype="xfs" --group webgroup
$ sudo pcs resource create VirtualIP IPaddr2 ip=192.168.1.81 cidr_netmask=24 nic=enp0s3 --group webgroup
$ sudo pcs resource create Website apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group webgroup

現(xiàn)在驗證集群資源狀態(tài),運行:

$ sudo pcs status

很好,上面的輸出顯示所有資源都在 node1 上啟動。

10、測試 Apache 集群

嘗試使用 VIP(192.168.1.81)訪問網(wǎng)頁。

使用 curl 命令或網(wǎng)絡(luò)瀏覽器訪問網(wǎng)頁:

$ curl http://192.168.1.81

或者

完美!以上輸出確認(rèn)我們能夠訪問我們高可用 Apache 集群的網(wǎng)頁。

讓我們嘗試將集群資源從 node1 移動到 node2,運行:

$ sudo pcs node standby node1.example.com
$ sudo pcs status

完美,以上輸出確認(rèn)集群資源已從 node1 遷移到 node2

要從備用節(jié)點(node1.example.com)中刪除節(jié)點,運行以下命令:

$ sudo pcs node unstandby node1.example.com

以上就是這篇文章的全部內(nèi)容,我希望你發(fā)現(xiàn)它提供了豐富的信息,請在下面的評論部分中發(fā)表你的疑問和反饋。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2024-02-27 09:48:25

Redis集群數(shù)據(jù)庫

2014-08-14 16:38:22

HeartbeatApache集群

2009-06-14 17:53:28

ibmdwWebSphere

2013-08-28 10:30:39

vSphere

2012-02-13 23:20:18

linux集群高可用

2012-07-04 11:21:07

OpenStack

2024-08-13 15:42:19

2013-03-21 11:09:48

網(wǎng)絡(luò)管理高可用性集群系統(tǒng)網(wǎng)絡(luò)虛擬化基礎(chǔ)架構(gòu)

2018-06-21 08:23:35

云存儲高可用應(yīng)用

2012-09-04 13:43:31

SQL Server

2012-02-22 09:58:59

虛擬化桌面虛擬化Citrix Xend

2010-11-29 16:22:32

虛擬化高可用性

2009-09-03 13:44:27

RHEL服務(wù)器RHEL成功應(yīng)用

2025-03-04 08:20:00

2023-03-16 08:55:51

RHEL 8MiniKube開源

2024-12-11 08:35:55

2011-08-25 15:42:49

2010-12-31 14:36:15

ExchangeSer

2022-11-17 09:52:12

RHEL 9Node.js

2023-12-05 09:31:46

數(shù)據(jù)庫架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號