一、
LVS简介
LVS(Linux Virtual Server)是一种高性能的负载均衡解决方案,它通过将网络流量分发到多台服务器上,以提高系统的整体处理能力和可靠性,LVS 主要由两部分组成:负载调度器(Director Server)和服务端服务器(Real Server)。
负载均衡的重要性
在高并发访问场景中,单一服务器很难应对大量的请求,通过负载均衡技术可以将请求均匀地分配到多个服务器上,从而提高系统的响应速度和稳定性。
二、LVS的工作模式
NAT模式(地址转换)
1.1 特点
安全性高:外部网络无法直接访问内网服务器。
性能瓶颈:调度器成为整个系统的瓶颈。
适用场景:适用于小型集群。
1.2 原理
调度器接收到客户端请求后,修改数据包的目标IP地址,将其转发给后端服务器,后端服务器直接响应客户端。
TUN模式(IP隧道)
2.1 特点
减少调度器压力:调度器只负责分发请求,不处理响应数据。
跨网络工作:适合节点分布在不同子网的场景。
适用场景:适合大型、跨网络的集群。
2.2 原理
调度器接收到客户端请求后,通过IP隧道转发给后端服务器,后端服务器直接响应客户端。
DR模式(直接路由)
3.1 特点
高效:调度器仅修改MAC地址,不修改IP地址。
同一网段:要求调度器和后端服务器在同一物理网络中。
适用场景:适合大型集群。
3.2 原理
调度器接收到客户端请求后,修改数据包的目的MAC地址,将其转发给后端服务器,后端服务器直接响应客户端。
三、LVS的负载调度算法
轮询(Round Robin)
每个请求按顺序分配给不同的服务器,适用于所有服务器性能一致的场景。
2. 加权轮询(Weighted Round Robin)
根据服务器的权重分配请求,适用于服务器性能不一致的场景。
3. 最少连接(Least Connections)
优先将请求分配给当前连接数最少的服务器,适用于长时间连接的场景。
4. 源地址哈希(Source Hashing)
根据客户端IP地址进行哈希,将请求分配给固定的服务器,适用于需要会话保持的场景。
四、LVS集群的搭建步骤
配置nfs共享存储服务器
1.1 环境准备
操作系统:CentOS 7
主机名:nfs-server
IP地址:192.168.23.11
1.2 安装NFS服务
yum install -y nfs-utils systemctl enable --now nfs-server systemctl enable --now rpcbind
1.3 配置共享目录
mkdir -p /nfs/share chmod 777 /nfs/share echo "/nfs/share *(rw,sync,no_subtree_check,no_root_squash)" >> /etc/exports exportfs -r
部署节点服务器
2.1 环境准备
操作系统:CentOS 7
主机名:node1, node2
IP地址:192.168.23.12, 192.168.23.13
2.2 安装Nginx
yum install -y nginx systemctl start nginx
2.3 配置Nginx
echo "<html> <head><title>Welcome to Nginx!</title></head> <body><h1>Hello, World!</h1></body></html>" > /usr/share/nginx/html/index.html
部署调度器
3.1 环境准备
操作系统:CentOS 7
主机名:lvs-server
IP地址:192.168.23.23
3.2 安装相关软件
yum install -y ipvsadm keepalived
3.3 配置Keepalived
cat <<EOF > /etc/keepalived/keepalived.conf global_defs { router_id lvs-server } vrrp_instance VI_1 { state MASTER interface enp0s8 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass your_password } virtual_ipaddress { 192.168.23.23 } real_server 192.168.23.12 80 { weight 1 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.23.13 80 { weight 1 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 } } } EOF
3.4 启动Keepalived服务
systemctl enable --now keepalived
五、测试与验证
验证Nginx服务是否正常
通过浏览器访问http://192.168.23.23
,查看是否能够正常显示Nginx的欢迎页面。
验证负载均衡效果
分别停止node1
和node2
上的Nginx服务,验证调度器能否自动将请求转发到另一台正常运行的节点。
各位小伙伴们,我刚刚为大家分享了有关“负载均衡集群lvs配置”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1261443.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复