欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LVS NAT模式搭建(不包含健康健康机制keepalived)

程序员文章站 2022-05-07 15:49:25
...

LVS NAT模式搭建(不包含健康健康机制keepalived)
NAT模式请求与响应都需要经过调度器LVS,因此调度器需要配置双网卡。
准备工作:
DS:一个网卡连接公网IP,一个连接内部私有IP
RS:只需一个网卡,私有网络即可
地址准备:

DS:一张网卡nat模式做公网IP地址,也即VIP:192.168.0.121,另一张网卡vmnet2,做DIP:192.168.20.1
RS:跟DS一样,采用vmnet2做RIP,RS1:192.168.20.7 ,RS2:192.168.20.8

1、DS的IP
LVS NAT模式搭建(不包含健康健康机制keepalived)
RS1:
需要做的就是DS的DIP不需要网关,而两台RS地址的网关就是DIP的网关。
LVS NAT模式搭建(不包含健康健康机制keepalived)
RS2:
LVS NAT模式搭建(不包含健康健康机制keepalived)
2、DS上开启IP转发,因为DS两个网卡,要保证外部进来的请求可以送vmnet2网卡传输进内部网络
修改/proc/sys/net/ipv4/ip_forward值为1,如果修改后查看时还是0,就去修改/etc/sysctl.conf文件,

net.ipv4.ip_forward = 1

3、配置两台RS上的web 网页

echo "This is rs1 web page" >> /var/www/html/index.html
echo "This is rs2 web page" >> /var/www/html/index.html

4、启动httpd服务
5、DS上配置集群

ipvsadm -A -t 192.168.0.121:80 -s rr        #创建该192.168.0.121集群,-t代表tcp,后面的端口代表web集群,-s后面的rr代表轮询算法
ipvsadm -A -t 192.168.0.121:80 -r 192.168.20.7 -m     #为该集群加入RIP,-m代表nat模式
ipvsadm -A -t 192.168.0.121:80 -r 192.168.20.8 -m     #为该集群加入RIP,-m代表nat模式

6、查看调度规则

[aaa@qq.com network-scripts]# ipvsadm -L                    #会将IP解析成域名
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  dr:http rr
  -> 192.168.20.7:http            Masq    1      0          0         
  -> 192.168.20.8:http            Masq    1      0          0          
[aaa@qq.com network-scripts]# ipvsadm -L -n                #不会解析,直接是VIP
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.121:80 rr
  -> 192.168.20.7:80              Masq    1      0          0         
  -> 192.168.20.8:80              Masq    1      0          0        

7、测试,直接访问VIP,谷歌有时有缓存,也许是一次完整的tcp连接没有断开,可以再开一台linux机器,
安装一个linux下的浏览器。elinks。测试如下:

[aaa@qq.com ~]# for ((i=1;i<=11;i++)); do  elinks -dump http://192.168.0.121; done
                               rs1 web test page
                               rs2 web test page
                               rs1 web test page
                               rs2 web test page
                               rs1 web test page
                               rs2 web test page
                               rs1 web test page
                               rs2 web test page
                               rs1 web test page
                               rs2 web test page
                               rs1 web test page

8、调度器上也可以查看,ipvsadm -L --stats可以查看具体多少个数据包以及字节数

[aaa@qq.com network-scripts]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.121:80 rr
  -> 192.168.20.7:80              Masq    1      0          11        
  -> 192.168.20.8:80              Masq    1      0          11        

后面的InActConn下代表每个RS分担了多少次连接。可以看出是轮询模式
9、可以保存下刚才配置的ipvs规则,使用时使用ipvsadm -R < /etc/sysconfig/ipvsadm。

[aaa@qq.com network-scripts]# ipvsadm -S > /etc/sysconfig/ipvsadm
[aaa@qq.com network-scripts]# cat /etc/sysconfig/ipvsadm
-A -t dr:http -s rr
-a -t dr:http -r 192.168.20.7:http -m -w 1
-a -t dr:http -r 192.168.20.8:http -m -w 1

10、修改模式为轮询权重模式

[aaa@qq.com network-scripts]# ipvsadm -E -t 192.168.0.121:80 -s wrr
[aaa@qq.com network-scripts]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.121:80 wrr
  -> 192.168.20.7:80              Masq    1      0          0         
  -> 192.168.20.8:80              Masq    1      0          0         
[aaa@qq.com network-scripts]# ipvsadm -e -t 192.168.0.121:80 -r 192.168.20.7 -w 1 -m
[aaa@qq.com network-scripts]# ipvsadm -e -t 192.168.0.121:80 -r 192.168.20.8 -w 3 -m
[aaa@qq.com network-scripts]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.121:80 wrr
  -> 192.168.20.7:80              Masq    1      0          0         
  -> 192.168.20.8:80              Masq    3      0          0

11、测试

[aaa@qq.com ~]# for ((i=1;i<=11;i++)); do  elinks -dump http://192.168.0.121; done
                               rs2 web test page
                               rs1 web test page
                               rs2 web test page
                               rs2 web test page
                               rs2 web test page
                               rs1 web test page
                               rs2 web test page
                               rs2 web test page
                               rs2 web test page
                               rs1 web test page
                               rs2 web test page

12、其余算法修改一个原理。可以自行尝试。

相关标签: 集群