| 192.168.222.236(DIP) ,10.10.0.10(VIP) |
lvs |
lvs |
| 192.168.222.232(RIP) |
rs1 |
ceph1 |
| 192.168.222.233 (RIP) |
rs2 |
ceph2 |
| 192.168.222.237 ,10.10.0.20(CIP) |
client |
client |
了解:LVS是基于OSI模型的内核层的下四层,也是附着与netfilter的input练上
环境
1 2 3 4 5 6
| # cat > /etc/hosts <<END 192.168.222.232 ceph1 192.168.222.233 ceph2 192.168.222.236 lvs 192.168.222.237 client END
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 在每台机器上使用system.sh初始化os系统脚本。 # git clone https: cd K ./system.sh 最后在rs机器上 # sed -ri 's/^(GATEWAY=).*/\1192.168.222.236/g' /etc/sysconfig/network-scripts/ifcfg-ens33 # systemctl restart network 在client机器上 # sed -ri 's/^(GATEWAY=).*/\110.10.0.10/g' /etc/sysconfig/network-scripts/ifcfg-ens33 在lvs服务器上 # vim /etc/sysctl.conf net.ipv4.ip_forward = 1 # sysctl -p # sysctl -a | grep 'ip_forward'
|
1
| 在lvs服务器搭建一个ntp服务器或者使用xinetd服务器(需要在各个节点上下载rdate,command:rdata lvs)
|
1 2 3
| [root@ rs1]# echo 'rs1' > /usr/share/nginx/html/index.html [root@ rs2]# echo 'rs2' > /usr/share/nginx/html/index.html
|
如果rs和client的网络无法连通外网的话,需要先ifup ens33,让可连通外网的lvs网卡的网关先成为默认的网关,让节点的机器可以yum安装软件
1 2
| #可以了解一下lvs的模块以及支持的协议 # grep -i ipvs -C 10 /boot/config*
|
1 2 3 4 5
| [root@ lvs]# yum install -y ipvsadm [root@ lvs]# ipvsadm -A -t 10.10.0.10:80 -s rr [root@ lvs]# ipvsadm -a -t 10.10.0.10:80 -r 192.168.222.232 -m [root@ lvs]# ipvsadm -a -t 10.10.0.10:80 -r 192.168.222.233 -m [root@ lvs]# ipvsadm -Ln //查看
|
1 2
| [root@ client]# for i in `seq 1 10`;do curl 10.10.0.10;done
|
1 2 3 4 5 6 7 8
| [root@ lvs] [root@ lvs] [root@ lvs] [root@ lvs] [root@ lvs]
[root@ client]
|
7.sh(类似于nginx负载均衡upstream里面的hash)
1 2 3 4 5 6 7 8 9 10 11
|
[root@ client]# for i in `seq 1 3`;do curl 10.10.0.10;done rs1 rs1 rs1 or rs2 rs2 rs2
|
8.wlc(DO/weight) //按RS服务器的负荷,通过调度算法分配