标签:lvs编译安装dr模型
一、环境
系统:CentOS 6.4x64最小化安装
DR:192.168.3.20
RS1:192.168.3.21
RS2:192.168.3.22
VIP: 192.168.3.23
二、Realserver配置httpd服务做测试
RS1配置
[root@RS1 ~]# yum install httpd -y [root@RS1 ~]# service httpd start Starting httpd: httpd: apr_sockaddr_info_get() failed for RS1 httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName [ OK ] #关闭防火墙,避免对实验造成影响 [root@RS1 ~]# service iptables stop iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] [root@RS1 ~]# echo "RS1 Server" >/var/www/html/index.html [root@RS1 ~]# curl http://127.0.0.1 RS1 Server
RS2配置
[root@RS2 ~]# yum install httpd -y [root@RS2 ~]# service httpd start Starting httpd: httpd: apr_sockaddr_info_get() failed for RS2 httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName [ OK ] #关闭防火墙,避免对实验造成影响 [root@RS2 ~]# service iptables stop iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] [root@RS2 ~]# echo "RS2 Server" >/var/www/html/index.html [root@RS2 ~]# curl RS2 Server
三、DR配置安装
安装基础软件包
[root@DR ~]# yum install make popt libnl libnl-devel popt-static gcc* -y
下载软件包并安装
[root@DR ~]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz [root@DR ~]# tar xf ipvsadm-1.26.tar.gz [root@DR ~]# cd ipvsadm-1.26 [root@DR ipvsadm-1.26]# make [root@DR ipvsadm-1.26]# make install #安装完成后执行ipvsadm --help,如果帮助信息输出,表示安装正常 [root@DR ipvsadm-1.26]# ipvsadm --help
四、配置Realserver的VIP
在Realserver上执行脚本配置VIP,脚本内容如下
#!/bin/bash VIP=192.168.3.23 source /etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP /sbin/route add -host $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 echo "RealServer Start OK" ;; stop) ifconfig lo:0 down route del $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@RS1 ~]# sh realserver.sh start RealServer Start OK [root@RS1 ~]# ip a|grep 3.23 inet 192.168.3.23/32 brd 192.168.3.23 scope global lo:0
在RS2上执行同样的操作
[root@RS2 ~]# sh realserver.sh start RealServer Start OK [root@RS2 ~]# ip a |grep 3.23 inet 192.168.3.23/32 brd 192.168.3.23 scope global lo:0
五、在DR上添加集群服务
#在DR上配置VIP [root@DR ~]# ifconfig eth0:0 192.168.3.23 [root@DR ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:e0:ca:92 brd ff:ff:ff:ff:ff:ff inet 192.168.3.20/24 brd 192.168.3.255 scope global eth0 inet 192.168.3.23/24 brd 192.168.3.255 scope global secondary eth0:0 inet6 fe80::20c:29ff:fee0:ca92/64 scope link valid_lft forever preferred_lft forever [root@DR ~]# ipvsadm -A -t 192.168.3.23:80 -s rr #说明 #-A 表示添加 #-t 表示添加VIP记录,监听端口是80 #-s 表示调度算法是轮询 [root@DR ~]# ipvsadm -a -t 192.168.3.23:80 -r 192.168.3.21 -g [root@DR ~]# ipvsadm -a -t 192.168.3.23:80 -r 192.168.3.22 -g #上述命令表示添加后端的realserver服务 ,-g表示DR模式 [root@DR ~]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.3.23:80 rr -> 192.168.3.21:80 Route 1 0 0 -> 192.168.3.22:80 Route 1 0 0 #关闭DR的防火墙 [root@DR ~]# service iptables stop
测试1:直接访问http://192.168.3.23
[root@qa-web ~]# curl http://192.168.3.23 RS2 Server [root@qa-web ~]# curl http://192.168.3.23 RS1 Server [root@qa-web ~]# curl http://192.168.3.23 RS2 Server [root@qa-web ~]# curl http://192.168.3.23 RS1 Serve #通过以上结果看出lvs基本功能已实现
测试2:删除后端的RS1,验证http://192.168.3.23是否能访问
[root@DR ~]# ipvsadm -d -t 192.168.3.23:80 -r 192.168.3.21 [root@DR ~]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.3.23:80 rr -> 192.168.3.22:80 Route 1 0 0 #此时realserver只有192.168.3.22提供httpd服务,访问结果应该是RS2 Server #测试访问http://192.168.3.23,结果正确 [root@qa-web ~]# curl http://192.168.3.23 RS2 Server [root@qa-web ~]# curl http://192.168.3.23 RS2 Server
本文出自 “ly36843运维” 博客,请务必保留此出处http://ly36843.blog.51cto.com/3120113/1653488
标签:lvs编译安装dr模型
原文地址:http://ly36843.blog.51cto.com/3120113/1653488