Centos 7版本下NAT(地址转换)模式的负载均衡配置详解介绍
admin
2023-02-01 17:26:12
0

下文给大家带来Centos 7版本下NAT(地址转换)模式的负载均衡配置详解介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验做一个解答。

这篇博文以配置为主,配置过程中相关命令的解释已经在上面链接中的博文写了出来,环境如下:

Centos 7版本下NAT(地址转换)模式的负载均衡配置详解介绍

最终结果如下:

  • 使用NAT模式的群集技术,LVS负载调度器是所有节点访问Internet的网关云服务器,其200.0.0.1也作为整个群集的VIP地址。

  • 使用轮询(rr)的调度算法。

  • web1和web2先搭建web服务,分别准备不同的网页文件,供客户端访问,以此来确定client访问LVS服务器的200.0.0.1,可以访问到两台wbe服务器。

  • 待client测试成功后,web1和web2便可以挂载NFS服务器提供的共享目录,以此来为client提供相同的网页文件。

一、准备工作:

  1. 将网络配置无误,同一网段的可以互通;

  2. 准备系统映像和相关的软件包,以便搭建httpd服务,和安装相关工具。这里为了方便,便直接使用系统映像中的安装包来搭建httpd服务。

  3. 防火墙放行相关流量,我这里直接关闭了防火墙和selinux 。

二、配置负载均衡调度器:

1、开启路由转发规则:

[root@localhost ~]# vim /etc/sysctl.conf
          .................            #省略部分内容
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1

2、配置负载分配策略,并导出备份(若需知道下面配置的含义,请参考博文开头的链接。):

[root@localhost ~]# modprobe ip_vs               #加载ip-vs模块
[root@localhost ~]# yum -y install ipvsadm        #安装ipvsadm管理工具
[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 200.0.0.1:80 -s rr
[root@localhost ~]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.2:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.3:80 -m -w 1
[root@localhost ~]# hostname LVS    #更改主机名,防止在备份时将VIP地址转为127.0.0.1
[root@localhost ~]# bash             
[root@LVS ~]# ipvsadm-save                #保存策略
-A -t LVS:http -s rr
-a -t LVS:http -r 192.168.1.2:http -m -w 1
-a -t LVS:http -r 192.168.1.3:http -m -w 1
[root@LVS ~]# ipvsadm-save > /etc/sysconfig/ipvsadm.bak          #导出策略作为备份
[root@LVS ~]# cat /etc/sysconfig/ipvsadm.bak         #查看备份策略
-A -t LVS:http -s rr
-a -t LVS:http -r 192.168.1.2:http -m -w 1
-a -t LVS:http -r 192.168.1.3:http -m -w 1

3、配置节点web服务器:

web1配置如下:

[root@web1 ~]# yum -y install httpd               #安装httpd服务
[root@web1 ~]# echo "web  server  1" > /var/www/html/index.html      #准备网页文件
[root@web1 ~]# systemctl start httpd             #启动httpd服务
[root@localhost ~]# systemctl enable httpd         #设置开机自启动

web2配置如下:

[root@web1 ~]# yum -y install httpd               #安装httpd服务
[root@web1 ~]# echo "web  server  2" > /var/www/html/index.html      #准备网页文件
[root@web1 ~]# systemctl start httpd             #启动httpd服务
[root@localhost ~]# systemctl enable httpd         #设置开机自启动

4、测试LVS负载均衡服务器是否工作正常(client多次访问200.0.0.1,可以得到两个不同的页面):

Centos 7版本下NAT(地址转换)模式的负载均衡配置详解介绍

Centos 7版本下NAT(地址转换)模式的负载均衡配置详解介绍

若访问到的是同一页面,在排除配置上错误的情况下,可以打开多个网页,或者稍等一会再刷新,因为它可能有一个保持连接的时间,所以会存在延迟。

得到以上效果后,就可以搭建NFS服务器,两台web服务器共同挂载同一个NFS服务器共享的目录,以此来提供相同的网页文件:

5、配置NFS共享存储服务器:

[root@NFS /]# yum -y install nfs-utils rpcbind                   #安装相关软件包
[root@NFS /]# systemctl enable nfs               #设置为开机自启动
[root@NFS /]# systemctl enable rpcbind          #设置为开机自启动
[root@NFS /]# mkdir -p /opt/wwwroot               #准备共享目录
[root@NFS /]# echo www.baidu.com > /opt/wwwroot/index.html              #新建网页文件
[root@NFS /]# vim /etc/exports                         #设置共享目录(该文件内容默认为空)
/opt/wwwroot   192.168.2.0/24(rw,sync,no_root_squash)           #写入该行
[root@NFS /]# systemctl restart rpcbind                  #重启相关服务,需注意服务启动的先后顺序
[root@NFS /]# systemctl restart nfs
[root@NFS /]# showmount -e               #查看本机共享的目录
Export list for NFS:
/opt/wwwroot 192.168.2.0

6、在两台web服务器分别查看NFS服务器的共享目录,挂载并设置开机自动挂载:

① 配置web2服务器

[root@web2 ~]# yum -y install rpcbind nfs-utils  
#安装相关软件包,才可以访问及查询NFS的共享目录
[root@web2 ~]# systemctl enable rpcbind             #设置为开机自启
[root@web2 ~]# systemctl start rpcbind                 #启动该服务
[root@web2 ~]# showmount -e 192.168.2.1          #查询NFS主机共享的目录
Export list for 192.168.2.1:
/opt/wwwroot 192.168.2.0
[root@web2 ~]# mount 192.168.2.1:/opt/wwwroot /var/www/html/             #挂载共享目录
[root@web2 ~]# df -hT /var/www/html/          #查看是否挂载成功
文件系统                 类型  容量  已用  可用 已用% 挂载点
192.168.2.1:/opt/wwwroot nfs4   39G  4.3G   35G   12% /var/www/html
[root@web2 ~]# vim /etc/fstab               #设置自动挂载 
                   .........................
192.168.2.1:/opt/wwwroot  /var/www/html   nfs   defaults,_netdev 0 0
#写入上面内容

至此,web2服务器即配置完成了,现在将上面的配置在web1服务器上自行配置一下即可 。
若此时再进行访问测试,看到的页面不是NFS共享存储提供的页面,那么需要检测一下web节点的selinux是否关闭,若处于开启状态,那么很有可能httpd这个进程无法读取到共享存储的首页文件。

至此,不管怎样刷新访问,都将是看到同一个网页。最终的LVS负载均衡效果也就实现了。

当LVS服务器重启后,LVS规则将会丢失,这就用到了备份,需要注意的是,备份时的主机名和恢复时的主机名必须一致,并且需要注意网卡优先的问题,否则在恢复后,会发现VIP(群集的虚拟IP)变成了LVS服务器的另一个IP地址

[root@localhost ~]# ipvsadm -ln          #查看策略
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@localhost ~]# ipvsadm-restore < /etc/sysconfig/ipvsadm.bak              #恢复策略
[root@localhost ~]# ipvsadm -ln             #查看策略是否恢复
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  200.0.0.1:80 rr                         #需要注意这里是否还是原来的VIP
  -> 192.168.1.2:80               Masq    1      0          0         
  -> 192.168.1.3:80               Masq    1      0          0         

看了以上关于Centos 7版本下NAT(地址转换)模式的负载均衡配置详解介绍,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。

 

 

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...