zhangli-s 发表于 2019-1-3 07:28:26

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上做如下操作:


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

  3、测试http服务配置:
http://blog.运维网.com/attachment/201301/153107265.png
  注:用IP地址最后一段数字代表RS自身的内容,容易让大家看到测试的结果,实际业务中,RS的业务内容应该是完全相同的。
  4、开始安装LVS
  下载相关软件包:


[*]# mkdir download
[*]# cd download/
[*]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz   



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


[*]# uname -r   #查看linux内核版本   
[*]2.6.32-220.el6.x86_64   
[*]# ln -s /usr/src/kernels/2.6.32-220.el6.x86_64/ /usr/src/linux #不做此步骤,安装会报错
[*]注:此ln命令的路径要和uname -r输出内核版本一致,如果没有 /usr/src/kernels/2.6.32-220.el6.x86_64/ 需要安装 kernel-devel软件包。
[*]# tar zxvf ipvsadm-1.24.tar.gz   
[*]# cd ipvsadm-1.24   
[*]# make   
[*]# make install   
[*]# ipvsadm#执行ipvsadm命令,把LVS添加到linux内核中   
[*]IP Virtual Server version 1.2.1 (size=4096)   
[*]Prot LocalAddress:Port Scheduler Flags   
[*]-> RemoteAddress:Port       Forward Weight ActiveConn InActConn   
[*]# lsmod | grep ip_vs#查看LVS是否已经添加到linux内核了,如果有如下输出表示已经成功。   
[*]ip_vs               1081330   
[*]ipv6                  322029154 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上配置都是一样的


[*]# vim lvs_dr.sh
[*]#!/bin/bash
[*]. /etc/init.d/functions
[*]vim lvs_dr.sh
[*]#!/bin/bash
[*]GW=192.168.1.1
[*]# website director vip.
[*]SNS_VIP=192.168.1.181
[*]SNS_RIP1=192.168.1.103
[*]SNS_RIP2=192.168.1.104
[*]      
[*]logger $0 called with $1
[*]case "$1" in
[*]start)
[*]# set squid vip
[*]/sbin/ipvsadm --set 30 5 60
[*]/sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 up
[*]/sbin/route add -host $SNS_VIP dev eth0:0
[*]/sbin/ipvsadm -A -t $SNS_VIP:80 -s wrr -p 3
[*]/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1
[*]/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1
[*]touch /var/lock/subsys/ipvsadm >/dev/null 2>&1
[*];;
[*]stop)
[*]/sbin/ipvsadm -C
[*]/sbin/ipvsadm -Z
[*]ifconfig eth0:0 down
[*]ifconfig eth0:1 down
[*]route del $SNS_VIP
[*]route del $SS_VIP
[*]rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1
[*]echo "ipvsadm stoped"
[*];;
[*]status)
[*]if [ ! -e /var/lock/subsys/ipvsadm ];then
[*]echo "ipvsadm stoped"
[*]exit 1
[*]else
[*]echo "ipvsadm OK"
[*]fi
[*];;
[*]*)
[*] echo "Usage: $0 {start|stop|status}"
[*] exit 1
[*]esac
[*] exit 0
[*]# chmod +x lvs_dr.sh
[*]# cp lvs_dr.sh /etc/rc.d/init.d/   #方便启动
[*]# service lvs_dr.sh start   #启动lvs服务

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


[*]# ipvsadm
[*]IP Virtual Server version 1.2.1 (size=4096)
[*]Prot LocalAddress:Port Scheduler Flags
[*]-> RemoteAddress:Port         Forward Weight ActiveConn InActConn
[*]TCP192.168.1.181:http wrr persistent 3
[*]-> 192.168.1.104:http         Route   1      0          0         
[*]-> 192.168.1.103:http         Route   1      0          0         

  7、配置LVS RS服务器


[*]# vim lvs_dr.sh
[*]#!/bin/bash
[*]. /etc/init.d/functions
[*]SNS_VIP=192.168.1.181
[*]
[*]case "$1" in
[*]start)
[*]      ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
[*]      /sbin/route add -host $SNS_VIP dev lo:0
[*]      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
[*]      sysctl -p >/dev/null 2>&1
[*]      echo "RealServer Start OK"
[*]      ;;
[*]stop)
[*]   ifconfig lo:0 down
[*]      route del $SNS_VIP >/dev/null 2>&1
[*]      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 "RealServer Stoped"
[*]      ;;
[*]*)
[*]      echo "Usage: $0 {start|stop}"
[*]      exit 1
[*]esac
[*]exit 0
[*]# cp lvs_dr.sh /etc/rc.d/init.d/
[*]# service lvs_dr.sh start#启动lvs RS服务器
[*]RealServer Start OK

  8、验证LVS DR模式是否配置成功
  在浏览器中输入 LVShttp://192.168.1.181
http://blog.运维网.com/attachment/201301/170751847.png
  然后打开另一个浏览器再次输入 http://192.168.1.181 看看内容是否一样
http://blog.运维网.com/attachment/201301/170916247.png
  用两个浏览器访问的内容不同,证明LVS DR模式配置成功
  到此LVS DR模式已经配置完成,下面配置LVS DR + Keepalived 高可用负载均衡。



页: [1]
查看完整版本: LVS DR模式负载均衡配置详解(配置篇一)