Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

一.LVS、DR简介

         LVS 是Linux Virtual Server的简称,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以相对反向代理服务器来说,性能一般会高一些。

        DR 是Direct Routing直接路由的简称,应答包通过单独的路由方法返回给客户端。不需要隧道结构,因此可以使用大多数linux操作系统做为物理服务器。和NAT模式不同,DR的负载均衡调度器工作在网络七层协议中的数据链路层,也就是第二层。它通过修改数据包的目标MAC地址,将数据包转发到实际应用服务器上,最重要的是,实际服务器的响应数据包将直接返回给用户端,而不需要经过负载调度器,所以DR模式性能最好。

         HeartBeat 是 Linux-HA 的高可用性集群软件,它的主要作用是:
安装在 Load Balancer 和 Backup 上,运行于 active/standby 模式。
当 Load Balancer 失效时,Backup 自动**,成为实际的 Load Balancer。
切换到 active 模式时,按顺序启动 Virtual IP、IPVS 和 Ldirectord。
切换到 standby 模式时,按顺序关闭 Ldirectord、IPVS 和 Virtual IP 。

          安装 HeartBeat 过程中,已经自动安装了 Ldirectord,它的作用是:
监测 Real Server,当 Real Server 失效时,把它从 Load Balancer 列表中
删除,恢复时重新添加。


二.配置环境


客户机:172.25.29.250

lvs服务器:172.25.29.1   heartbeat  ipvsadm ldirectord

     服务器:172.25.29.4   heartbeat


RS:www.westos.org-server2:172.25.29.2

RS:www.westos.org-server3:172.25.29.3



1.配置服务

在server1上添加VIP

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


安装lvs服务ipvsadm

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


添加VIP策略:

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


添加RS,模式为DR模式:

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



在server2上安装处理与arp协议有关的包的软件arptables_jf,屏蔽mac地址

在配置lvs负载均衡时,后端真实服务器需要制定VIP和禁止arp(使用arptables软件)

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


RS接受到的172.25.29.100包丢弃

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


将源是172.25.29.100的请求包发给172.25.29.2

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


server3上的配置与server2一致

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


在server2上添加VIP

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


在server3上添加VIP

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



2.lvs负载均衡测试

在客户机测试,实现轮询,查看VIP来源于server1

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


关闭server3,vip访问server1正常

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


如果将server2的关闭,过一会VIP来源于server3

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


重启server2的服务后正常轮询

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



四.安装ldirectord健康检查插件

            由于Lvs没有健康检查,但插件ldirectord有健康监测功能,守护进程通过向每台真实服务器真实IP(RIP)上的集群资源发送访问请求来实现对真实服务器的监控。


1.ldirectord的安装配置

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


查看生成的文件

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


拷贝文件到/etc/ha.d/

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


vim /etc/ha.d/ldirectory.cf

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


在server1上配置fallback访问页面

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


2.测试:

正常轮询

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


关闭server2

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


在关闭server3,显示server1默认页面

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



五.heartbeat安装配置


1.安装heartbeat

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


配置三个文件

vim /etc/ha.d/ha.cf

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd




Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


vim haresources

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



server4与server1配置一致

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


2.测试

在server1上删去vip,让高可用接管开启服务,两边启动heartbeat服务

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


客户机上测试显示轮询

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


关闭server1的服务

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

server4接管

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


恢复server1的服务

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

服务回切

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



六.安装配置drbd

DRBD:叫做分布式复制块设备,这是一种基于软件,无共享,复制的解决方案。在服务器之间的 块设备(包括硬盘、分区、逻辑卷)进行镜像。也就是说当某一个应用程序完成写操作后,它提交的数据不仅仅会保存在本地块设备上,DRBD也会将这份数据复 制一份,通过网络传输到另一个节点的块设备上,这样,两个节点上的块设备上的数据将会保存一致,这就是镜像功能。

1.在server1和server4上添加4GB硬盘

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


2.配在安装drbd服务

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


源代码安装,对安装软件进行配置

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


出错:安装包依赖

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


将源码二进制创建为rpm包

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


安装源码包依赖

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


创建好并安装所有rpm包(另一种安装方法)

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


将做好的包传给server4并安装

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



创建资源配置文件demo.res,server1与server4一致

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


server1创建drbd,名字为demo

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


server1启动drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

server4创建drbd,名字为demo

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

查看两边drbd状态都为secondary

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


将server1强制变为主primary

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


查看server1状态为主,开始同步

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


注意:两台主机上的/dev/drbd1 不能同时挂载,只有状态为 primary 时,才能被挂载使用,而此时另一方的状态为 secondary。


server4为副,开始同步

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


同步完成

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


server1上格式化

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


3.server1和server4手动测试

将/dev/drbd1挂载到 /mnt下,安装数据库mysql-server

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


将数据库文件拷入/mnt

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


server1数据库和drbd手动测试成功

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


server2数据库和drbd手动测试成功

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



4.用高可用lvs+heartbeat+ldirectord测试

关闭server1和server4的上的服务,让集群自动开启


删去server1和server4上的VIP

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


两边drbd都要为secondary,并挂载,如果没有变为secondary,用drbdadm secondary demo改变

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



配置heartbeat文件,添加drbd 和mysql 服务  vim /etc/ha.d/haresources

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd


在 /etc/fstab可以加上drbd开机自动挂载


开始测试:两边开启heartbeat

servre1正常

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



将server1 heartbeat关闭,服务到server4

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd



开启server1,服务再次回切到server1

Linux的企业-高可用集群Lvs+ldirectord+heartbeat+drbd






      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1967295,如需转载请自行联系原作者