环境:rhel6.5
Yum源服务器 172.25.254.101
lvs-server 172.25.254.100(外) 172.25.0.100(内)
Real-server1 172.25.0.110
real-server 172.25.0.120
准备:yum 源配置如下(3台都配):
# Main rhel6.5 server
[base]
name=Instructor Server Repository
baseurl=http://172.25.254.101/rhel6.5
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# HighAvailability rhel6.5
[HighAvailability]
name=Instructor HighAvailability Repository
baseurl=http://172.25.254.101/rhel6.5/HighAvailability
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# LoadBalancer packages
[LoadBalancer]
name=Instructor LoadBalancer Repository
baseurl=http://172.25.254.101/rhel6.5/LoadBalancer
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# ResilientStorage
[ResilientStorage]
name=Instructor ResilientStorage Repository
baseurl=http://172.25.254.101/rhel6.5/ResilientStorage
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# ScalableFileSystem
[ScalableFileSystem]
name=Instructor ScalableFileSystem Repository
baseurl=http://172.25.254.101/rhel6.5/ScalableFileSystem
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
安装ipvsadm
Yum install -y ipvsadm
测试ipvsadm:
Ipvsadm -L
## IP Virtual Server version 1.2.1 (size=4096)
## Prot LocalAddress:Port Scheduler Flags
## -> RemoteAddress:Port Forward Weight ActiveConn InActConn
这样就是好的
添加规则(lvs-server):
ipvsadm -A -t 172.25.254.100:80 -s rr ##使用rr算法
ipvsadm -a -t 172.25.254.100:80 -r 172.25.0.110:80 -g
ipvsadm -a -t 172.25.254.100:80 -r 172.25.0.120:80 -g
检查规则:
ipvsadm -L
# IP Virtual Server version 1.2.1 (size=4096)
# Prot LocalAddress:Port Scheduler Flags
# -> RemoteAddress:Port Forward Weight ActiveConn InActConn
# TCP 172.25.254.100:80 rr
# -> 172.25.0.110:80 Route 1 0 0
# -> 172.25.0.120:80 Route 1 0 0
这样是正确的,ipvsadm --clear 清楚规则
在两台realserver上添加浮动ip:
Ifconfig lo:0 172.25.254.100 netmask 255.255.255.255
Vim /etc/sysctl.conf
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
添加这两行
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0
注释这三行
sysctl -p ##没有error即可
两台realserver配置apache:
Yum install -y httpd
分别在各自发布目录下写点东西 (最好有所区别)
启动httpd:
Service httpd start
在同172.25.254.100网段的主机中打开浏览器,输入172.25.254.100,按F5刷新,每次都会连接到不同的主机(rr算法)。ipvsadm -Ln查看每台主机的连接次数。