LVS DR 模式实现web负载均衡(iptables(DNAT)+lvs(DR) real server 使用内网ip)
2013-10-03 18:37
351 查看
2.1.1-web基本配置web1配置[root@web1 ~]# fdisk /dev/sdbCommand (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 1First cylinder (1-130, default 1): Using default value 1Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): Using default value 130Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@web1 ~]# partx /dev/sdb[root@web1 ~]# mkdir /www/bbs -pv[root@web1 ~]# mkfs.ext4 /dev/sdb1 [root@web1 ~]# e2label /dev/sdb1 web[root@web1 ~]# vim /etc/fstab
[root@web1 ~]# mount -a[root@web1 ~]# echo "web1" >/www/bbs/test.html[root@web1 ~]# vim /etc/httpd/conf/httpd.conf
[root@web2 ~]# service httpd start
web2网络配置
[root@web2 ~]# yum -y install httpd php php-mysql [root@web2 ~]# mkdir -pv /www/bbs[root@web2 ~]# echo "web2" >/www/bbs/test.html[root@web2 ~]# vim /etc/httpd/conf/httpd.conf
[root@web2 ~]# service httpd start[root@web2 ~]# chkconfig httpd on
2.1.2-Director配置ifconfig eth0:1 172.16.100.80 broadcast 172.16.100.80 netmask 255.255.255.255 uproute add -host 172.16.100.80 dev eth0:1echo 1 > /proc/sys/net/ipv4/ip_forwardiptables -Fiptables -Zipvsadm -Cipvsadm -A -t 172.16.100.80:80 -s wlcipvsadm -a -t 172.16.100.80:80 -r 172.16.100.81 -g -w 1ipvsadm -a -t 172.16.100.80:80 -r 172.16.100.82 -g -w 12.1.3-Realserver配置ifconfig lo downifconfig lo upecho 1 > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/lo/arp_announceecho 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announceifconfig lo:0 172.16.100.80 broadcast 172.16.100.80 netmask 255.255.255.255 uproute add -host 172.16.100.80 dev lo:02.1.4-集群服务测试修改DNS[root@ns1 ~]# sed -i 's/^\<81\>/80/' /var/named/innet.100.16.172.in-addr.arpa [root@ns1 ~]# sed -i 's/\<81\>$/80/' /var/named/innet.sanyu.com.zone [root@ns1 ~]# service named restart
集群服务内网测试
刷新后
集群服务公网测试修改防火墙规则echo 1 > /proc/sys/net/ipv4/ip_forwardiptables -t nat -A PREROUTING -s 202.111.0.0/16 -d 202.111.100.100 -p tcp --dport 80 -j DNAT --to-destination 172.16.100.80iptables -t nat -A PREROUTING -s 202.110.0.0/16 -d 202.110.100.100 -p tcp --dport 80 -j DNAT --to-destination 172.16.100.80iptables -t nat -A PREROUTING -s 202.111.0.0/16 -d 202.111.100.100 -p tcp --dport 443 -j DNAT --to-destination 172.16.100.43:443iptables -t nat -A PREROUTING -s 202.110.0.0/16 -d 202.110.100.100 -p tcp --dport 443 -j DNAT --to-destination 172.16.100.43:443iptables -t nat -A PREROUTING -s 202.111.0.0/16 -d 202.111.100.100 -p tcp --dport 53 -j DNAT --to-destination 172.16.100.53iptables -t nat -A PREROUTING -s 202.110.0.0/16 -d 202.110.100.100 -p tcp --dport 53 -j DNAT --to-destination 172.16.100.53iptables -t nat -A PREROUTING -s 202.111.0.0/16 -d 202.111.100.100 -p udp --dport 53 -j DNAT --to-destination 172.16.100.53iptables -t nat -A PREROUTING -s 202.110.0.0/16 -d 202.110.100.100 -p udp --dport 53 -j DNAT --to-destination 172.16.100.53guest1网络配置
guest2网络配置
注意:网关未指向R1测试结果
脚本:
#!/bin/bash # # LVS script for VS/DR # . /etc/rc.d/init.d/functions # VIP=172.16.100.80 RIP1=172.16.100.81 RIP2=172.16.100.82 PORT=80 # case "$1" in start) /sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up /sbin/route add -host $VIP dev eth0:1 # Since this is the Director we must be able to forward packets echo 1 > /proc/sys/net/ipv4/ip_forward # Clear all iptables rules. /sbin/iptables -F # Reset iptables counters. /sbin/iptables -Z # Clear all ipvsadm rules/services. /sbin/ipvsadm -C # Add an IP virtual service for VIP 192.168.0.219 port 80 # In this recipe, we will use the round-robin scheduling method. # In production, however, you should use a weighted, dynamic scheduling method. /sbin/ipvsadm -A -t $VIP:80 -s wlc # Now direct packets for this VIP to # the real server IP (RIP) inside the cluster /sbin/ipvsadm -a -t $VIP:80 -r $RIP1 -g -w 1 /sbin/ipvsadm -a -t $VIP:80 -r $RIP2 -g -w 2 /bin/touch /var/lock/subsys/ipvsadm &> /dev/null ;; stop) # Stop forwarding packets echo 0 > /proc/sys/net/ipv4/ip_forward # Reset ipvsadm /sbin/ipvsadm -C # Bring down the VIP interface /sbin/ifconfig eth0:1 down /sbin/route del $VIP /bin/rm -f /var/lock/subsys/ipvsadm echo "ipvs is stopped..." ;; status) if [ ! -e /var/lock/subsys/ipvsadm ]; then echo "ipvsadm is stopped ..." else echo "ipvs is running ..." ipvsadm -L -n fi ;; *) echo "Usage: $0 {start|stop|status}" ;; esac
本文出自 “非马梦衢” 博客,请务必保留此出处http://sanyu.blog.51cto.com/7339300/1304428
相关文章推荐
- 使用Lvs DR模式实现负载均衡
- LVS集群的基本原理、LVS/NAT模式的配置、LVS/DR模式的配置、编写自动脚本检查LVS上realserver健康性
- LVS之六:使用keepalived实现LVS的DR模式热备
- LVS(DR模式)的realserver配置(windows)
- tony_LVS DR模式 RealServer 为 Windows客户端配置
- LVS-NAT模式实现NFS-LAMP架构、1个Discuz,MySQL的双Real Server
- LVS + iptables 实现端口转发(DR模式)
- 使用shell脚本检测lvs中realserver状态,并实现自动删除已挂机主机
- 使用keepalived实现LVS的DR模式热备
- 使用LVS(Linux Virtual Server)在Linux上搭建负载均衡的集群服务(DR模式
- LVS之五:使用脚本实现RealServer的健康检查
- LVS DR模式 RealServer 为 Windows 2008 R2配置
- LVS专题: NAT和DR模型实现Web负载均衡
- 实现keepalived企业级高可用基于LVS-DR模式
- 只有一个公网IP也可以使用LVS的DR模式!(外带php session粘滞问题解决)
- 利用ldirectord实现lvs后端realserver健康状态检查
- LVS的DR模式实现
- Linux集群--简单实现LVS-DNAT及LVS-DR
- LVS-NAT和LVS-DR模式的实现详解
- 使用ServerSocketChannel与SocketChannel实现的CS模式