112.jpg?x-oss-process=image/auto-orient,1/quality,q_90/watermark,image_bG9nby5wbmc_eC1vc3MtcHJvY2Vzcz1pbWFnZS9yZXNpemUsUF8yMA,g_center,t_50,x_10,y_10

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟服务器集群系统。LVS的实现模式常用的有三种,我们讲下第一种NAT模式,NAT模式是最简单的一种。

网络拓扑

拓扑如图:

112-1.jpg?x-oss-process=image/auto-orient,1/quality,q_90/watermark,image_bG9nby5wbmc_eC1vc3MtcHJvY2Vzcz1pbWFnZS9yZXNpemUsUF8yMA,g_center,t_50,x_10,y_10

网络地址

网络地址规划如表,lvs充当路由器,要开启转发功能echo 1 > /proc/sys/net/ipv4/ip_forward

身份 端口(地址) 网关(地址)
client 192.168.18.250/24 192.168.18.254
lvs eth0 192.168.18.254/24
lvs eth1 192.168.19.1/24
rs1 192.168.19.2/24 192.168.19.1
rs2 192.168.19.3/24 192.168.19.1

数据走向

  1. 客户端访问192.168.19.100,因为网段不同,需要网关帮忙转发,所以数据发送到lvs;

  2. lvs收到数据后,会将数据交给后面的rs服务器来处理;

  3. rs服务器请求处理完成,会返回到lvs服务器;

  4. lvs服务器将rs服务器地址转换成19.100并返回给客户端。

操作步骤

  • lvs服务器:
1
2
3
ipvsadm -A -t 192.168.18.254:80 -s rr
ipvsadm -a -t 192.168.18.254:80 -r 192.168.19.2 -m
ipvsadm -a -t 192.168.18.254:80 -r 192.168.19.3 -m
  • rs1服务器:
1
2
echo web1 > /var/www/html/index.html
systemctl start httpd
  • rs2服务器:
1
2
echo web2 > /var/www/html/index.html
systemctl start httpd

命令详解

1
2
3
4
5
6
7
8
ipvsadm -A -t 192.168.18.254:80 -s rr  
#ipvsadm为LVS的管理命令,-A指定虚拟IP,-t是TCP的协议,后面接的地址需要有端口号,-s指定轮询的方式
ipvsadm -a -t 192.168.18.254:80 -r 192.168.19.2 -m
#-a用于添加RS,-r指定轮询IP,-m是NAT的模式
echo web1 > /var/www/html/index.html
#将默认页面内容改为web1
systemctl start httpd
#启动httpd的服务

注意:如果httpd之前有启动,可使用systemctl restart httpd重启。

实现效果

效果如图:

112-2.jpg?x-oss-process=image/auto-orient,1/quality,q_90/watermark,image_bG9nby5wbmc_eC1vc3MtcHJvY2Vzcz1pbWFnZS9yZXNpemUsUF8yMA,g_center,t_50,x_10,y_10


 评论