Linux学习笔记(十)——LVS/DR负载均衡服务器环境搭建

Posted on 2016-04-08 12:50  Iltxy  阅读(171)  评论(0)    收藏  举报

  1  摘要

  在上篇博客:电商平台学习笔记(五)——整体网站架构分析,分析了网站整体架构,在文中提到了搭建负载均衡服务器来提升整体的网站性能,现在就以搭建LVS/DR负载均衡服务器为例。一共搭建三台Centos6.5虚拟机,如下表:

主机名  IP地址 描述
Centos1 eth0:10.106.0.202  子网掩码:255.255.0.0  负载均衡服务器
Centos2 eth0:10.106.0.203  子网掩码:255.255.0.0       真实服务器  
Centos3 eth0:10.106.0.204  子网掩码:255.255.0.0 真实服务器

  DR策略原理图见下图:

  DR策略最大的优点就是将请求和响应分离,是和优秀的一种的策略。

  2  工具/原料

  • VMware  WorkStation12
  • Centos6.5
  • SecureCRT7.3

  3  方法/步骤

  3.1 配置Tomcat服务器

1 service iptables stop
2 chkconfig iptables off
3 chkconfig iptables --list
4 #关闭防火墙,如果终端出现的全是off,则表示已成功关闭防火墙
5 cd /var/www/html
6 touch index.html
7 vim index.html  #编辑文件,内容可随便输入,我以Hello World为例
8 service httpd start

  最后,在浏览器中输入ip(可通过ifconfig查询,端口默认为80),即可看见index.html文件内容

  3.2 搭建两台真实服务器

  脚本如下:

1 cd /etc/init.d
2 touch realserver
3 chmod u+x realserver 
4 vim realserver

  文件创建之后,粘贴下面代码

 1 SNS_VIP=10.106.1.250    #VIP,注意切勿与本机处于同一网段,即10.106.0.0/16网段
 2 . /etc/rc.d/init.d/functions
 3 case "$1" in
 4 start)
 5 #添加路由
 6 ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
 7 /sbin/route add -host $SNS_VIP dev lo:0
 8 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
 9 echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
10 echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
11 #VIP,负载均衡服务器对外公开
12 echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
13 sysctl -p >/dev/null 2>&1
14 echo "RealServer Start OK"
15 ;;
16 stop)
17 ifconfig lo:0 down
18 #删除路由
19 route del $SNS_VIP >/dev/null 2>&1
20 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
21 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
22 echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
23 echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
24 echo "RealServer Stoped"
25 ;;
26 *)
27 echo "Usage: $0 {start|stop}"
28 exit 1
29 esac
30 exit 0

 

  检查配置是否生效:

 1 chkconfig realserver on 2 service realserver start 

 

   3.3 搭建keepalived负载均衡服务器

1 yum -y install keepalived   #安装keepalived,使用uname -a查看版本内核,如果在2.6以上,则内置了LVS
2 more /etc/keepalived/keepalived.conf
3 vim /etc/keepalived/keepalived.conf

  打开配置文件之后,编辑如下代码:

 1 global_defs {                       
 2 #   notification_email {             
 3 #       admin@toxingwang.com
 4 #   }
 5 #   notification_email_from master@toxingwang.com
 6 #   smtp_server smtp.exmail.qq.com
 7 #   smtp_connect_timeout 30
 8     router_id LVS_DEVEL             
 9 }
10 vrrp_instance VI_1 {              
11     state MASTER             
12     interface eth0            
13     virtual_router_id 51        
14     priority 100                  
15     advert_int 1           
16     authentication {        
17         auth_type PASS
18         auth_pass 1111
19     }
20     virtual_ipaddress {     #配置VIP      
21         192.168.200.201
22     }
23 }
24 virtual_server 10.106.1.250 80 {    #真实服务器
25     delay_loop 6           
26     lb_algo wrr            
27     lb_kind DR                          
28     nat_mask 255.255.255.0   
29     persistence_timeout 0    
30     protocol TCP                          
31     real_server 10.106.0.203 80 {     
32         weight 3                             
33         TCP_CHECK {                     
34             connect_timeout 10   
35             nb_get_retry 3
36             delay_before_retry 3
37             connect_port 80
38         }
39     }
40     real_server 10.106.0.204 80 {
41         weight 3
42         TCP_CHECK {
43             connect_timeout 10
44             nb_get_retry 3
45             delay_before_retry 3
46             connect_port 80
47         }
48     }
49 }

  最后,即可启动keepalived服务:service keepalived start,并可通过浏览器测试(在浏览器输入VIP进行测试),环境搭建完成。最终确定keepalived服务是否真正启动,使用命令:vim /var/log/messages查看确认!

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3