• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

LVS+DR+Keepalive

一、前言

1、官方网址

http://linux-ha.org/

2、Heatbeat3.0特性 

/usr/lib64/heartbeat/heartbeat  -V
3.0.4
  • heartbeat3.x版本把安装包分成了4个部分,分别是:Cluster Glue、Resource Agents、heartbeat和pacemaker,所以要分别安装。
  • v2版本使用CRM管理集群。
  •  

3、CRM管理集群中,cib.xml文件有如下几种方式来编写

  • 人工编写XML文件
  • 使用admintools工具,其已经包含在heartbeat包中
  • 使用GUI图形工具配置,也包含在heartbeat-gui包里面
  • 使用python脚本转换1.x style的格式配置文件到2.x style格式。

4、配置文件

  • /etc/ha.d/ha.cf  //为主配置文件

  • /etc/ha.d/authkeys //为认证key文件

  • /etc/ha.d/haresources //资源管理器文件

  •  

     

     

     

二、拓扑图

1、测试环节拓扑

2、heartbeat+ldreict+ipvs关系图

三、部署

1、所需安装包

heartbeat-2.1.4-12.el6.x86_64.rpm

heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm

heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

heartbeat-gui-2.1.4-12.el6.x86_64.rpm

heartbeat-pils-2.1.4-12.el6.x86_64.rpm

2、相关设置

1) Master与backup间要时间同步

2) Master与backu 间要互信登陆

3) 关闭系统防火墙,selinux状态为disabled

4) 绑定/etc/hosts,master与backup相同

 

3、安装  pacemaker 

 

yum install pacemaker

[root@lvs2 ha.d]# ln -s /usr/libexec/pacemaker/cib /usr/lib64/heartbeat/cib
[root@lvs2 ha.d]# ln -s /usr/libexec/pacemaker/stonith /usr/lib64/heartbeat/stonithd
[root@lvs2 ha.d]# ln -s /usr/libexec/pacemaker/attrd /usr/lib64/heartbeat/attrd
[root@lvs2 ha.d]# ln -s /usr/libexec/pacemaker/crmd /usr/lib64/heartbeat/crmd
[root@lvs2 ha.d]# ln -s /usr/libexec/pacemaker/crmd /usr/lib64/heartbeat/crmd
[root@lvs1 ha.d]# mv /usr/lib64/heartbeat/stonithd /usr/lib64/heartbeat/stonithd_bak
[root@lvs1 ha.d]# ln -s /usr/libexec/pacemaker/stonithd /usr/lib64/heartbeat/stonithd

[root@lvs1 ha.d]# /etc/init.d/pacemaker start
Starting Pacemaker Cluster Manager                         [确定]

#如果需要图形化界面 Pacemaker-Python-GUI可以参考如下方式安装
wget https://github.com/ClusterLabs/pacemaker-mgmt/archive/pacemaker-mgmt-2.1.2.tar.gz
tar -xvf pacemaker-mgmt-2.1.2.tar.gz

 

4、配置ha.cfg

 

#日志文件位置

logfile /var/log/ha-log

#指定主备服务器多久发送一次心跳

keepalive 2

#指定30秒没有收到对方心跳就认为对方已经down机

deadtime 10

#10秒没有收到心跳,便发出警报。

warntime 10

#对方DOWN后120秒重新检测一次。

initdead 11

#指定监听端口

udpport 694

#心跳监听网口,这里为eth1

bcast eth0

#去掉后面#linux

#备份机的心跳线接口与接口IP

#ecast eth0 192.168.6.123

ucast eth0 192.168.6.123

#主节点恢复后,自动收回资源。

auto_failback on

#指定主备服务器的主机名称,即在hosts文件中指定的。第一个node为主服务器,第二个node为备服务器。

node lvs1.jeson.cn

node lvs2.jeson.cn

#当192.168.8.0、10.10.0.254这两个IP都不能ping通时,对方即开始接管资源。

ping_group group1 10.10.0.254 192.168.8.0

#启用ipfail脚本

#respawn root /usr/lib64/heartbeat/ipfail

#指定运行ipfail的用户。

#apiauth ipfail gid=root uid=root

#开启Pacemaker cluster manager

pacemaker  respawn

#crm respawn

5、 haresources

crm的方式haresource只能选取一种,所以如果不采用crm的方式,可以配置haresources

lvs1.jeson.cn 192.168.6.66/32/eth0:0 httpd

6、 conf/ldirectord.cf

配置

# Global Directives

checktimeout=3

checkinterval=1

#fallback=www.iaskjob.com:80

autoreload=yes

logfile="/var/log/ldirectord.log"

#logfile="local0"

quiescent=yes

 

# Sample for an http virtual service

virtual=192.168.6.66:80

        real=192.168.6.42:80 gate 2

        real=192.168.6.46:80 gate 3

#       fallback=www.iaskjob.com:80 gate

        service=http

        request="index.html"

#       receive="woshi"

#       virtualhost=lvs1.jeson.cn

        scheduler=wrr

#       persistent=5

        netmask=255.255.255.255

        protocol=tcp

        checktype=negotiate

        checkport=80

#       request="index.html"

#       receive="woshirongqi"

 #      virtualhost=

四、测试

五、问题补充

1、error: find_corosync_variant:    Corosync is running, but Pacemaker could not find the CMAN or Pacemaker plugin loaded

 

LVS+DR+Keepalive

Pingbacks已打开。

引用地址

暂无评论

发表评论