2018-7-5
发布日期:2025-06-19 14:22:47
浏览次数:3
分类:精选文章
本文共 2483 字,大约阅读时间需要 8 分钟。
LVS DR模式搭建与keepalived的应用
18.11 LVS DR模式搭建
在实际应用中,LVS(Linux Virtual Server)作为一个高效的负载均衡解决方案,常用于将多个服务器的资源合并管理。DR模式(Direct Routing)是一种工作模式,能够有效地将流量直接转发至后端服务器,具有较高的性能和灵活性。本文将详细介绍LVS DR模式的搭建过程。
准备工作
设备准备
准备三台服务器:rs1、rs2,以及一个虚拟IP(记为vip)。每台服务器均配备一块不同的网卡,并分配一个独特的IP地址。网络设置
- 修改网络网关,确保所有服务器之间的通信正常。
- 配置网卡IP和子网掩码,确保网络环境的稳定性。
脚本编写
在
/usr/local/sbin/目录下创建两个脚本:lvs_dr.sh:用于在DR模式下配置LVS。lvs_rs.sh:用于在备用服务器(rs)上配置LVS。
lvs_dr.sh脚本内容如下:#!/bin/bashecho 1 > /proc/sys/net/ipv4/ip_forwardipv=/usr/sbin/ipvsadmvip=192.168.133.200rs1=192.168.133.132rs2=192.168.133.133# 设置虚拟IP的网卡为ens33,确保其处于UP状态ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 uproute add -host $vip dev ens33:2# 添加LVS规则$ipv -C$ipv -A -t $vip:80 -s wrr$ipv -a -t $vip:80 -r $rs1:80 -g -w 1$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
lvs_rs.sh脚本内容如下:#!/bin/bashvip=192.168.133.200# 将虚拟IP绑定到lo网接口ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 uproute add -host $vip lo:0# 修改ARP内核参数echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" > /proc/sys/net/ipv4/conf/lo/arp_announceecho "1" > /proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" > /proc/sys/net/ipv4/conf/all/arp_announce
执行脚本
- 在所有服务器上执行上述脚本,确保LVS规则和ARP参数配置正确。
keepalived + LVS 部署
keepalived 是一个开源的高可用性解决方案,能够有效管理服务器的故障转移。结合LVS,keepalived 可以实现动态的流量分配和负载均衡,确保服务的高可用性。
准备工作
设备准备
准备三台服务器:rs1、rs2,以及一个虚拟IP(记为vip)。每台服务器均配备一块不同的网卡,并分配一个独特的IP地址。网络设置
- 确保所有服务器之间的通信正常,网关配置正确。
- 配置网卡IP和子网掩码,确保网络环境的稳定性。
keepalived配置
- 修改
/etc/keepalived/keepalived.conf文件,配置keepalived的高可用性参数。 - 例如,配置文件如下:
vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass aminglinux } virtual_ipaddress { 192.168.188.110 }}virtual_server 192.168.188.110 80 { delay_loop 10 lb_algo wlc lb_kind DR persistence_timeout 60 protocol TCP real_server 192.168.188.129 80 { weight 100 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.188.127 80 { weight 100 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } }}
脚本执行
- 在备用服务器上执行
lvs_rs.sh脚本,确保keepalived正常运行。 - 清空现有的LVS规则,重启网络服务,确保新规则生效。
测试与验证
功能测试
- 使用网络工具(如
curl、telnet)测试LVS和keepalived的负载均衡功能。 - 确保在一台服务器故障时,流量能够自动转发至另一台服务器。
性能优化
- 根据实际负载情况,调整LVS的负载均衡算法和参数。
- 使用
ipvsadm命令查看当前的LVS规则,确保配置正确。
日志监控
- 关注keepalived和LVS的日志,及时发现和处理异常情况。
- 确保所有服务器的网络状态稳定,避免IP地址冲突或服务中断。
通过以上步骤,可以成功搭建一个基于LVS DR模式和keepalived的高可用性负载均衡解决方案,确保服务的稳定性和可靠性。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2026年06月18日 20时02分57秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
RabbitMQ集群 - 仲裁队列、Raft协议(最详细的选举流程)
2023-03-01
PHP学习总结(11)——PHP入门篇之WAMPServer多站点配置
2023-03-01
PHP学习总结(12)——PHP入门篇之变量
2023-03-01
PHP学习总结(13)——PHP入门篇之常量
2023-03-01
PHP学习总结(14)——PHP入门篇之常用运算符
2023-03-01
PHP学习总结(1)——PHP入门篇之PHP可以做什么?
2023-03-01
PHP学习总结(2)——PHP入门篇之PHP代码标识
2023-03-01
PHP学习总结(3)——PHP入门篇之PHP的echo语句
2023-03-01
PHP学习总结(4)——PHP入门篇之PHP计算表达式
2023-03-01
PHP学习总结(5)——PHP入门篇之PHP字符串
2023-03-01
PHP学习总结(6)——PHP入门篇之PHP语句结束符
2023-03-01
PHP学习总结(7)——PHP入门篇之PHP注释
2023-03-01
rabbitmq重启失败
2023-03-01
PHP学习总结(9)——PHP入门篇之WAMPServer服务控制面板介绍
2023-03-01
php学习笔记---php调试和开发工具整理
2023-03-01
PHP学习笔记一:谁动了你的mail(),PHP?
2023-03-01
PHP安全实战
2023-03-01
php安装扩展
2023-03-01
rabbitmq重启
2023-03-01
php实现上传(多个)文件函数封装
2023-03-01