博客
关于我
2018-7-5
阅读量:798 次
发布时间:2023-04-16

本文共 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规则,重启网络服务,确保新规则生效。
  • 测试与验证

  • 功能测试

    • 使用网络工具(如curltelnet)测试LVS和keepalived的负载均衡功能。
    • 确保在一台服务器故障时,流量能够自动转发至另一台服务器。
  • 性能优化

    • 根据实际负载情况,调整LVS的负载均衡算法和参数。
    • 使用ipvsadm命令查看当前的LVS规则,确保配置正确。
  • 日志监控

    • 关注keepalived和LVS的日志,及时发现和处理异常情况。
    • 确保所有服务器的网络状态稳定,避免IP地址冲突或服务中断。
  • 通过以上步骤,可以成功搭建一个基于LVS DR模式和keepalived的高可用性负载均衡解决方案,确保服务的稳定性和可靠性。

    转载地址:http://tjgfk.baihongyu.com/

    你可能感兴趣的文章
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 添加列,修改列,删除列
    查看>>
    mysql 添加索引
    查看>>