集群与存储-lvs-nat实验
一、实验目的
1、熟练掌握ipvsadm 指令的使用
2、理解lvs 负载均衡的原理
3. 熟练掌握lvs-net+nfs的配置
二、实验内容
1.拓扑图
2.实验步骤
#在节点服务器中添加网卡,选择仅主机模式
#查看网卡
#启用网卡
nmcli device up ens224
ip a
#修改虚拟地址的网关
#节点服务器ens160的网关是该节点服务器ens224的ip(192.168.112.128)
#nfs服务器ens160的网关是节点服务器ens160的ip(192.168.157.129)
节点服务器:
nfs服务器:
#以下在节点服务器和nfs服务器共同进行,此处以节点服务器为例
#关闭防火墙及selinux
systemctl stop firewalld && systemctl disable firewalld
vim /etc/sysconfig/selinux
reboot
#下载 nginx,ipvsadm,rpcbind,nfs-utils
yum -y install nginx ipvsadm rpcbind nfs-utils
#启动三个服务
systemctl start nginx
systemctl status nginx
systemctl start rpcbind
systemctl status rpcbind
systemctl start nfs-server.service
systemctl status nfs-server.service
#加载并查看 ip_vs 模块
modprobe ip_vs
cat /proc/net/ip_vs
#下载ipvsadm 管理工具
yum -y install ipvsadm
ipvsadm -v
#开启路由转发规则
vim /etc/sysctl.conf
添加net.ipv4.ip_forward = 1
sysctl -p
#此下部分只在节点服务器中进行
#配置负载分配策略并且保存
ipvsadm -C
ipvsadm -A -t 192.168.112.128:80 -s rr
ipvsadm -a -t 192.168.112.128:80 -r 192.168.157.129:80 -m -w 1
ipvsadm -a -t 192.168.112.128:80 -r 192.168.157.130:80 -m -w 1
ipvsadm --save
ipvsadm --save >/etc/sysconfig/ipvsadm
#查看其状态
ipvsadm -ln
#在节点服务器和nfs服务器中进行
#在节点服务器中写入节点服务器的ip
#在nfs服务器中写入nfs服务器的IP
cd /usr/share/nginx/html
echo “192.168.157.129” > index.html
echo “192.168.157.130” > index.html
3.验证轮训
#在节点服务器中验证轮询
#访问节点服务器的ens224的IP,端口为80
curl 192.168.112.128:80
4.验证共享存储
#NFS 共享存储服务器(192.168.157.130)
#编辑vi /etc/exports
#共享/usr/share/nginx/html文件
#网段192.168.157.0/24
#可读写权限(rw,sync,no_root_squash)
#保存退出后重新启动 rpcbind和nfs
#以下在nfs服务器中进行
Vim /etc/exports
/usr/share/nginx/html 192.168.157.0/24(rw,sync,no_root_squash)
#查看nsf服务器(192.168.157.130)发布的NFS共享文件
#在节点服务器(192.168.157.129)中查询
showmount -e 192.168.157.130
#在节点服务器中手动挂载共享目录
mkdir /zyz #创建目录,目录名称可自行决定
mount -t nfs 192.168.157.130:/usr/share/nginx/html /zyz
#修改节点服务器的nginx配置文件
vim /etc/nginx/nginx.conf
#注释之前的挂载点
# root /usr/share/nginx/html;root /zyz;
三、实验结果
#在节点服务器中
#创建测试文件test.html,内容自定义
cd /zyz
vim test.html
#给目录,文件添加权限并且重启nginx
chmod -R a+rx /zyz
chmod a+r /zyz/test.html
chown root:nginx /zyz/test.html
systemctl restart rpcbind
systemctl restart nfs-server.service
systemctl restart nginx
#查看各服务状态
#验证轮询测试
四、实验结论
1.LVS(Linux Virtual Server)是一种基于Linux操作系统的高性能、高可用的虚拟服务器技术,用于实现负载均衡。它通过将客户端的请求分发到多台后端服务器上,提高整体服务的处理能力和可靠性。
LVS的核心概念
2.负载均衡器(Load Balancer):是整个集群对外提供服务的入口,通过对外提供一个虚拟IP(VIP)来接收客户端请求。根据设定的调度算法和规则,将请求转发到后端真实服务器上。
3.后端服务器(Real Server):是实际处理客户端请求的真实服务器,可以是一台或多台。后端服务器通过局域网或广域网与负载均衡器相连。
4.虚拟IP(VIP):是客户端访问的IP地址,对客户端是透明的。负载均衡器通过VIP接收客户端请求,并将其转发到后端服务器上。
LVS的调度算法
LVS支持多种调度算法,以根据实际需求将请求分发到后端服务器上。常用的调度算法包括:
轮询:
按顺序依次将请求分发到后端服务器上,实现均衡负载。
加权轮询:
根据后端服务器的处理能力,为其分配不同的权重,权重越高的服务器处理的请求越多。
最少连接:
将请求分发到当前连接数最少的服务器上,以实现负载均衡。
加权最少连接:
在最少连接的基础上,考虑后端服务器的权重,将请求分发到加权连接数最少的服务器上。
LVS-NET(也称为Direct Routing,DR)模式是LVS的一种工作模式,它通过修改请求报文的MAC地址,将请求直接转发到后端真实服务器。在这种模式下,真实服务器处理完请求后,直接将响应返回给客户端,无需经过负载均衡器,从而提高了响应速度和吞吐量。
LVS-NET模式的优点包括:
高效性:避免了负载均衡器成为瓶颈,提高了整体性能。
可扩展性:支持大规模集群部署,易于扩展。
低延迟:响应速度快,适用于对延迟敏感的应用。
NFS是一种分布式文件系统协议,允许网络中的计算机共享文件和目录。在LVS集群中,使用NFS共享存储可以确保后端真实服务器之间的数据一致性,避免了因本地存储导致的静态资源不一致现象。
NFS共享存储的优点包括:
数据一致性:确保所有服务器访问的是同一份数据。
高可用性:通过配置NFS高可用,可以提高数据访问的可靠性。
易于管理:集中管理存储资源,简化了运维工作。