码迷,mamicode.com
首页 > 其他好文 > 详细

通过heartbeat搭建lvs高可用性集群

时间:2017-11-19 18:50:43      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:linux 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高可用性集群

标签:linux heartbeat lvs 集群

原文地址:http://liuqun.blog.51cto.com/3544993/1983301

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!