LVS 简单入门DR模式
LVS的DR模式是三种模式中配置比较简单而且效率也是很快的。如图所示是一个简单的LVS架构图,4台服务器。因为是试验环境,要表示的是能实现功能的最简答配置。红色线条表示报文转发路线,DS接受到客户端的请求后改写请求的MAC地址,在将请求发送给RealServer,然后RealServer将相应直接返回给客户端。
图中可配置的设备就是DS与RealServer
首先我们只需三台先搭建一个简单的负载均衡架构,基本原理就是让客户端浏览程序页面的时候实现自动切换,例如在2台RealServer上开启80端口写个简单的首页,一台是显示1,一台显示2,这样用户在客户端通过刷新页面呈现1,2轮流出现的情况。
第一部分:配置DS设备
DS设备需要安装的是:
(1)主模块-pvsadm yum安装就可以
(2)keepalived,有运行服务器监测以及HA cluster功能,配置文件为/etc/keepalived/keepalived.conf
(3)heartbeat,HA基本功能,心跳监测和资源接管等,需要先安装libnet。
我们就先用一台DS设备,只安装主模块与keepalived就可以实现上述的功能
在DS-master的操作如下:
(1)yum install ipvsadm
(2)下载keepalived源码包安装
(3)管理配置文件以及启动项
#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
#mkdir /etc/keepalived
#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
#cp /usr/local/sbin/keepalived /usr/sbin
#vi /etc/rc.local ---增加一行--- /etc/init.d/keepalived start
(4)编辑keepalived.conf
! Configuration File for keepalived
#quan ju dingyi
global_defs {
notification_email {
[email protected]
}
notification_email_from http://linuxmylife.blog.51cto.com/
smtp_server 192.168.0.18
smtp_connect_timeout 30
router_id LVS_MASTER
}
#shi li dingyi
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.252
}
}
#xuni server dingyi
virtual_server 192.168.0.252 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
# persistence_timeout 50
protocol TCP
real_server 192.168.0.247 80 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delsy_before_retry 3
}
}
real_server 192.168.0.246 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delsy_before_retry 3
}
}
}
至此,DS部分的配置基本就完成了,启动keepalived即可。
第二部分:RealServer的配置
RealServer的配置也主要两部分
(1)开启虚拟接口,配置VIP,将相应直接返回给客户端
添加vip脚本文件:
vi /etc/init.d/vip252.sh
#!/bin/bash
VIP=192.168.0.252
. /etc/rc.d/init.d/functions
case "$1" in
start)
echo "Start LVS of Real Server"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Director server"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
chmod a+x /etc/init.d/vip252.sh
/etc/init.d/vip252 start
然后RealServer-2 也一样配置
验证负载均衡:
DS的验证
RealServer的验证:
最后在浏览器浏览测试页面看是否实现自动切换的功能
然后F5刷新
通过192.168.0.252这个虚拟IP,成功实现了访问0.247与0.246这两台真实的WEB,这样就实现了LVS的基本功能,是不是很简单。
最后开启80端口就可以测试了。到此,最简单的LVS就配置完成了。然后在加入一台辅助keepalived,实现主keepalived出现故障时,辅助的keepalived自动启动的高可用功能。
配置服务keepalived:
其实可以把主keepalived的配置文件SCP过来,然后改两个地方就好:
(1)把state 改为BACKUP状态
(2)降低优先级,只要小于100(主的优先级)就可以
然后启动keepalived
这样就完成了。为了更好的观察结果,我们开启keepalived的日志功能.
转载于:https://blog.51cto.com/linuxmylife/1238840