利用LVS 快速实现负载均衡

NAT模型的配置

Director:网卡1(桥接):10.10.0.1(对外),网卡2(Vmnet):10.0.0.2(对内)

RS1:IP:10.0.0.11

RS2:IP:10.0.0.12


    # Director上安装ipvsadm
    yum install ipvsadm 

    # RS1和RS2上配置
    yum install httpd
    route add default gw 10.0.0.1 

    # 在RS1上配置网页
    echo “realserver1” > /var/www/html/index.html 

    # 在RS2上配置网页
    echo “realserver2” > /var/www/html/index.html 

    # 分别在RS1和RS2上开启服务
    server httpd start 

    # 在Director上开启路由转发功能
    echo 1 > /proc/sys/net/ipv4/ip_forward 

    # 在Director上配置ipvs的定义:使用模式以及算法 
    ipvsadm -A -t 10.10.0.1:80 -s rr 
    ipvsadm -a -t 10.10.0.1:80 -r 10.0.0.11 -m 
    ipvsadm -a -t 10.10.0.1:80 -r 10.0.0.12 -m 
    #查看ipvsadm
    ipvsadm -L -n

验证

浏览器输入10.10.0.1

当页面刷新的时候,出现了不同的页面,也就是系统在内部的确实现了调度


改为WLC算法,查看权重信息:

    # 在Director上修改算法以及权重信息  
    ipvsadm -E -t 10.10.0.1:80 -s wlc  
    ipvsadm -e -t 10.10.0.1:80 -r 10.0.0.11 -m -w 4  #权重定义为4:1  

    # 使用自带的ab命令进行压力测试 
    ab -n 1000 -c 10 http://10.10.0.1/index.html



DR模型的配置


虚拟机1:Director:

DIP配置在接口上 172.16.19.10

VIP配置在接口别名上:172.16.19.1

RS1:RIP配置在接口上:172.16.19.11 ;VIP配置在lo别名上

RS2:RIP配置在接口上:172.16.19.12 ;VIP配置在lo别名上

    # 我们在Director上这样配置
    ifconfig eth0 172.16.19.10/16 
    ifconfig eth0:0 172.16.19.1 broadcast 172.16.19.1 netmask 255.255.255.255 up 
    route add -host 172.16.19.1 dev eth0:0 
    echo 1 > /proc/sys/net/ipv4/ip_forward 

    # RS1和RS2配置属于自己的ip之后都要:定义内核参数,禁止响应对VIP的ARP广播请求 
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 

    # 配置VIP 
    ifconfig lo:0 172.16.19.1 broadcast 172.16.19.1 netmask 255.255.255.255 up 
    # 凡是到172.16.19.1主机的一律使用lo:0响应 
    route add -host 172.16.19.1 dev lo:0  

    # 在Director上配置Ipvs 
    ipvsadm -A -t 172.16.19.1:80 -s wlc 
    ipvsadm -a -t 172.16.19.1:80 -r 172.16.100.11 -g -w 2 
    ipvsadm -a -t 172.16.19.1:80 -r 172.16.100.12 -g -w 4 
    ipvsadm -Ln


我们对172.16.19.1访问查看wlc算法的实现结果