lvs-net+nfs的配置

1、熟练掌握ipvsadm 指令的使用

2、理解lvs 负载均衡的原理

3、熟练掌握lvs-net+nfs的配置

javascript 复制代码
[客户端]
  |
[LVS负载均衡器] (10.0.0.10/24) - VIP: 10.0.0.100/24
  |_________________________________________|
    |                               |
[Web节点1] (10.0.0.11/24)   [Web节点2] (10.0.0.12/24)

(一)实验步骤

以下是基于三台主机的详细LVS配置方案,假设网络环境如下:

LVS负载均衡器:10.0.0.10

真实服务器1:10.0.0.11

真实服务器2:10.0.0.12

虚拟IP(VIP):10.0.0.100

1. 加载ip_vs模块,安装ipvsadm工具

  1. 1 加载ip_vs模块并安装工具

    加载ip_vs模块

    modprobe ip_vs
    lsmod | grep ip_vs
    yum install ipvsadm -y

  1. 2 配置虚拟IP

添加一张网卡,不用设置网关

10.0.0.15和10.0.0.16这两台主机的网关设置为10.0.0.14

  1. 3 网络验证命令(所以节点)

    ping 10.0.0.14/15/16
    ping 8.8.8.8(ping外网)

复制代码
15/16这两台主机无法ping通外网,就添加路由
ip route add default via 10.0.0.14

2. 开启路由准发

复制代码
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

3. 新建LVS虚拟服务器并添加节点服务器

复制代码
# 创建虚拟服务器 (这里以NAT模式为例,VIP: 192.168.1.100,端口80)
ipvsadm -A -t 192.168.1.100:80 -s rr

# 添加真实服务器节点 (假设有两个后端服务器192.168.1.101和192.168.1.102)
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.101:80 -m
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.102:80 -m
# 查看配置
ipvsadm -Ln


4. 配置节点服务器

  1. 1 建立测试网站

    yum install nginx -y
    systemctl start nginx
    systemctl enable nginx

编辑nginx所访问的的配置文件,添加如下内容:ley-0306为主机名

测试:

  1. 2挂载NFS共享存储

    安装NFS工具包

    yum install nfs-utils -y

    设置NFS服务开机自启

    systemctl enable nfs-server rpcbind

    创建共享目录并设置权限

    创建共享目录

    mkdir /gt

    修改目录权限(允许web用户访问,假设运行Nginx的用户为nginx)

    chown -R nginx:nginx /gt
    chmod -R 755 /gt

    配置NFS导出规则

    编辑exports文件

    vi /etc/exports

    添加以下内容(允许10.0.0.0/24网段读写访问)

    /gt 10.0.0.0/24(rw,sync,no_root_squash,no_subtree_check)

    启动服务并验证
    复制

    重新加载exports配置

    exportfs -r

    启动NFS服务

    systemctl start nfs-server rpcbind

    检查共享是否发布

    showmount -e localhost

复制代码
在15的机子上
安装NFS客户端工具
yum install nfs-utils -y
创建挂载点
mkdir -p /var/www/html/shared
临时挂载测试
mount -t nfs 10.0.0.14:/shared /var/www/html/shared

# 验证挂载
df -h | grep shared
  1. 3建立测试网页

    重新挂载所有fstab条目

    mount -a

    再次验证

    df -h | grep shared
    curl 10.0.0.100

5. 验证轮训

复制代码
for i in {1..6}; do curl http://10.0.0.100; done

6. 验证共享存储

在14主机上

touch /gt/testfile

ls -l /gt/

在testfile.html文件里添加内容

在15主机上,查看检查文件同步

编辑nginx配置文件,指向共享文件

在15主机上,访问测试查看,

(二)实验结论

  1. LVS负载均衡有效性
    成功实现了基于NAT模式的请求分发,验证了IPVS内核模块的高效性
    轮询(RR)算法确保了各后端服务器负载均衡
  2. NFS共享存储的必要性
    解决了多节点间数据一致性问题
    避免了因本地存储导致的静态资源不一致现象
  3. 关键配置要点
    LVS层:需确保 ip_forward=1 和正确的NAT规则
    NFS层:依赖准确的 /etc/exports 权限配置和防火墙放行
    后端服务器:需统一Web服务配置(全部使用Nginx或Apache)
  4. 生产环境建议
    使用DR模式替代NAT模式以提升性能
    为NFS配置冗余(如GlusterFS)避免单点故障
    增加Keepalived实现LVS高可用
相关推荐
JaguarJack7 小时前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay1 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954481 天前
CTF 伪协议
php
BingoGo4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack6 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo6 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack7 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel