Linux中LVS群集应用基础—NAT模式—LVS+Apache+NFS

avatar
作者
筋斗云
阅读量:2

 

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧Linux高级管理专栏:点击!

🔐Linux中firewalld防火墙:点击!

⏰️创作时间:2024年7月9日14点11分

🀄️文章质量:94分


目录

前言——

1.调度器(LVS)

2.两台Web服务器

3.检测群集

4.调度器LVS配置

4.NFS服务器

5.NFS共享挂载


前言——

LVS(Linux Virtual Server)是一种高性能、高可用的服务器集群系统,它能够通过IP负载均衡技术实现网络服务的负载均衡。NAT模式是LVS中最常用的一种工作模式。

在NAT模式下,LVS集群包含三种角色的节点:

  1. 负载均衡器(Director Server):这是一台运行LVS软件的服务器,它接收来自客户端的请求,并根据调度算法将请求转发至真实服务器(Real Server)。

  2. 真实服务器(Real Server):这是一组提供实际服务的服务器,它们可以是Web服务器、数据库服务器等。

  3. 共享存储服务器(NFS Server):为了实现会话共享,真实服务器需要将会话数据存储在共享存储服务器上,通常使用NFS(Network File System)来实现。

NAT模式的工作流程如下:

  1. 客户端发送请求到负载均衡器的虚拟IP(VIP)地址。
  2. 负载均衡器根据调度算法选择一台真实服务器,并将客户端的请求通过网络地址转换(NAT)转发给该真实服务器。
  3. 真实服务器处理请求,并将响应数据直接发送回客户端。

配置LVS NAT模式需要以下步骤:

  1. 安装LVS软件包和内核模块。
  2. 在负载均衡器上配置虚拟IP(VIP)和真实服务器(RIP)池。
  3. 在负载均衡器上配置NAT规则和调度算法。
  4. 在真实服务器上配置共享存储(NFS)并挂载。
  5. 配置真实服务器的网关指向负载均衡器。

实验环境

网络配置

1.调度器(LVS)

 cd /etc/sysconfig/network-scripts/  cp -p ifcfg-ens33 ifcfg-ens36 vim ifcfg-ens33 vim ifcfg-ens36

vim /etc/sysctl.conf sysctl -p  刷新 net.ipv4.ip_forward = 1

开启路由转发

重启网卡 测试连通性

systemctl restart network

安装

yum install -y ipvsadm
  1. ipvsadm: 这是要安装的软件包名称。ipvsadm是Linux虚拟服务器管理工具,

2.两台Web服务器

网关需要指向LVS的ens33网卡IP

都安装httpd yum install -y httpd

3.检测群集

先做测试人为干预网页 检测集群是否正常 是否在两台web服务器上切换

第一台Web echo 1111111 > /var/www/html/index.html ​ ​ 第二台Web echo 2222222 > /var/www/html/index.html
 配置完成之后打开或重启服务  systemctl restart httpd systemctl start httpd ​

进行访问测试是否可以访问页面 选择LVS调度器那台服务器

一切正常,可以访问(如果遇到不能访问的情况下 记得关闭防火墙)

4.调度器LVS配置

  1. modprobe ip_vs: 加载 IP 虚拟服务器内核模块。

  2. cat /proc/net/ip_vs: 查看当前 IP 虚拟服务器的配置和状态。

[root@localhost ~]# modprobe  ip_vs [root@localhost ~]# cat /proc/net/ip_vs IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port Forward Weight ActiveConn InActConn   
  1. ipvsadm-save > /etc/sysconfig/ipvsadm: 保存当前 IPVS 配置到文件。

[root@localhost ~]# ipvsadm-save  > /etc/sysconfig/ipvsadm 
  1. ipvsadm -C: 清除所有现有的 IPVS 配置。

[root@localhost ~]# ipvsadm -C

[root@localhost ~]# ipvsadm -A -t 192.168.140.100:80 -s rr [root@localhost ~]# ipvsadm -a -t 192.168.140.100:80 -r 192.168.192.111:80 -m -w 1 [root@localhost ~]# ipvsadm -a -t 192.168.140.100:80 -r 192.168.192.112:80 -m -w 1 [root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
  1. ipvsadm -A -t 192.168.140.100:80 -s rr:
    添加一个新的虚拟服务,IP 为 192.168.140.100,端口 80,使用轮询(Round Robin)调度算法。

  2. ipvsadm -a -t 192.168.140.100:80 -r 192.168.192.111:80 -m -w 1:
    为虚拟服务添加一个真实服务器,IP 为 192.168.192.111,端口 80,使用 NAT 模式(-m),权重为 1。

  3. ipvsadm -a -t 192.168.140.100:80 -r 192.168.192.112:80 -m -w 1:
    添加另一个真实服务器,IP 为 192.168.192.112,配置与上一个相同。

  4. ipvsadm-save > /etc/sysconfig/ipvsadm: 再次保存 IPVS 配置到文件。

这些命令设置了一个简单的负载均衡器,将发往 192.168.140.100:80 的流量均匀分配到两个后端服务器(192.168.192.111:80 和 192.168.192.112:80)。使用 NAT 模式意味着源 IP 地址将被修改为负载均衡器的 IP。

systemctl start ipvsadm 

客户端网关指向ens36 192.168.140.100

访问测试

可以看到这个页面一直在轮替切换 表示一切正常

4.NFS服务器

接下来配置NFS

yum install -y install rpcbind nfs-utils ​ ​ root@localhost ~]# vim /etc/exports [root@localhost ~]# mkdir /wwwroot [root@localhost ~]# vim /etc/exports ​
​ ​ 
[root@localhost ~]# echo NFS SMQNZ /wwwroot/index.html [root@localhost ~]# systemctl start nfs rpcbind ​ [root@localhost ~]# netstat -nultp | grep rpcbind udp        0      0 0.0.0.0:893             0.0.0.0:*                           1142/rpcbind         udp        0      0 0.0.0.0:111             0.0.0.0:*                           1142/rpcbind         udp6       0      0 :::893                  :::*                                1142/rpcbind         udp6       0      0 :::111                  :::*                                1142/rpcbind        
[root@localhost ~]# showmount -e Export list for localhost.localdomain: /wwwroot 192.168.192.0/24
  1. showmount 命令用于显示NFS服务器上已经导出(exported)的目录列表。

  2. -e 选项表示显示远程主机已导出的目录列表。

 

5.NFS共享挂载

你执行的这些命令是在配置NFS服务,启动NFS服务器,查看导出的共享目录,并将远程NFS共享挂载到本地系统上。这种网络文件系统可以让多台Linux系统方便地共享数据。

在两台Web上操作

同样的操作 进行挂载

[root@localhost ~]# systemctl start nfs [root@localhost ~]# showmount -e 192.168.192.113 Export list for 192.168.192.113: /wwwroot 192.168.192.0/24 [root@localhost ~]# mount 192.168.192.113:/wwwroot /var/www/html [root@localhost ~]# df -hT

进行访问测试

客户端访问测试

进行访问测试

客户端访问测试

查看连接数

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!