通过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














本文转自lq201151CTO博客,原文链接: http://blog.51cto.com/liuqun/1983301,如需转载请自行联系原作者




相关文章
|
5月前
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
175 0
|
3月前
|
负载均衡 算法 Linux
LVS集群
LVS(Linux Virtual Server)集群是一种基于Linux操作系统的高可用性和负载均衡解决方案。它通过将网络流量分发到多个后端服务器上,实现了对网络服务的负载均衡,并提高了系统的可用性和性能。
65 1
|
4月前
|
负载均衡 算法 网络协议
小白带你学习linux的LVS集群(三十六)
小白带你学习linux的LVS集群(三十六)
71 0
|
7月前
|
负载均衡 测试技术
LVS+KeepAlived构建高可用集群
LVS+KeepAlived构建高可用集群
54 0
|
8月前
|
缓存 负载均衡 网络协议
|
缓存 运维 负载均衡
Keepalived+LVS+nginx搭建nginx高可用集群
  nginx是一款非常优秀的反向代理工具,支持请求分发,负载均衡,以及缓存等等非常实用的功能。在请求处理上,nginx采用的是epoll模型,这是一种基于事件监听的模型,因而其具备非常高效的请求处理效率,单机并发能力能够达到上百万。nginx接收到的请求可以通过负载均衡策略分发到其下一级的应用服务器,这些服务器一般是以集群方式部署的,因而在性能不足的情况下,应用服务器可以通过加机器的方式扩展流量。此时,对于一些特大型的网站,性能的瓶颈就来自于nginx了,因为单机的nginx的并发能力是有上限的,而nginx本身是不支持集群模式的,因而此时对nginx的横向扩展就显得尤为重要。
675 1
|
缓存 负载均衡 网络协议
构建LVS负载均衡集群
LVS即Linux虚拟服务器,目前 LVS 已经被集成到 Linux 内核模块中,该项目在 Linux 内核实现了基于 IP 的数据请求负载均衡调度方案,LVS集群采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序.为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性.
856 0
构建LVS负载均衡集群
|
存储 负载均衡 网络协议
什么是LVS以及搭建LVS负载均衡群集(下)
什么是LVS以及搭建LVS负载均衡群集(下)
88 0
什么是LVS以及搭建LVS负载均衡群集(下)
|
存储 分布式计算 负载均衡
什么是LVS以及搭建LVS负载均衡群集(上)
什么是LVS以及搭建LVS负载均衡群集(上)
122 0
什么是LVS以及搭建LVS负载均衡群集(上)
|
负载均衡 监控 算法
企业集群平台架构设计与实现lvs篇4(二)|学习笔记
快速学习企业集群平台架构设计与实现lvs篇4(二)
84 0