本身作了一次crorsync+pacemaker+crmsh,並配置cacti。本文沒有配置過程,全部軟件均使用yum方式安裝,僅僅只是記錄搭建過程當中遇到的一些問題便於之後查閱。php
實驗環境:html
系統:centos 7
node
機器:1臺虛擬機、2臺實體機
web
分配:一臺機器配置nfs,二臺機器作node,nfs共享內容爲mariadb數據文件及cacti文件
數據庫
軟件版本:mariadb5.5.52,cacti0.8.8b,corosync2.4.0,pacemaker1.1.15,crmsh3.0.0
centos
實驗前準備:全部機器作好時間同步,node1和node2可以基於節點名字互相通信以及免密碼ssh登陸。node1和node2修改hostname爲基於FQDN格式名稱,如node1.a.com。全部機器安裝lamp環境,建議安裝上開發組件「Development Tools」,"Server Platform Development"。修改系統網卡名稱爲eth0安全
全部軟件均用yum方式安裝,過程省略。
ssh
node1和node2安裝corosync、pacemaker、crmsh、mariadb、nfs,不要啓動數據庫,修改/etc/my.cnf中datadir爲一個統一路徑
ide
nfs機器上裝好mariadb,並作好安全初始化,建立cacti用戶並受權。
spa
crmsh依賴於pssh,且centos 7的yum庫中沒有此包組,解決方法爲進入/etc/yum.repo.d/
# http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-7/network:ha-clustering:Stable.repo
# yum repolist
nfs機器上配置好數據庫的數據存放路徑並經過nfs共享,cacti也同樣。
cacti配置過程當中遇到的問題:
流量圖無數據,流量顯示-nan
手動運行php /var/www/html/cacti/poller.php --force 提示結束時間要早於開始更新時間
解決方法爲刪除/cacti/rra下全部文件並從新運行php /src/poller.php --force
手動運行php /var/www/html/cacti/poller.php --force 提示時區不爲UTC
修改/etc/php.ini文件data.timezone = Asia/Shanghai,重啓php
corosync配置文件:/etc/corosync/corosync.cnf修改以下
bindnetaddr: 192.168.3.0 (實驗中的機器都是192.168.3.0網段的機器)
mcastaddr:239.212.31.11 (廣播地址可隨意,只要不是默認的地址便可)
secauth:on
最後添加
service {
ver: 0
name: pacemaker
use_mgmtd:yes
}
aisexec {
user: root
group: root
}
quorum {
provider: corosync_votequorum
expected_votes: 2
two_node: 1
}
corosync-keygen 產生密鑰文件,做爲node1與node2通訊憑證
scp -p authkey corosync.conf node2:/etc/corosync 將配置文件、密鑰複製一份到node2
crmsh配置集羣
crm config
property no-quorum-policy=ignore修改法定票數設定
property stonith-enabled=false關閉仲裁設備
primitive webip ocf:heartbeat:IPaddr parmas ip=192.168.3.131 nic=eth0 cidr_netmask=16 op monitor interval=10s(verify會產生告警,可忽略)配置VIP
primitive httpd service:httpd op monitor interval=10s timeout=20s op start timeout=20s op stop timeout=20s 配置httpd服務資源
primitive mariadb systemd:mariadb op monitor interval=10s timeout=20s op start timeout=20s op stop timeout=20s 配置mariadb服務資源
primitive nfshttpd ocf:heartbeat:Filesystem params device="192.168.3.124:/var/www/html/cacti" directory="/var/www/html/cacti" fstype="nfs" op monitor interval=20s timeout=20s op start timeout=20s op stop timeout=20s 配置cacti資源
primitive nfsmariadb ocf:heartbeat:Filesystem params device="192.168.3.124:/data/mydata" directory="/data/mydata" fstype="nfs" op monitor interval=20s timeout=20s op start timeout=20s op stop timeout=20s 配置mariadb數據存放資源
group cacti webip nfshttpd nfsmariadb mariadb httpd 配置組資源,可無須定義排列約束
location cacti_on_node1 cacti 50: node1.a.com 定義資源組傾向node1
verify
commit
crmsh中遇到的問題:
全部資源在node1運行正常,node2上mariadb沒法啓動。經過systemctl status mariadb查看到一條報錯Failed to start Cluster Controlled mariadb。其緣由是因爲最初定義mariadb服務資源時使用的是service:mariadb,更換成systemd:mariadb後恢復。