VS/NAT
在一组服务器前有一个调度器,它们是通过 Switch/HUB 相连接的。这些服务器提供相同的网络服
务、相同的内容,即不管请求被发送到哪一台服务器,执 行结果是一样的。服务的内容可以复制到
每台服务器的本地硬盘上,可以通过网络文件系统(如 NFS)共享,也可以通过一个分布式文件系统
来提供。
VS/NAT 的优点是服务器可以运行任何支持 TCP/IP 的操作系统,它只需要一个 IP 地址配置在调度器
上,服务器组可以用私有的 IP 地址。缺点是它的伸缩能力有限, 当服务器结点数目升到 20 时,调度
器本身有可能成为系统的新瓶颈,因为在 VS/NAT 中请求和响应报文都需要通过负载调度器。
实验准备
1.下面的实验使用的是rhel6系列(rhel6.5)的虚拟机,因此你需要有对应的镜像和yum源
2.准备四台虚拟机,为了区分主机名与IP分别为
server1(双网卡)eth0: 172.25.6.1 eth0:172.25.1.1
server2 172.25.6.2
server3 172.25.6.3
server4 172.25.1.106
3.我们将server1(172.25.6.1)作为调度器,server2、server3作为后端服务器,server4作为客户端
1.调度器server1添加双网卡,并设置好IP
virt-manger
cd /etc/sysconfig/network-scripts/cp -R ifcfg-eth0 ifcfg-eth1vim ifcfg-eth1/etc/init.d/network restartip addr
2.在server1上配置相关策略
ipvsadm -Cmodprobe iptable_nat ##如果不加载此模块,也可以在第一次访问时成功,但是会在再次访问时出现延迟过长,或访问超时现象ipvsadm -A -t 172.25.1.1:80 -s rripvsadm -a -t 172.25.1.1:80 -r 172.25.6.2:80 -mipvsadm -a -t 172.25.1.1:80 -r 172.25.6.3:80 -mipvsadm -l##查看策略service ipvsadm save##保存策略
3.在server2、server3上设置网关为server1网卡eth0上的IP-172.25.6.1
vim /etc/sysconfig/network-scripts/ifcfg-eth0/etc/init.d/network restart
4.开启路由机制server1、server2、server3
vim /etc/sysctl.confnet.ipv4.ip_forward = 1sysctl p
5.设置好客户端的IP
设置IP为172.25.1.106网关为172.25.6.1
6.在客户端测试
curl 172.25.1.1
调度器上查看可知,后端服务器server2对客户端的请求响应了3次,server3响应了4次,与上图相符,实验成功!