• CentOS下LVS DR模式负载均衡配置详解


    一安装LVS准备:

    1、准备4台Centos 6.2 x86_64

    注:本实验关闭 SELinux和IPtables防火墙。

    管理IP地址 角色 备注
    192.168.1.101 LVS主调度器(Master Director) 对外提供服务的VIP为192.168.1.180
    192.168.1.114 LVS从调度器(Backup Director) 平时可以作为RS(真实服务器使用)
    192.168.1.104 RS1(真实服务器)  
    192.168.1.103 RS2(真实服务器)  

    2、配置好简单的HTTP服务

    这里以apache服务为例,通过yum -y install httpd 的方式安装好httpd服务。

    分别在192.168.1.103和192.168.1.104上做如下操作:

    1. [root@centos ~]# yum -y install httpd
    2. echo 103 >/var/www/html/index.html #(104上的要把 103字段改成 104)
    3. [root@centos ~]# service httpd start #启动http服务
    4. [root@centos ~]# ps -ef | grep httpd #检查进程如有类似的输出表示启动成功。
    5. root 1535 1 0 23:27 ? 00:00:00 /usr/sbin/httpd
    6. apache 1537 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
    7. apache 1538 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
    8. apache 1539 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
    9. [root@centos ~]# setenforce 0 #关闭SELinux
    10. [root@centos ~]# /etc/rc.d/init.d/iptables stop #关闭防火墙

    3、测试http服务配置:

     

    注:用IP地址最后一段数字代表RS自身的内容,容易让大家看到测试的结果,实际业务中,RS的业务内容应该是完全相同的。

    4、开始安装LVS

     

    下载相关软件包:

    1. [root@centos1 ~]# mkdir download
    2. [root@centos1 ~]# cd download/
    3. [root@centos1 download]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

    5、安装命令

    注:以下安装需要在192.168.1.101和192.168.1.104上面操作:

    1. [root@centos1 download]# uname -r #查看linux内核版本
    2. 2.6.32-220.el6.x86_64
    3. [root@centos1 download]# ln -s /usr/src/kernels/2.6.32-220.el6.x86_64/ /usr/src/linux #不做此步骤,安装会报错
    4. 注:此ln命令的路径要和uname -r输出内核版本一致,如果没有 /usr/src/kernels/2.6.32-220.el6.x86_64/ 需要安装 kernel-devel软件包。
    5. [root@centos1 download]# tar zxvf ipvsadm-1.24.tar.gz
    6. [root@centos1 download]# cd ipvsadm-1.24
    7. [root@centos1 ipvsadm-1.24]# make
    8. [root@centos1 ipvsadm-1.24]# make install
    9. [root@centos1 ipvsadm-1.24]# ipvsadm #执行ipvsadm命令,把LVS添加到linux内核中
    10. IP Virtual Server version 1.2.1 (size=4096)
    11. Prot LocalAddress:Port Scheduler Flags
    12. -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    13. [root@centos1 ipvsadm-1.24]# lsmod | grep ip_vs #查看LVS是否已经添加到linux内核了,如果有如下输出表示已经成功。
    14. ip_vs 108133 0
    15. ipv6 322029 154 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6

    6配置LVS 服务端

    在192.168.1.101和192.168.1.114上分别配置LVS DR模式

    1)、配置LVS,建立一个脚本配置LVS

    注:192.168.1.101和192.168.1.114上配置都是一样的

    [root@centos1 bin]# vim lvs_dr.sh 

    1. #!/bin/bash
    2. . /etc/init.d/functions
    3. vim lvs_dr.sh
    4. #!/bin/bash
    5. GW=192.168.1.1
    6. # website director vip.
    7. SNS_VIP=192.168.1.181
    8. SNS_RIP1=192.168.1.103
    9. SNS_RIP2=192.168.1.104
    10.  
    11. logger $0 called with $1
    12. case "$1" in
    13. start)
    14. # set squid vip
    15. /sbin/ipvsadm --set 30 5 60
    16. /sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 up
    17. /sbin/route add -host $SNS_VIP dev eth0:0
    18. /sbin/ipvsadm -A -t $SNS_VIP:80 -s wrr -p 3
    19. /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1
    20. /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1
    21. touch /var/lock/subsys/ipvsadm >/dev/null 2>&1
    22. ;;
    23. stop)
    24. /sbin/ipvsadm -C
    25. /sbin/ipvsadm -Z
    26. ifconfig eth0:0 down
    27. ifconfig eth0:1 down
    28. route del $SNS_VIP
    29. route del $SS_VIP
    30. rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1
    31. echo "ipvsadm stoped"
    32. ;;
    33. status)
    34. if [ ! -e /var/lock/subsys/ipvsadm ];then
    35. echo "ipvsadm stoped"
    36. exit 1
    37. else
    38. echo "ipvsadm OK"
    39. fi
    40. ;;
    41. *)
    42. echo "Usage: $0 {start|stop|status}"
    43. exit 1
    44. esac
    45. exit 0
    1. [root@centos1 bin]# chmod +x lvs_dr.sh #给SHELL脚本加上执行权限
    2.  
    3. [root@centos1 bin]# cp lvs_dr.sh /etc/rc.d/init.d/ #方便启动
    4.  
    5. [root@centos1 bin]# service lvs_dr.sh start #启动lvs服务

    用ipvsadm -Ln 命令查看是否有如下输出,如有证明LVS配置成功  

    1. [root@centos1 bin]# ipvsadm
    2.  
    3. IP Virtual Server version 1.2.1 (size=4096)
    4.  
    5. Prot LocalAddress:Port Scheduler Flags
    6.  
    7. -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    8.  
    9. TCP 192.168.1.181:http wrr persistent 3
    10.  
    11. -> 192.168.1.104:http Route 1 0 0
    12.  
    13. -> 192.168.1.103:http Route 1 0 0

    7、配置LVS RS服务器

    [root@centos bin]# vim lvs_dr.sh 

    1. #!/bin/bash
    2. . /etc/init.d/functions
    3. SNS_VIP=192.168.1.181
    4.  
    5. case "$1" in
    6. start)
    7. ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
    8. /sbin/route add -host $SNS_VIP dev lo:0
    9. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    10. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
    11. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    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. route del $SNS_VIP >/dev/null 2>&1
    19. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    20. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
    21. echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
    22. echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
    23. echo "RealServer Stoped"
    24. ;;
    25. *)
    26. echo "Usage: $0 {start|stop}"
    27. exit 1
    28. esac

    [root@centos bin]# cp lvs_dr.sh /etc/rc.d/init.d/  #方便启动

    [root@centos bin]# service lvs_dr.sh start  #启动lvs RS服务器 

    RealServer Start OK 

    8、验证LVS DR模式是否配置成功

    在浏览器中输入 LVS  http://192.168.1.181

    然后打开另一个浏览器再次输入 http://192.168.1.181 看看内容是否一样

    两个浏览器访问的内容不同,证明LVS DR模式配置成功

     

    到此LVS DR模式已经配置完成,下面配置LVS DR + Keepalived 高可用负载均衡。

     

    http://www.centoscn.com/CentosServer/cluster/2014/0729/3380.html

  • 相关阅读:
    语法上的小trick
    [算法模版]斜率优化
    CF886E Maximum Element
    【hdu 1576】A/B(数论--拓展欧几里德 求逆元 模版题)
    【poj 3090】Visible Lattice Points(数论--欧拉函数 找规律求前缀和)
    【poj 2478】Farey Sequence(数论--欧拉函数 找规律求前缀和)
    【poj 1284】Primitive Roots(数论--欧拉函数 求原根个数){费马小定理、欧拉定理}
    【poj 2407】Relatives(数论--欧拉函数 模版题)
    【bzoj 2038】 [2009国家集训队]小Z的袜子(算法效率--莫队分块算法 模版题)
    【uva 1312】Cricket Field(算法效率--技巧枚举)
  • 原文地址:https://www.cnblogs.com/seasonzone/p/6666470.html
Copyright © 2020-2023  润新知