在容災備份領域,有多種高可用方案,corosync+pacemaker無疑是開源方案中的佼佼者,
1. 什么是corosync、pacemaker、pcs?
- Corosync是集群管理套件的一部分,通常會與其他資源管理器一起組合,使用它在傳遞資訊的時候可以通過一個簡單的組態檔來定義資訊傳遞的方式和協議等,它是一個新興的軟體,2008年推出,但其實它并不是一個真正意義上的新軟體,在2002年的時候有一個專案Openais,它由于過大,分裂為兩個子專案,其中可以實作HA心跳資訊傳輸的功能就是Corosync ,它的代碼60%左右來源于Openais,Corosync可以提供一個完整的HA功能,但是要實作更多,更復雜的功能,那就需要使用Openais了,Corosync是未來的發展方向,在以后的新專案里,一般采用Corosync,而hb_gui可以提供很好的HA管理功能,可以實作圖形化的管理,另外相關的圖形化有RHCS的套件luci+ricci,當然還有基于java開發的LCMC集群管理工具,
- Pacemaker是一個集群資源管理器,它利用集群基礎構件(OpenAIS、heartbeat或corosync)提供的訊息和成員管理能力來探測并從節點或資源級別的故障中恢復,以實作群集服務(亦稱資源)的最大可用性,
- Pcs是一種常用的集群配置及管理指令集,其他類似命令有crmsh,
2. 環境準備
1、保證兩個節點上的/etc/hosts檔案均添加了下面的內容
10.10.4.176 g0001210030-00-server01
10.10.4.177 g0001210030-00-server02
2、關閉防火墻(每個節點都需執行)
setenforce 0
sed -i.bak "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
systemctl disable firewalld.service
systemctl stop firewalld.service
iptables --flush
3、查看主備機是否安裝ntp服務
systemctl status ntpd.service

若未安裝ntp服務,先安裝,確認安裝ntp服務后,主機執行以下命令
cp /etc/ntp.conf /etc/ntp.conf.bak
rm -f /etc/ntp.conf
vi /etc/ntp.conf
在/etc/ntp.conf檔案輸入以下內容
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopper noquery
restrict 127.0.0.1
restrict -6::1
restrict 10.10.1.0 mask 255.255.0.0 nomodify notrap
server 10.10.4.176
server 127.127.1.0
fudge 127.127.1.0 stratum 10
啟動主機ntp服務
#systemctl start ntpd.service
備機執行以下命令
ntpdate 10.10.4.176
如果出現下面提示
21 Sep 18:01:41 ntpdate[2604]: no server suitable for synchronization found
稍等片刻再執行一次
ntpdate 10.10.4.176
3. 安裝集群軟體


安裝完畢,輸入pcs status查詢集群狀態為下圖所示,表示集群安裝成功

4. 集群資源配置
1、注意:配置集群資源時,為防止資源啟動的節點不一致,需要暫時將備節點的集群服務停止,在任意節點輸入
pcs cluster stop G0001210030-00-SERVER02
即可關閉備節點集群服務,
2、配置浮動IP和ha服務高可用(ip需根據實際情況修改、在任意節點配置即可)
pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.8.53 cidr_netmask=16 op monitor interval=30s
pcs resource create ha systemd:ha op monitor interval=60s timeout=60s on-fail=restart
配置資源關系
pcs constraint colocation add vip ha INFINITY
設定啟動順序
pcs constraint order vip then ha
3、配置其他資源,如mariadb資料庫服務(在任意節點配置即可,需要注意的是:配置mariadb服務高可用需要將mariadb服務設定為開機不自啟)
pcs resource create mysql-s systemd:mariadb op monitor interval=60s timeout=60s on-fail=restart
配置資源關系
pcs constraint colocation add ha mysql-s INFINITY
設定啟動順序
pcs constraint order ha then mysql-s
至此整個搭建程序完畢,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/546102.html
標籤:訊息安全
