1、熟练掌握ipvsadm 指令的使用
2、理解lvs 负载均衡的原理
3、熟练掌握lvs-net+nfs的配置
[客户端]
|
[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 加载ip_vs模块并安装工具
# 加载ip_vs模块
modprobe ip_vs
lsmod | grep ip_vs
yum install ipvsadm -y
- 2 配置虚拟IP
添加一张网卡,不用设置网关
10.0.0.15和10.0.0.16这两台主机的网关设置为10.0.0.14
- 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 建立测试网站
yum install nginx -y
systemctl start nginx
systemctl enable nginx
编辑nginx所访问的的配置文件,添加如下内容:ley-0306为主机名
测试:
- 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
- 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主机上,访问测试查看,
(二)实验结论
- LVS负载均衡有效性
成功实现了基于NAT模式的请求分发,验证了IPVS内核模块的高效性
轮询(RR)算法确保了各后端服务器负载均衡 - NFS共享存储的必要性
解决了多节点间数据一致性问题
避免了因本地存储导致的静态资源不一致现象 - 关键配置要点
LVS层:需确保 ip_forward=1 和正确的NAT规则
NFS层:依赖准确的 /etc/exports 权限配置和防火墙放行
后端服务器:需统一Web服务配置(全部使用Nginx或Apache) - 生产环境建议
使用DR模式替代NAT模式以提升性能
为NFS配置冗余(如GlusterFS)避免单点故障
增加Keepalived实现LVS高可用