lvs----keepalived

LVS--DR 负载均衡,轮询算法 

操作系统:Red Hat 6.5   关闭所有防火墙与selinux

client:172.25.18.250     VS:172.25.18.1     RS1:172.25.18.2     RS2:172.25.18.3

首先下载ipvsadm,然后添加一个虚拟IP:172.25.18.100/24

[[email protected] ~]# yum install -y ipvsadm

添加虚拟IP

lvs----keepalived

然后定义一个集群,轮询算法(rr:roundrobin)

lvs----keepalived

集群定义好之后,添加节点  -g为DR模式

lvs----keepalived

完成后保存配置

[[email protected] ~]# /etc/init.d/ipvsadm save

ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm:      [  OK  ]

此时配置RS:开启httpd服务,确保能和VS以及client通信,确保httpd端口为80,并且下载arptables

[[email protected] ~]# yum install -y arptables_jf

给RS也添加虚拟IP

lvs----keepalived

然后配置arptables并且保存

将源是172.25.18.100的包丢掉,然后将源是172.25.18.100的包转发给172.25.18.2

lvs----keepalived

lvs----keepalived

此时在物理机访问vip,则会得到两台RS的内容,并且进行轮询分摊流量。

lvs----keepalived

LVS--NAT负载均衡  轮询算法

vs:IP:192.168.1.100/24  (与客户端不同)

lvs----keepalived

然后操作VS(调度器),首先添加一个vip,然后把vip定义为一个集群,写入规则,保存ipvsadm刚才写入的规则,因为nat模式为不同网段的访问,所以必须要打开路由功能,即ip——forward

lvs----keepalivedlvs----keepalived

lvs----keepalived

两台RS需要配置网关,ip网段也与VS相同

lvs----keepalived

此时用客户端访问vip则可以访问到RS1和RS2上的内容,并且进行轮询。

LVS--tun(隧道模式) vs添加vip

lvs----keepalived

定义集群配置规则

lvs----keepalived

lvs----keepalived

配置RS,添加vip,加载ipip模块后会自动生成tunl0隧道

lvs----keepalived

配置vip生成ifcfg-tunl0配置文件,并且重启网络:

lvs----keepalived

Ifcfg-tunl0编辑内容如下:

lvs----keepalived

然后编辑文件:[[email protected] ~]# vim /etc/sysctl.conf

在文件的最后面添加以下内容,保存退出:

lvs----keepalived

[[email protected] network-scripts]# sysctl -p  #执行此条命令使其永久生效

配置全部完成后用客户端访问vip,即可得到RS1和RS2的httpd网页内容,并且进行轮询。

lvs----keepalived

LVS最后一种模式为fullnat,需要编译内核,在此不做实验。


健康检查:当2或者3,down掉以后,保证另外一台机器可以继续使用,如果全部down掉,则返回到server1的内容……
安装ldirectord(检查RS)

[[email protected] ~]# yum install -y ldirectord-3.9.5-3.1.x86_64.rpm

将配置文件拷贝到以下目录进行编辑

lvs----keepalived

修改文件内容25行内容为vip,26,27行内容为RS主机的IP和端口 注释掉38,39行(网页内容和网址)

lvs----keepalived

此时去掉刚才的缓存,启动ldirectord服务,会自动读取配置

lvs----keepalived

lvs----keepalived

此时关掉server2,ldirectord服务会自动删除server2的配置,只读取server3将server1的httpd端口改为默认80,然后down掉server2和server3(down掉的服务为httpd服务),会自动读取server1的服务(服务:写入的网页内容,存在/var/www/html中,名称只能叫:index.html) 

挂掉RS后,效果如下:

lvs----keepalived

lvs----keepalived


keepalived健康检查(检查VS)VS1:server1:172.25.18.1  VS4:172.25.18.4

VS操作

源码安装,解压lvs----keepalived

[[email protected] keepalived-1.4.3]# yum install -y gcc openssl-devel   ###下载编译所需要的依赖包

编译三部曲

[[email protected] keepalived-1.4.3]# ./configure --prefix=/usr/local/keepalived --with-init=SYSV

[[email protected] keepalived-1.4.3]# make && make install

创建软连接

lvs----keepalived

编辑主机的配置文件如下

lvs----keepalived

lvs----keepalived

lvs----keepalived

备机只需将配置文件的18行改为BACKUP,21行优先级调低一点即可。

两台vs启动keepalived,因为server1为主机,并且优先级高,所以VIP会在server1上

lvs----keepalived

当server1宕掉之后,vip会飘到server4上,当server1启动后,vip又会飘回来,这样不影响客户端的访问。。。。