本身作了一次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后恢复。