通过heartbeat搭建lvs高可用性集群
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过heartbeat搭建lvs高可用性集群相关的知识,希望对你有一定的参考价值。
首先,在主、备节点上配置lvs信息,一般通过ldirectord配置
在搭建Director Server的双机热备系统之前,首先需要在两台主机上安装heartbeat软件,安装软件后在/etc/ha.d/ha.cf产生主配置文件
1.配置heartbeat的主配置文件/etc/ha.d/ha.cf
#debugfile /var/log/ha-debug
logfile /var/log/ha-log #指定heartbeat的日志存放位置
#crm yes #是否开启ClusterResourceManager(集群资源管理)功能
bcast eth1 #指定心跳使用以太网广播方式,并且在eth1接口上进行广播
logfacility local0
keepalive 2 #指定心跳间隔时间为2s(即每2s在eth1上发送一次广播)
deadtime 30 #如果指定备用节点在30s内没有收到主节点的心跳信号,则立即接管
#主节点的资源
warntime 10 #指定心跳延迟的时间为10s。当10s内备机不能接受到主节点的心跳信
#号时,就会在日志中写入一个警告信息,但此时不会切换服务
initdead 120 #在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常
#工作,该选项用于设置这种情况产生的时间间隔,取值至少为deadtime的2倍
udpport 694 #设置广播通信的端口,694为默认使用的端口号
baud 19200 #设置串行通信的比特率
serial /dev/ttyS0 #选择串行通信设备,用于双机使用串口线连接情况,如果双机通
#过以太网连接,则应该关闭该选项
#ucast eth0 192.168.1.1 #采用网卡eth0的UDP单播来组织心跳,后面跟的IP地址应为
#双机中对方的IP地址
#mcast eth0 225.0.0.1 694 1 0 #采用网卡eth0的UDP多播来组织心跳,一般在备机不
#止一台时使用。bcast、ucast和mcast分别代表广播、单播和多播,
#是组织心跳的3种方式,任选其一即可
auto_failback on #用来定义当主节点恢复后,是否将服务自动切回,heartbeat的两
#台主机分别表示主节点和备用节点。主节点在正常情况下占用资源并运行所有服
#务,遇到故障时把资源交给备用节点并由备用节点运行服务。在将该选项设置on的
#情况下,一旦主节点恢复运行,则自动获取资源并取代备用节点;如果该选项设置
#为off,那么主节点恢复后,将变为备用节点,而原来的备用节点变成主节点
#stonith bayteach /etc/ha.d/conf/stonith.baytech #stonish的主要作用是使出现
#问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争
#用一个资源的情况发生。保证共享数据的安全性和完整性
#watchdog /dev/watchdog #该选项是可选配置,通过heartbeat来监控系统的运行状
#态。使用该特性,需要在内核中载入“softdog”内核模块,用来生成实际的设备
#文件,如果系统中没有这个内核模块,就需要指定此模块,重新编译内核。编译
#完成后输入“insmod softdog”加载该模块,然后输入grep misc /proc/devices
#(结果应为10),输入cat /proc/misc |grep watchdog (结果应为130)。最好,
#生成设备文件mknod /dev/watchdog c 10 130即可完成此功能
node DR1 #主节点主机名称,必须要和uname -n查看的一致
node DR2 #备用节点主机名称,必须要和uname -n查看的一致
ping 192.168.12.1 #选择ping的节点。ping节点选择的越好,HA的集群就越健壮。可
#以选择固定的路由器作为ping节点,但是最好不要选择集群中的成
#员作为ping的节点,ping节点仅用来测试网络连接
ping node 192.168.12.188 192.168.12.100 #指定ping node。ping node并不是双机中
#的两个节点,仅仅用来测试网络的连通性
respawn hacluster /usr/lib/heartbeat/ipfail #该选项是可选配置,列出与
#heartbeat一起启动和关闭的进程,该进程一般是heartbeat的集成的
#插件,这些进程遇到故障可以自动重新启动。最常用的进程是
#ipfail,此进程用来检测和处理网络故障,需要配合ping语句指定的
#ping node来检测网络的连通性。其中hacluster表示启动ipfail进程的身份
2.配置heartbeat的资源文件/etc/ha.d/haresources
haresources文件用于指定双机系统的主节点、集群ip、子网掩码、广播地址以及启动
服务等集群资源。文件每一行可以包括一个或多个资源脚本名,资源脚本名之间用空格隔开,参数之间是有两个冒号隔开。
DR1 IPaddr::192.168.12.200/24/eth0 ldirectord
#设置DR1为主节点,集群服务器的IP地址为192.168.12.200,netmask为255.255.255.0,同时指定此IP使用的网络接口为eth0,heartbeat托管的服务为ldirectord
注意:这里的ldirectord对应的文件为/etc/init.d/ldirectord,即ldirectord服务的启动文件,也就是将ldirectord的启动与关闭交给heartbeat来管理。另外,LVS主节点和备份节点的资源文件haresources要完全一致,当指定DR1是主节点后,另一个节点DR2就是备用节点。
3.配置heartbeat的认证文件/etc/ha.d/authkeys
authkeys文件用于设定heartbeat的认证方式,该文件中有3种可用的认证方式crc、sha1和md5,这里使用crc认证方式。设置如下:
auth 1
1 crc
#2 sha1 sha1_any_password
#3 md5 md5_any_password
需要说明的一点是无论auth后面指定的是什么数字,在下一行必须作为关键字再次出现,例如指定“auth 6 ”下面一定要有一行“6 认证类型”,最后确保这个文件的权限是600
4.启动heartbeat服务
所有配置完成后,就可以在主、备Director Server上启动heartbeat服务了
/etc/init.d/heartbeat {start|stop|status|restart|reload|force-reload}
由于heartbeat托管了主、备Director Server上的ldirectord服务,因此只需在主、备
上启动heartbeat服务即可,这样ldirectord服务就在主机上起来了
启动Real Server节点服务
分别在两个Real Server节点上执行如下脚本:
/etc/init.d/lvsrs start
本文出自 “夜色” 博客,请务必保留此出处http://liuqun.blog.51cto.com/3544993/1983301
以上是关于通过heartbeat搭建lvs高可用性集群的主要内容,如果未能解决你的问题,请参考以下文章
LVS-DR模式的配置及Heartbeat+Ldirectord+DR高可用负载均衡集群的搭建
Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd,mysql,lvs