手动配置三台虚拟机pacemaker+corosync并添加httpd服务

创建三台虚拟机,实验环境:centos7.1,选择基础设施服务安装。
每台虚拟机两块网卡,第一块为pxe,第二块连通外网,手动为两块网卡配置IP、网关,使它们都能ping通外网并可以互相通过hostname ping通
 
 
1、配置防火墙端口
systemctl disable firewalld
systemctl stop firewalld
iptables -F
 
2、配置hostname:
vim /etc/hosts
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
 手动配置三台虚拟机pacemaker+corosync并添加httpd服务
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
3、时间同步:
yum install ntp -y
ntpdate cn.pool.ntp.org
 
4、虚拟机互相通信
ping node1、2、3
 
5、安装pacemaker集群相关组件:
yum install pcs pacemaker corosync fence-agents-all -y  
 
6、启动pcsd服务、开机自动启动
systemctl start pcsd.service
systemctl enable pcsd.service
 
7、创建集群用户:
passwd hacluster(此用户在安装pcs时候会自动创建)
需要输入自定义密码
 
上述操作都需要在三个节点上面执行。
 
8、集群各节点之间进行认证:
pcs cluster auth node1 node2 node3(此处需要输入的用户名必须为pcs自动创建的hacluster,并输入密码)
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
 手动配置三台虚拟机pacemaker+corosync并添加httpd服务
9,创建并启动名为my_cluster的集群,其中node1、node2、node3为集群成员:
pcs cluster setup --start --name my_cluster node1 node2 node3
 
10、设置集群自启动:
pcs cluster enable --all
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
 手动配置三台虚拟机pacemaker+corosync并添加httpd服务
11、查看并设置集群属性:
pcs status
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
 手动配置三台虚拟机pacemaker+corosync并添加httpd服务
检验Corosync的安装及当前corosync状态:
corosync-cfgtool -s
corosync-cmapctl | grep members
pcs status corosync
 
检查配置是否正确(假若没有输出则配置正确):
crm_verify -L -V
可能会出现如下报错
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
那么禁用STONITH:
pcs property set stonith-enabled=false
 
 
12、pcs resource资源属性配置
pcs resource help
pcs resource providers
pcs resource list
 
 
pacemaker+corosync搭建完成
 
13、添加httpd服务到pacemaker中
编写httpd脚本
安装crmsh
centos7
(1)cd /etc/yum.repos.d/
(2)wget http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-7/network:ha-clustering:Stable.repo
(3)yum -y install crmsh
 
crm configure edit
 
httpd
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
 手动配置三台虚拟机pacemaker+corosync并添加httpd服务
pacemaker httpd服务测试,三个节点均可
手动配置三台虚拟机pacemaker+corosync并添加httpd服务
 手动配置三台虚拟机pacemaker+corosync并添加httpd服务
上一篇:关于Android file.createNewFile() 失败的问题


下一篇:Websocket协议数据帧传输和关闭连接