LVS的DR模式是三种模式中配置比较简单而且效率也是很快的。如图所示是一个简单的LVS架构图,4台服务器。因为是试验环境,要表示的是能实现功能的最简答配置。红色线条表示报文转发路线,DS接受到客户端的请求后改写请求的MAC地址,在将请求发送给RealServer,然后RealServer将相应直接返回给客户端。
图中可配置的设备就是DS与RealServer (1台DR+2台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 {
shidingguoji@163.com
}
notification_email_from http://linuxmylife.blog./ 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也如此配置 最后开启80端口就可以测试了。到此,最简单的LVS就配置完成了。下面加入ha以及备用keepalived功能。
|