pacemaker高可用集群

节点: Server1 172.25.31.1 server4 172.25.31.4
服务器: server2 172.25.31.2 server3 172.25.31.3

pacemaker作为linux系统高可用HA的资源管理器,位于HA集群架构中的资源管理,资源代理层,它不提供底层心跳信息传递功能。心跳信息传递是通过corosync来处理的。它实现最大可用性群集服务(亦称资源管理)的节点和资源级故障检测和恢复使用您的首选集群基础设施(OpenAIS的或Heaerbeat)提供的消息和成员能力。它可以做乎任何规模的集群,并配备了一个强大的依赖模型,使管理员能够准确地表达群集资源之间的关系(包括顺序和位置)。几乎任何可以编写脚本,可以管理作为心脏起搏器集群的一部分。
pacemaker 特点:
1、主机和应用程序级别的故障检测和恢复
2、几乎支持任何冗余配置
3、同时支持多种集群配置模式
4、配置策略处理法定人数损失(多台机器失败时)
5、支持应用启动/关机顺序
6、支持,必须/必须在同一台机器上运行的应用程序
7、支持多种模式的应用程序(如主/从)
8、可以测试任何故障或群集的群集状态

安装软件
[root@server1 ~]# yum install pacemaker corosync -y
修改配置文件
[root@server1 ~]# cd /etc/corosync/
[root@server1 corosync]# cp corosync.conf.example corosync.conf
[root@server1 corosync]# vim corosync.conf
compatibility: whitetank
totem {
version: 2
secauth: off
threads: 0
interface {
ringnumber: 0
bindnetaddr: 172.25.31.0 网段
mcastaddr: 226.94.1.31 如果局域网内有很多主机,那么需要修改加以区分
mcastport: 5405
ttl: 1
}
}

service {
name: pacemaker 启动corosync时一起启动pacemaker
ver: 0 1表示还要进行二次启动
}
[root@server1 corosync]# /etc/init.d/corosync start

server4同上
[root@server1 corosync]# scp corosync.conf server4:/etc/corosync/
[root@server4 corosync]# /etc/init.d/corosync start

查看当前状态
[root@server1 ~]# crm_mon
在这里插入图片描述
server1和server4使用crm交互式配置使集群校验不报错
crm常用指令:crm resource status 查看资源状态
crm server standby 离线
crm server online 在线

安装pssh-2.3.1-2.1.x86_64.rpm crmsh-1.2.6-0.rc2.2.1.x86_64.rpm插件
[root@server1 ~]# lftp 172.25.31.250 #get pssh插件和crm插件
[root@server1 ~]# yum install pssh-2.3.1-2.1.x86_64.rpm crmsh-1.2.6-0.rc2.
6-0.rc2.2.1.x86_64.rpm -y
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# show
在这里插入图片描述

crm(live)configure# property stonith-enabled=false 禁止
crm(live)configure# primitive vip ocf?IPaddr2
params ip=172.25.31.100 cidr_netmask=32 op monitor interval=1min #打开监控,1min检测一次,30s也可以
crm(live)configure# commit 所有的配置都必须提交

[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# property no-quorum-policy=ignore
crm(live)configure# commitcrm(live)configure# primitive website ocf?
httpd params configfile=/etc/httpd/conf/httpd.conf op monitor interval=1min
crm(live)configure# commit

[root@server1 ~]# crm
pacemaker高可用集群_第1张图片

添加 fence
server1:
[root@foundation98 ~]# systemctl start fence_virtd
[root@server1 ~]# yum provides */fence_xvm
[root@server1 ~]# cd /etc/cluster
[root@server1 cluster]# ls
fence_xvm.key
[root@server1 cluster]# yum install fence-virt-0.2.3-24.el6.x86_64.rpm -y
[root@server1 cluster]# crm
crm(live)# configure
crm(live)configure# primitive vmfence stonith:fence_xvm paramspcmk_host_map=“server1:vm1;server4:vm4” op monitor interval=1min
crm(live)configure# commit
crm(live)configure# bye
[root@server1 ~]# iscsiadm -m discorvery -t st -p 172.25.254.2
[root@server1 ~]# iscsiadm -m node -l
[root@server1 ~]# fdisk -l
在这里插入图片描述
[root@server1 ~]# mkfs.ext4 /dev/sda1
pacemaker高可用集群_第2张图片
[root@server1 ~]# mount /dev/sda1 /var/www/html
[root@server1 ~]# cd /var/www/html
[root@server1 html]# vim index.html
[root@server1 html]# cd
[root@server1 ~]# umount /var/www/html
[root@server1 ~]#df
在这里插入图片描述
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# primitive webdata ocf?Fileesystem params device=/dev/sda1 directory=/var/www/html fstype=ext4 op monitor interval=1min
crm(live)configure# delete webgroup
crm(live)configure# commit
crm(live)configure# group webgroup vip webdata web
crm(live)configure# commit
crm(live)configure# rsc_defaults resource-stickiness=100
crm(live)configure# commit
crm(live)configure# show
pacemaker高可用集群_第3张图片
crm(live)configure# property stonith-enabled=true
crm(live)configure# commit
crm(live)configure# bye
[root@server1 ~]# /etc/init.d/iscsi start server4同
[root@server1 ~]# chkconfig iscsi on server4同
Server2/server3: /etc/init.d/httpd start

你可能感兴趣的:(pacemaker高可用集群)