CentOS7 构建HA集群
CENTOS6 上支持的RHCS组件包主要有cman(心跳管理)、luci+ricci(配置工具)、rgmanager(资源管理),通过图形化配置相当简单,但是自CENTOS7开始,系统已经不再集成RHCS套件,并且在rpmfind上找不到支持centos7的RHCS组件包,在CENTOS7中默认采用corosync(心跳管理)、pacemaker(资源管理)、pcs(配置工具)同样可以构建HA集群,配置方法较之前有很大区别,但是原理相似。
一、系统环境配置
1.1、修改名称
hostnamectl set-hostname node01
1.2两台机器修改关闭防火墙、SELINUX、配置IP、修改HOSTS
禁止防火墙和selinux
# systemctl disable firewalld
# systemctl stop firewalld
修改/etc/sysconfig/selinux
确保SELINUX=disabled,然后执行setenforce 0 或者reboot服务器以生效
设置防火墙规则(如果关闭防火墙则不用配置)
# firewall-cmd --permanent --add-service=high-availability
# firewall-cmd --add-service=high-availability
配置IP地址及网关、DNS
vi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑配置文件,添加修改以下内容
BOOTPROTO=static #启用静态IP地址
ONBOOT=yes #开启自动启用网络连接
IPADDR=192.168.100.1 #设置IP地址
NETMASK=255.255.255.0 #设置子网掩码
GATEWAY=192.168.100.250 #设置网关
DNS1=8.8.8.8 #设置主DNS
DNS2=8.8.4.4 #设置备DNS
IPV6INIT=no #禁止IPV6
配置HOSTS,两边一样。
[root@node01 ~]# cat /etc/hosts
192.168.100.1 node01
192.168.100.2 node02
192.168.100.10 vip #集群IP
二、集群环境准备
两台机器启动PCSD
systemctl start pcsd.service
systemctl enable pcsd.service
两台机器passwd hacluster
输入同一个密码hacluster
配置节点之间的相互认证
pcs cluster auth node01 node02
[root@node01 ~]# pcs cluster auth node01 node02
Username: hacluster
Password:
node01: Authorized
node02: Authorized
出现以下显示表示认证成功。
[root@node02 ~]# pcs cluster auth node01 node02
node01: Already authorized
node02: Already authorized
各节点之间时间同步
在node1和node2分别进行时间同步,可以使用ntp实现。
[root@node1 ~]# ntpdate 172.16.0.1 //172.16.0.1 为时间服务器(若无时间服务器手动调整时间也可以)
三、集群创建
以nascluster为本集群的名称。
[root@node01 ~]# pcs cluster setup --name nascluster node01 node02
Shutting down pacemaker/corosync services...
Redirecting to /bin/systemctl stop pacemaker.service
Redirecting to /bin/systemctl stop corosync.service
Killing any remaining services...
Removing all cluster configuration files...
node01: Succeeded
node02: Succeeded
pcs在执行以上命令时会生产corosync.conf及修改cib.xml文件,corosync.conf问corosync的配置文件,cib.xml为pacemaker的配置文件。这两个配置文件是集群的