注意:时间必须同步
RS服务器:192.168.27.144 (与VS服务器进行时间同步)
192.168.27.145
VS服务器(与172.18.0.1进行同步并且允许192.168.27.0网段与本机同步)
DIP地址:192.168.27.105
VIP地址:172.20.101.91
CIP服务器:172.20.0.101
NTP服务器:172.18.0.1
1 chronyd服务(网络时间协议)搭建
ntpdate "172.18.0.1"(手动同步)
2 启动chronyd服务;
systemctl start chronyd #chronyd是centos7上面的一个新的时间同步服务器,默认UDP的323端口
3 编辑chronyd配置文件
vim /etc/chronyd.conf
server 172.18.0.1 iburst #添加此行指定与哪台服务器进行同步,iburst代表第一次启动就进行同步
allow 192.168.27.0/24 #取消allow前面的注释,后面写入IP网段或地址
local stratum 10 #取消此行注释,意思是如果本机无法与远程主机同步,也不影响后端服务器与本机的同步
4 重启chronyd服务
systemctl restart chronyd #更改配置文件后重启服务生效,服务使用的是UDP的323端口;
1 编辑chronyd服务的配置文件
vim /etc/chronyd.conf
server 192.168.27.105 #要同步的主机IP指向VS服务器的DIP地址
2 重启服务并且查看端口是否存在
systemctl restart chronyd #重启chronyd服务;
ss -nlup #查看是否有UDP的323端口;
3 查看同步信息
chronyc sources #使用此项命令可查看同步的信息;
1 vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.27.105 #添加此行指定网关
2 在另一台RS服务器上同样设定网关;
1 开启ip_forward转发功能
echo net.ipvs.ip_forward=1 >> /etc/sysctl.conf #开启路由转发功能
2 使用命令生效
sysctl -p
3 使用命令查看
sysctl -a | grep ip_forward #查看是否有结果
1 vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 #指定网卡名称
IPADDR=172.20.0.101 #指定IP地址
GATEWAY=172.20.101.91 #指定目标网关,此处网关为VS服务器的VIP地址
2 重启网卡服务
service network restart #此服务器是centos6所以使用此命令重启网卡服务
3 测试是否能够ping通后端RS主机以及VS服务器的DIP;
ping 192.168.27.105
ping 192.168.27.144
ping 192.168.27.145
1 在192.168.27.144上搭建httpd服务
yum install httpd #使用yum安装httpd服务
echo "rs1" > /var/www/html/index.html #方便后续测试结果明显 所以此处主页内容为rs1
systemctl enable httpd #开机运行httpd服务
2 在192.168.27.145上执行同样的操作,但主页内容为"rs2"
3 注意:
在启动httpd服务如果过慢可以在/etc/hosts文件中添加本机的ip地址后方对应主机名称得以解决
curl 192.168.27.144 #如果可以得到rs1的显示则说明成功
1 yum install ipvsadm #安装此服务
2 ipvsadm -A -t 172.20.101.91:80 -s rr
#-A : 添加VS集群
#-t : 指定目标协议为TCP协议
#172.20.101.91:80 : VIP:PORT
#-s : 指定调度算法
#rr : 轮询算法
3 ipvsadm -a -t 172.20.101.91:80 -r 192.168.27.144 -m
#-a : 添加RS集群
#-t : 指定目标协议为TCP协议
#172.20.101.91:80 : VIP:PORT
#-r : 指定RS的IP地址
#-m : nat类型
ipvsadm -a -t 172.20.101.91:80 -r 192.168.27.145 -m
#与以上解释同理
4 ipvsadm -ln #查看配置的集群信息,以下内容就为此实验配置的内容
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.20.101.91:80 rr
-> 192.168.27.144:80 Masq 1 0 0
-> 192.168.27.145:80 Masq 1 0 0
5 更改调度算法
ipvsadm -E -t 172.20.101.91:80 -s wrr
#-E : 修改VS集群
#-t : 指定目标协议为TCP协议
#172.20.101.91:80 : VIP:PORT
#-s : 指定调度算法
#wrr: 加权轮询算法
ipvsadm -e -t 172.20.101.91:80 -r 192.168.27.144 -w 3 -m
#-e : 编辑RS集群
#-t : 指定目标协议为TCP协议
#172.20.101.91:80 : VIP:PORT
#192.168.27.144:指定后端RS服务器地址
#-r : 指定RS的IP地址
#-m : nat类型
#-w : 指定权重大小
6 ipvsadm -ln #查看集群信息,显示以下内容则代表配置成功
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.20.101.91:80 wrr
-> 192.168.27.144:80 Masq 3 0 0
-> 192.168.27.145:80 Masq 1 0 0
7 /sbin/ipvsadm-save -n > /etc/sysconfig/ipvsadm #手动保存ipvsadm策略到文件中,服务停止后会自动保存此文件并清空内存内容
/sbin/ipvsadm-restore < /etc/sysconfig/ipvsadm #手动恢复ipvsadm策略到内存中,服务启动后会自动读取此文件并还原到内存
8 更改为源地址hash : 只要源地址不变,永远会调度到后端同一个RS上
ipvsadm -E -t 172.20.101.91:80 -s sh
9 将算法改为wlc算法:
ipvsadm -E -t 172.20.101.91:80 -s wlc
10 RS服务器的端口不同也没关系,不能直接更改,只能删除后再添加
ipvsadm -d -t 172.20.101.91:80 -r 192.168.27.144:80
ipvsadm -a -t 172.20.101.91:80 -r 192.168.27.144:8080 -m
1 在RS服务器分别操作
yum install mod_ssl #此处使用自定义证书,安装这个包就附带证书
2 安装完成后重启httpd服务
systemctl restart httpd #重启后会发现多了一个443的端口
3 在VS服务器上操作,添加集群443端口
ipvsadm -A -t 172.20.101.91:443 -s wlc
ipvsadm -a -t 172.20.101.91:443 -r 192.168.27.144:443 -m
ipvsadm -a -t 172.20.101.91:443 -r 192.168.27.145:443 -m
4 在CIP的服务器上面进行测试
curl -k https://172.20.101.91
原文地址:http://blog.51cto.com/kaikai0720/2097549