keepalived

LVS负载均衡群集之DR模式+keepalived群集机构(理论+实践篇)

耗尽温柔 提交于 2019-12-24 01:54:32
LVS-DR数据包流向分析 为方便进行原理分析,将Client与群集机器放在同一网络中,数据包流经的路线为1-2-3-4 Client向目标VIP发出请求, Director (负载均衡器)接收 Director根据负载均衡算法选择RealServer 1,不修改也不封装IP报文,而是将数据帧的MAC地址改为RealServer 1的MAC地址,然后在局域网上发送。 RealServer_ _1收到这个帧,解封装后发现目标IP与本.机匹配(RealServer事先绑定 了VIP),于是处理这个报文。随后重新封装报文,发送到局域网。 Client将收到回复报文。Client认为得到正常的服务 ,而不会知道是哪一台服务器处理的 注意:如果跨网段,那么报文通过路由器经由Internet返回给用户 LVS-DR中的ARP问题 在LVS-DR负载均衡集群中,负载均衡器与节点服务器都要配置相同的VIP地址 在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱 当一个ARP广播发送到LVS-DR集群时因为负载均衡器和节点服务器都是连接到相同的网络上的,它们都会接收到ARP广播 此时只有前端的负载均衡器进行响应,其他节点服务器不应该响应ARP广播 对节点服务器进行处理,使其不响应针对VIP的ARP请求 使用虚接口lo:0承载VIP地址 设置内核参数arp_ ignore=1:

nginx+docker+nfs部署

有些话、适合烂在心里 提交于 2019-12-24 00:03:34
一.体系架构 在Keepalived + Nginx高可用负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来,实际运行中体验只有2秒钟切换时间,DNS服务可以负责前端VIP的负载均衡。 nginx负责控制后端web服务器的负载均衡,将客户端的请求按照一定的算法转发给后端Real Server处理,而Real Server将响应直接返回给客户端。 nfs服务器做实时备份,给web服务器提供web界面。 二.简单原理 NGINX_MASTER、NGINX_BACKUP两台服务器均通过keepalived软件把ens33网卡绑上一个虚拟IP(VIP)地址192.168.1.40,此VIP当前由谁承载着服务就绑定在谁的ens32上,当NGINX_MASTER发生故障时,NGINX_BACKUP会通过/etc/keepalived/keepalived.conf文件中设置的心跳时间advert_int 1检查,无法获取NGINX_MASTER正常状态的话,NGINX_BACKUP会瞬间绑定VIP来接替nginx_master的工作,当NGINX_MASTER恢复后keepalived会通过priority参数判断优先权将虚拟VIP地址192.168.1

Keepalived高可用集群应用实践

房东的猫 提交于 2019-12-23 22:35:42
一,Keepalived高可用软件   1,Keepalived介绍   1.1 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。   1.2 Keepalived软件主要是通过VRRP协议实现高可用功能的。   2,Keepalived服务三个重要功能     2.1 管理 LVS负载均衡软件     2.2 实现对 LVS集群节点健康检查功能( healthcheck)     2.3 作为系统网络服务的高可用功能( failover)   3,Keepalived高可用故障切换原理     3.1 Keepalived高可用服务之间的故障切换转移,是通过VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)来实现的。     3.2 在Keepalived服务正常工作时,主Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活着,当主Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的IP资源及服务。而当主Master节点恢复时

MySQL 8.0 Keepalived+双主架构——手把手搭建

谁都会走 提交于 2019-12-23 19:46:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 如需转载请注明出处 https://my.oschina.net/feistel/blog/2996572 我丑 话说在前头: 192.168.1.200 主masterB, VMUbuntu18 MySQL8.0 192.168.1.123 主masterC, VMCentOS7 MySQL8.0 vip:192.168.1.199 B shell代表Ubuntu终端 C shell代表CentOS终端 shell代表两系统都需要操作 ---------------------------------------------------------------------------------------------------------------- 1 修改B的server-id为2,两个库的server-id不能相同 在B etc/mysqld.cnf 里的[mysqld]添加: # Server Id. server-id=2 #开启GTID gtid-mode=on enforce_gtid_consistency=on #开启binlog写二进制日志文件: log_bin=on 保存 每次修改配置文件需要重启服务以便载入 B shell>service mysql restart B

十一、使用KeepAlived为RabbitMQ的高可用的负载均衡

本小妞迷上赌 提交于 2019-12-22 14:29:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 概述 高可用架构是 Keepalived + HAproxy,用 HAproxy 来做 RabbitMQ 负载均衡和高可用,用 Keepalived 来保证 HAproxy 的高可用。 组件 IP地址 端口 RabbitMQ磁盘节点-01 192.168.0.101 5672 RabbitMQ磁盘节点-02 192.168.0.102 5672 RabbitMQ磁盘节点-03 192.168.0.103 5672 HAproxy-01 192.168.0.104 HAproxy-02 192.168.0.105 Keepalived-Master 192.168.0.104 Keepalived-Backup 192.168.0.105 虚拟IP:192.168.0.100 之前安装过RabbitMQ。 也安装过单节点的HAProxy,IP地址为:192.168.0.104。 现在,需要把单节点的HAProxy克隆一份,形成两个HAProxy,新克隆出来的HAProxy节点的IP地址为:192.168.0.105。 安装KeepAlived 在两个节点使用yum安装keepalived: yum install -y keepalived 在两个节点的/etc/keepalived

haproxy+keepalived实现高可用负载均衡

