博客
关于我
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常用操作
    查看>>
    MySQL – 导出数据成csv
    查看>>
    MySQL —— 在CentOS9下安装MySQL
    查看>>
    MySQL —— 视图
    查看>>
    mysql 不区分大小写
    查看>>
    mysql 两列互转
    查看>>
    MySQL 中开启二进制日志(Binlog)
    查看>>
    MySQL 中文问题
    查看>>
    MySQL 中日志的面试题总结
    查看>>
    mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
    查看>>
    MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
    查看>>
    Mysql 中的日期时间字符串查询
    查看>>
    mysql 中索引的问题
    查看>>
    MySQL 中锁的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>