当前位置: 代码网 > 服务器>服务器>Linux > Linux中LVS群集应用基础—NAT模式—LVS+Apache+NFS

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

2024年08月03日 Linux 我要评论
LVS(Linux Virtual Server)是一种高性能、高可用的服务器集群系统,它能够通过IP负载均衡技术实现网络服务的负载均衡。NAT模式是LVS中最常用的一种工作模式。在NAT模式下,LVS集群包含三种角色的节点:负载均衡器(Director Server):这是一台运行LVS软件的服务器,它接收来自客户端的请求,并根据调度算法将请求转发至真实服务器(Real Server)。真实服务器(Real Server):这是一组提供实际服务的服务器,它们可以是Web服务器、数据库服务器等。

 

🏡作者主页: 

🐧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 配置到文件。

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

进行访问测试

客户端访问测试

进行访问测试

客户端访问测试

查看连接数

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com