LVS-DR+Keepalived高可用集群
-------client------------------主LVS--------------------从LVS---------------------WEB1----------------------WEB2----------
2.2.2.250 2.2.2.10 2.2.2.20 2.2.2.30 2.2.2.40 lo:0:2.2.2.2 lo:0:2.2.2.2 一、配置LVS服务器(主-从两台)1、配置IP[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0[root@localhost ~]# service network restart2、调整响应参数(主-从配置一样)[root@localhost ~]# vim /etc/sysctl.conf添加:net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.eth0.send_redirects = 0[root@localhost ~]# sysctl -p3、安装并配置ipvsadm(主-从配置一样)[root@localhost ~]# rpm -ihv /mnt/Packages/ipvsadm-1.26-2.el6.x86_64.rpm[root@localhost ~]# service ipvsadm start[root@localhost ~]# chkconfig --add ipvsadm[root@localhost ~]# chkconfig ipvsadm on二、配置Keepalived服务器
4、安装keepalived软件(主-从配置一样)[root@localhost ~]# yum -y install kernel-devel openssl-devel popt-devel[root@localhost ~]# tar -zxvf keepalived-1.2.13.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/keepalived-1.2.13/[root@localhost keepalived-1.2.13]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64[root@localhost keepalived-1.2.13]# make && make install[root@localhost ~]# /etc/init.d/keepalived start[root@localhost ~]# netstat -anp | grep keepalived[root@localhost ~]# chkconfig --add keepalived[root@localhost ~]# chkconfig keepalived on4.1、主服务器配置[root@localhost ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bak[root@localhost ~]# vim /etc/keepalived/keepalived.conf修改:global_defs { router_id LVS_DEVEL_R1}vrrp_instance VI_1 { state MASTERinterface eth0virtual_router_id 1priority 100advert_int 1authentication { auth_type PASSauth_pass 1111}virtual_ipaddress { 2.2.2.2}}virtual_server 2.2.2.2 80 { delay_loop 15 //健康检查的时间lb_algo rr //定义调度算法lb_kind DR //定义负载均衡群集的模式protocol TCPreal_server 2.2.2.30 80 { weight 1 //定义权重值TCP_CHECK { connect_port 80 //检查目标端口connect_timeout 3 //链接超时时间nb_get_retry 3 //重试次数delay_before_retry 4 //重试间隔时间}}real_server 2.2.2.40 80 { weight 1TCP_CHECK { connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}}[root@localhost ~]# service keepalived restart[root@localhost ~]# ip add show dev eth04.2、从服务器配置
[root@localhost ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bak[root@localhost ~]# vim /etc/keepalived/keepalived.conf修改:global_defs { router_id LVS_DEVEL_R2}vrrp_instance VI_1 { state BACKUPpriority 99......---其他参数与主服务器保持一致----}[root@localhost ~]# service keepalived restart[root@localhost ~]# ip add show dev eth0三、配置WEB节点服务器
1、配置IP地址1)设置IP[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth02)设置VIP[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-lo:0[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0修改:DEVICE=lo:0IPADDR=2.2.2.2NETMASK=255.255.255.255ONBOOT=yes[root@localhost ~]# /etc/init.d/network restart3)添加路由
[root@localhost ~]# route add -host 2.2.2.2 dev lo:0[root@localhost ~]# echo "route add -host 2.2.2.2 dev lo:0" >> /etc/rc.local2、调整响应参数[root@localhost ~]# vim /etc/sysctl.conf添加:net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.default.arp_ignore = 1net.ipv4.conf.default.arp_announce = 2net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2[root@localhost ~]# sysctl -p
3、配置http服务
WEB-1:[root@localhost ~]# echo "welcome to 2.2.2.30 web server" > /var/www/html/index.htmlWEB-2:[root@localhost ~]# echo "welcome to 2.2.2.40 web server" > /var/www/html/index.html[root@localhost ~]# service httpd restart[root@localhost ~]# chkconfig --add httpd[root@localhost ~]# chkconfig httpd on 三、验证:一)使用ping命令客户端:ping -t 2.2.2.2断开主LVS的网卡,查看客户端的ping情况。重启主LVS的网卡,查看客户端的ping情况。二)客户端1、访问:http://2.2.2.2/在主LVS上查看:[root@localhost ~]# ipvsadm -Lnc2、断开主LVS的网卡客户端访问:http://2.2.2.2/在主-从LVS上查看:[root@localhost ~]# ipvsadm -Lnc在主-从LVS上查看:[root@localhost ~]# ip addr show dev eth03、重启主LVS的网卡客户端访问:http://2.2.2.2/在主-从LVS上查看:[root@localhost ~]# ipvsadm -Lnc在主-从LVS上查看:[root@localhost ~]# ip addr show dev eth0