热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

LVS+heartbeat+ldirectord高可用负载均衡集群解决方案

LVS是LinuxVirtualServer的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目由章文嵩博士在1998年5月创立,是中国国内最早出现的自由软件项目之一。其作用是实现LB(LoadBalance)将大量的并发访问或数据流量分担到多台节点设备上分别

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目由章文嵩博士在1998年5月创立,是中国国内最早出现的自由软件项目之一。其作用是实现LB(Load Balance)将大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;将单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。

HA(High Avalibaility)高可用性,即双机热备的方式保证服务的高可用性

本文高可用负载均衡集群解决方案,是在LVS实现负载均衡的基础之上,采用双机热备director来保证lvs个高可用性,并通过heartbeat实时监听主director的运行状态,另外使用ldirectord实时监测director后端Real Server的健康状态,将不能正常提供服务的主机离线。

整套方案拓扑架构如图:

\"\"650) this.width=650;\" border=0>

下面开始详述实现步骤:

一、两台Real Server:RS1、RS2的配置

初始化步骤:配置ip地址、主机名、yum源等不在赘述

  1. echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
  2. echo 2> /proc/sys/net/ipv4/conf/lo/arp_announce 
  3. echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
  4. echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
  5. #定义内核参数,禁止real server响应ARP广播请求 

Ps:由于使用DR模型故要屏蔽arp对后端realserver的解析

  1. ifconfig lo:0 192.168.0.123 broadcast 192.168.0.123 netmask 255.255.255.255 up 
  2. #在回环端口配置对外通信的VIP,并锁定其广播域 
  3. route add -host 192.168.0.123 dev lo:0 
  4. #配置主机路由,使之对外发送数据包均使用VIP 
  1. yum install -y httpd 
  2. #安装安装web服务 
  3. service httpd start 
  4. echo \'Real Server 1\' >  /var/www/html/index.html 
  5. #添加real server测试页面 
  6. mkdir /var/www/html/test/ 
  7. echo \'ok\' >  /var/www/html/test/index.html 
  8. #为ldirectord提供检测页面 
  9. service httpd start

Ps:这里仅以RS1为实例进行说明,RS2同此法操作。

二、高可用HA director节点的配置

初始化步骤:配置ip、yum源等。

Ps:两台director节点都使用双网卡,eth0与real server同网段,eth1使用网卡直连用于传输心跳信号。

  1. vim /etc/hosts 
  2. 192.168.0.71    node1.a.org         node1 
  3. 192.168.0.72    node2.a.org         node1 
  4. #用于实现两台director节点间域名解析,此操作node1、node2相同 
  1. vim /etc/sysconfig/network 
  2. #设置主机名 
  3. hostname node1.a.org 
  4. #修改主机名使之立即生效 

使heartbeat信息加密传输

  1. ssh-keygen -t rsa 
  2. #生成密钥 
  3. ssh-copy-id -i .ssh/id_rsa.pub root@node2.a.org 
  4. #将公钥复制给node2 
  5. ssh node2 -- ‘ifconfig’ 
  6. #执行命令测试,此时应该显示node2的ip信息 

安装heartbeat

  1. cd heartbeat 
  2. yum localinstall -y --nogpgcheck ./* 
  3. #安装此目录中的所有rpm包 

\"\"650) this.width=650;\" border=0>

  1. cd /usr/share/doc/heartbeat-2.1.4 
  2. cp authkeys /etc/ha.d/ 
  3. cp haresources /etc/ha.d/ 
  4. cp ha.cf /etc/ha.d/ 
  5. #拷贝heartbeat所需配置文件到指定目录下 
  1. vim /etc/ha.d/ha.cf 
  2. bcast eth1 
  3. #定义心跳信息从那一块网卡传输 
  4. node node1.a.org 
  5. node node2.a.org 
  6. #添加这两行,用于指明心跳信号传输范围 
  7. vim /etc/ha.d/authkeys 
  8. auth 2 
  9. 2 sha1 [键入随机数] 
  10. chmod 400 authkeys 
  11. #保存退出并修改权限400 
  12. vim /etc/ha.d/haresource 
  13. node1.a.org         192.168.0.123/24/eth0/192.168.0.255 ldirectord::ldirectord.cf httpd
  14. #末行添加主节点域名,vip资源,广播地址,ldirectord资源,以及用户提供显示错误页面的httpd资源

同步配置文件到node2

  1. /usr/lib/heartbeat/ha_propagate 
  2. #脚本用来同步ha.cf和authkeys文件到node2 
  3. scp haresources node2:/etc/ha.d/ 
  4. #复制haresource到nod2 

\"\"650) this.width=650;\" border=0>

配置ldirectord,同步配置文件

  1. cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/ldirectord.cf 
  2. #复制ldirector的配置文件 

内容如下配置

  1. checktimeout=3 
  2. #当DR收不到realserver的回应,设定几秒后判定realserver当机或挂掉了,预设5秒。 
  3. checkinterval
推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • linux 禁止指定ip访问
    linux中如何禁止指定的ip访问呢?比如被别人暴力破解,被别人使用不同的密码尝试登录:所以我想直接禁用这些ip的访问.怎么办呢?解决方案:修改配置文件etchosts.deny把 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
author-avatar
dx152
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有