2013年(1)
分类: 服务器与存储
2013-01-20 20:48:19
注:本实验关闭 SELinux和IPtables防火墙。
管理IP地址 | 角色 | 备注 |
192.168.1.101 | LVS主调度器(Msater Director) | 对外提供服务的VIP为192.168.1.181 |
192.168.1.114 | LVS从调度器(Backup Director) | 平时可以做为RS(真是服务器)使用 |
192.168.1.104 | RS1(真实服务器) |
|
192.168.1.103 | RS2(真实服务器) |
|
[root@centos ~]# yum -y install httpd echo 103 >/var/www/html/index.html #(104上的要把 103字段改成 104) [root@centos ~]# service httpd start #启动http服务 [root@centos ~]# ps -ef | grep httpd #检查进程如有类似的输出表示启动成功。 root 1535 1 0 23:27 ? 00:00:00 /usr/sbin/httpd apache 1537 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd apache 1538 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd apache 1539 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd [root@centos ~]# setenforce 0 #关闭SELinux [root@centos ~]# /etc/rc.d/init.d/iptables stop #关闭防火墙3、测试http服务配置:
注:用IP地址最后一段数字代表RS自身的内容,容易让大家看到测试的结果,实际业务中,RS的业务内容应该是完全相同的。
4、开始安装LVS
下载相关软件包:
[root@centos1 ~]# mkdir download [root@centos1 ~]# cd download/ [root@centos1 download]# wget5、安装命令
[root@centos1 download]# uname -r #查看linux内核版本 2.6.32-220.el6.x86_64 [root@centos1 download]# 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软件包。 [root@centos1 download]# tar zxvf ipvsadm-1.24.tar.gz [root@centos1 download]# cd ipvsadm-1.24 [root@centos1 ipvsadm-1.24]# make [root@centos1 ipvsadm-1.24]# make install [root@centos1 ipvsadm-1.24]# ipvsadm #执行ipvsadm命令,把LVS添加到linux内核中 IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn [root@centos1 ipvsadm-1.24]# lsmod | grep ip_vs #查看LVS是否已经添加到linux内核了,如果有如下输出表示已经成功。 ip_vs 108133 0 ipv6 322029 154 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv66配置LVS 服务端
#!/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
[root@centos1 bin]# chmod +x lvs_dr.sh [root@centos1 bin]# cp lvs_dr.sh /etc/rc.d/init.d/ #方便启动 [root@centos1 bin]# service lvs_dr.sh start #启动lvs服务用ipvsadm -Ln 命令查看是否有如下输出,如有证明LVS配置成功
[root@centos1 bin]# ipvsadm IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.181:http wrr persistent 3 -> 192.168.1.104:http Route 1 0 0 -> 192.168.1.103:http Route 1 0 07、配置LVS RS服务器
[root@centos bin]# 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 [root@centos bin]# cp lvs_dr.sh /etc/rc.d/init.d/ [root@centos bin]# service lvs_dr.sh start #启动lvs RS服务器 RealServer Start OK8、验证LVS DR模式是否配置成功
然后打开另一个浏览器再次输入 看看内容是否一样
用两个浏览器访问的服务器不同,证明LVS DR模式配置负载均衡成功
到此LVS DR模式已经配置完成,下面配置LVS DR + Keepalived 高可用负载均衡。