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

神秘泣男子 2024-07-18 11:37:03 阅读 65

 

🏡作者主页:点击! 

🐧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集群包含三种角色的节点:

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

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

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

NAT模式的工作流程如下:

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

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

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

实验环境

网络配置

1.调度器(LVS)

<code> cd /etc/sysconfig/network-scripts/

cp -p ifcfg-ens33 ifcfg-ens36

vim ifcfg-ens33

vim ifcfg-ens36

<code>vim /etc/sysctl.conf

sysctl -p 刷新

net.ipv4.ip_forward = 1

开启路由转发

重启网卡 测试连通性

<code>systemctl restart network

安装

yum install -y ipvsadm

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配置

<code>modprobe ip_vs: 加载 IP 虚拟服务器内核模块。

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

 

ipvsadm-save > /etc/sysconfig/ipvsadm: 保存当前 IPVS 配置到文件。

[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm

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

ipvsadm -A -t 192.168.140.100:80 -s rr:

添加一个新的虚拟服务,IP 为 192.168.140.100,端口 80,使用轮询(Round Robin)调度算法。

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。

ipvsadm -a -t 192.168.140.100:80 -r 192.168.192.112:80 -m -w 1:

添加另一个真实服务器,IP 为 192.168.192.112,配置与上一个相同。

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

<code>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

showmount 命令用于显示NFS服务器上已经导出(exported)的目录列表。

-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

进行访问测试

客户端访问测试

进行访问测试

客户端访问测试

查看连接数



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。