博客
关于我
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-connector-java各种版本下载地址
    查看>>
    mysql-EXPLAIN
    查看>>
    MySQL-Explain的详解
    查看>>
    mysql-group_concat
    查看>>
    MySQL-redo日志
    查看>>
    MySQL-【1】配置
    查看>>
    MySQL-【4】基本操作
    查看>>
    Mysql-丢失更新
    查看>>
    Mysql-事务阻塞
    查看>>
    Mysql-存储引擎
    查看>>
    mysql-开启慢查询&所有操作记录日志
    查看>>
    MySQL-数据目录
    查看>>
    MySQL-数据页的结构
    查看>>
    MySQL-架构篇
    查看>>
    MySQL-索引的分类(聚簇索引、二级索引、联合索引)
    查看>>
    Mysql-触发器及创建触发器失败原因
    查看>>
    MySQL-连接
    查看>>
    mysql-递归查询(二)
    查看>>
    MySQL5.1安装
    查看>>
    mysql5.5和5.6版本间的坑
    查看>>