倖福魔咒の 提交于 2019-12-22 13:05:56
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现。LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载。 HAProxy相比LVS的使用要简单很多,功能方面也很丰富。当 前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器、内部协议通信服务器等),和7层(HTTP)。在4层模式 下,HAProxy仅在客户端和服务器之间转发双向流量。7层模式下,HAProxy会分析协议,并且能通过允许、拒绝、交换、增加、修改或者删除请求 (request)或者回应(response)里指定内容来控制协议,这种操作要基于特定规则。 我现在用HAProxy主要在于它有以下优点,这里我总结下: 一、 免费开源,稳定性也是非常好,这个可通过我做的一些小项目可以看出来,单Haproxy也跑得不错,稳定性可以与LVS相媲美; 二、 根据官方文档,HAProxy可以跑满10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom's 10GbE NICs (Myri-10G PCI-Express),这个作为软件级负载均衡,也是比较惊人的; 三、 HAProxy可以作为MySQL、邮件或其它的非web的负载均衡,我们常用于它作为MySQL(读

keepalived+nginx+lnmp 网站架构

蓝咒 提交于 2019-12-21 13:43:05
《网站架构演变技术研究》 项目实施手册 2019年8月2日 第一章 : 实验环境确认 4 1.1-1.系统版本 4 1.1-2.内核参数 4 1.1-3.主机网络参数设置 4 1-1-4 .项目拓扑图 5 第二章 : 部署后端web服务 6 2-1 .安装Nginx服务端 6 2-1-1 .安装nginx 依赖包 6 2-1-3.修改Nginx配置文件 7 2-1-4.创建nginx启动文件软链接 8 2-1-5.启动nginx,开机自启 8 2-1-6. 查询端口80状况 8 2-1-7.安装其他web服务器 8 2-2 .部署PHP环境 9 2-2-1 .安装PHP 软件 9 2-2-3. 查询端口9000状况 9 2-2-3.安装其他web服务器 9 第三章 : 部署NFS服务 9 3-1 .安装NFS 服务器端 10 3.1-1 .nfs软件安装 10 3-1-2 .创建共享目录 10 3-1-3. 修改/etc/exports配置文件 10 3-1-4. 启动服务,开机自启 10 3-1-5. 本地挂载测试 10 3-2. 部署web客户端挂载nfs存储 11 3-2-1.配置web服务器 11 3-2-2.手动挂载-临时挂载 11 3-2-3. 配置开机自动挂载-永久挂载 11 3-2-4. 安装其他 web服务器 12 3-3. 部署rsync备份服务器 12 3-3

RabbitMQ高可用配置(Haproxy + Keepalived)

廉价感情. 提交于 2019-12-21 08:45:31
网络结构如下图: 共有104、105、106三台RabbitMQ Server,互为集群 其中104和105安装了Haproxy,每个Haproxy承担三台RabbitMQ server的负载均衡 两台Harpoxy采用Keepalived互为主备,VIP是172.16.0.108 操作系统为Ubuntu 以下介绍操作步骤: 1、三台主机安装RabbitMQ apt-get install rabbitmq-server 开启RabbitMQ management,激活控制台以方便MQ的管理与监控 sudo rabbitmq-plugins enable rabbitmq_management 开启监控后可以输入http://ip:15672可以登录管理界面,默认账户guest/guest 2、配置MQ集群 2.1 cookie文件 因为RabbitMQ的集群是通过Erlang的集群来实现的,所以,要求三台机器的 /var/lib/rabbitmq/.erlang.cookie 文件内容一致,用VI等工具将它的内容修改为 zHDCGETPYWOWREASJUAB 由于RabbitMQ在启动Booker时会检查该文件的权限,必须为400,否则会报错,所以要修改文件的权限 chmod 400 .erlang.cookie 2.2 修改各机器hosts 172.16.0.104 pzs

LVS负载均衡

与世无争的帅哥 提交于 2019-12-21 03:18:15
一、负载均衡LVS基本介绍 ●LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用户的请求根据设置好的调度算法,智能均衡地分发到后端真正服务器(real server)上。为了避免不同机器上用户请求得到的数据不一样,需要用到了共享存储,这样保证所有用户请求的数据是一样的。 ●LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtualserver.org 现在 LVS 已经是 Linux 内核标准的一部分。 ●使用 LVS 可以达到的技术目标是:通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。 二、LVS的基本工作原理 1、当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间 2、PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链 3、IPVS是工作在INPUT链上的

LVS负载均衡群集——keepalived+DR模式(实战!)

余生长醉 提交于 2019-12-20 20:25:11
keepalived实现原理 keepalived采用vrrp热备份协议,实现Linux服务器的多机热备功能 vrrp,虚拟路由冗余协议,是针对路由器的一种备份解决方案 keepalivd案列讲解 keepalived可实现多机热备,每个热备组有多台服务器,最常用的就是双机热备 双机热备的故障切换是由虚拟IP地址的漂移来实现,适用于各种应用服务器 DR模式原理 实验环境 CentOS7系统: DR1 主: 192.168.100.2 DR2 备: 192.168.100.20 虚拟IP:192.168.100.10 web1:192.168.100.221 web2:192.168.100.222 win10系统: client:192.168.100.100 1、分别在四台Linux虚拟机上安装实验所需软件包 DR1主: [root@localhost ~]# yum install ipvsadm keepalived -y DR2从: [root@localhost ~]# yum install ipvsadm keepalived -y web1: [root@localhost ~]# yum install httpd -y web2: [root@localhost ~]# yum install httpd -y 2、分别将五台虚拟机的网络模式改为仅主机模式