keepalived

lvs+keepalived+nginx搭载高性能负载均衡

安稳与你 提交于 2020-08-18 05:33:59
1. 配置网络结构: 192.168.1.11和192.168.1.12是互为备份的LVS Director, 192.168.1.11默认为MASTER, 192.168.1.12为BACKUP 192.168.1.99是LVS Director的虚拟IP,当192.168.1.11正常工作时,它会通过VRRPv2协议向广播网段发送ARP数据包,声明192.168.1.99为其所有,当192.168.1.11宕机时,192.168.1.12会立即接管该工作,声明192.168.1.99的所有权并响应用户请求 192.168.1.13和192.168.1.14是 Real Server, 上面有监听在80端的Web 服务 2. Keepalived主机安装配置 1. 在192.168.1.11和192.168.1.12上安装keepalived, 安装完成后修改配置文件/etc/keepalived/keepalived.conf。 # yum install keepalived -y # vi /etc/keepalived/keepalived.conf 详细配置参数说明请参见官方文档: http://www.keepalived.org/doc/configuration_synopsis.html 2. 配置MASTER节点(192.168.1.11),配置文件内容如下

LVS+keepalived做Mysql集群的负载均衡

梦想的初衷 提交于 2020-08-17 23:45:33
LVS+keepalived做Mysql集群的负载均衡: 注: 1、LVS本身不对node做健康检查的,所以要借助keepalived 2、根据配置当某node down掉会有几秒判断时间,这点请注意。 负载均衡端: yum install ipvsadm keepalived ipset-devel 注: keepalived的log在/var/log/message里 vi /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { br/>aa@ming.com } notification_email_from aa@ming.com smtp_server 10.0.0.10 smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr vrrp_strict (这行一定要注掉,不注掉vip可能会ping不通) vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state MASTER interface eno1 (这里网卡名要写对) virtual_router_id 51

mysql主主复制及keepalived高可用群集

a 夏天 提交于 2020-08-17 16:41:02
mysql 主主复制及 keepalived 高可用 Keepalived +mysql 双主 来实现 MySQL-HA ,我们必须保证两台 MySQL 数据库的数据完全一样, 基本思路 是 两台 MySQL 互为主从关系 ( 双主 ) ,通过 Keepalived 配置虚拟 IP ,实现当其中的一台 MySQL 数据库宕机后,应用能够自动切换到另外一台 MySQL 数据库,保证系统的高可用 。 实验基本拓扑: 主主同步就是两台机器互为主 从 的关系,在任何一台机器上写入都会同步 . 在 master1 mysql 主配置文件中添加下面参数( /etc/my.cnf ) 在 master2 mysql 主配置文件中添加下面参数 停止防火墙服务(主主复制得经过防火墙,防火墙会阻止,可以添加策略) 在 master1 上创建授权用户 查看 binlog 状态信息 在 master2 上设置为从服务器 查看下面两个值是否为 yes , yes 表示能够同步 在 master2 中添加授权用户 在 master2 上查看 binllog 状态信息 在 master1 中设置为从服务器 查看一下两个参数是否为 yes 以上为 master1 为 master2 的主, master2 是 master1 的主并肩为主从,所以他们并肩为对方的主 创建数据库、表、插入数据,测试对方是否能同步

postgresql+keepalived HA实现VIP漂移

心已入冬 提交于 2020-08-17 06:49:46
!/bin/bash ################################ Author: xgmin ## Version: 1.0 ## Date: 20191121 ################################ yum clean all && yum repolist yum install vim tree -y #安装keepalived##################### mkdir -p /etc/keepalived/script mkdir -p /var/log/keepalived #增加keepalived主从切换脚本######### tee > /etc/keepalived/script/pgsql_check.sh <<'EOF' #!/bin/bash VIP= ip a | grep 10.10.10.247 | wc -l #判断是否是从库处于等待的状态 Standby_Wait= ps -ef | grep postgres | grep 'startup process' | wc -l #判断从库链接主库是否正常 Standby_Primary= ps -ef | grep postgres | grep 'receiver' | wc -l #判断主库连接从库是否正常 Primary

第一次搭建kubernetes经历

情到浓时终转凉″ 提交于 2020-08-17 06:44:38
1.准备部署环境 master 192.168.40.162 node 192.168.40.220 2.下载部署包(从192.168.40.33复制部署包) scp /opt/kylincloud2_2.0_ft2000_v0.0.1.13_20200511.tar.gz root@192.168.40.162:/opt/ 3.免密认证 通过192.168.40.192对192.168.40.162及192.168.40.220做免密认证,即master节点对自身及所有node节点做免密认证 (1)ssh-keygen -t rsa (2)cat id_rsa.pub>>authorized_keys (3)chmod 710 authorized_keys (4)scp -r authorized_keys root@192.168.40.220:~/.ssh 4.时间同步 (1)ntpdate 192.168.40.253(此命令分别执行在master及node) 将192.168.40.162和192.168.40.220统一与192.168.40.253时间保持一致,即master及所有节点保持统一一致时间 (2)hwclock -w(此命令分别执行在master及node) 将软件时间写入硬件时间,硬件时间是BIOS的时间 5.根据需求修改default.yaml文件

MySQL高可用架构之MHA

爱⌒轻易说出口 提交于 2020-08-17 03:28:47
简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点) 。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL 5.5的半同步复制

数据库秒级平滑扩容架构方案

爷,独闯天下 提交于 2020-08-17 00:05:40
今天主要给大家介绍一下关于数据库秒级平滑扩容架构方案的内容。 一、 缘起 (1)并发量大,流量大的互联网架构,一般来说,数据库上层都有一个服务层,服务层记录了“业务库名”与“数据库实例”的映射关系,通过数据库连接池向数据库路由sql语句以执行: 如上图:服务层配置用户库user对应的数据库实例物理位置为ip(其实是一个内网域名)。 (2)随着数据量的增大,数据要进行水平切分,分库后将数据分布到不同的数据库实例(甚至物理机器)上,以达到降低数据量,增强性能的扩容目的: 如上图:用户库user分布在两个实例上,ip0和ip1,服务层通过用户标识uid取模的方式进行寻库路由,模2余0的访问ip0上的user库,模2余1的访问ip1上的user库。 关于数据库水平切分,垂直切分的更多细节,详见 《一分钟掌握数据库垂直拆分》 。 (3)互联网架构需要保证数据库高可用,常见的一种方式,使用双主同步+keepalived+虚ip的方式保证数据库的可用性: 如上图:两个相互同步的主库使用相同的虚ip。 如上图:当主库挂掉的时候,虚ip自动漂移到另一个主库,整个过程对调用方透明,通过这种方式保证数据库的高可用。 关于高可用的更多细节,详见《究竟啥才是互联网架构“高可用”》。 (4)综合上文的(2)和(3),线上实际的架构,既有水平切分,又有高可用保证,所以实际的数据库架构是这样的: 提问

Mysql双机热备以及使用Keepalived实现Mysql双主高可用

断了今生、忘了曾经 提交于 2020-08-16 03:49:18
mysql双机热备的方式有两种: 主-从服务器双机热备 主-主服务器双机热备 下文以主-主服务器双机热备为例,主-从配置类似。 两台centos7,ip分别为:192.168.1.6、192.168.1.8 一、mysql创建数据库 本步骤两台主机都要执行一遍。两台主机都要安装,mysql安装见《CentOS7安装mysql8.0.12》或自行搜索。 安装完成后使用命令登录,密码为自己配置的密码: mysql -u root -p 创建一个测试数据库: mysql> CREATE DATABASE `test`; 使用test库(use test;)创建一个测试空表: mysql> create table tb_mobile( mobile VARCHAR(20) comment'手机号码', time timestamp DEFAULT now() comment'时间' ); 注意:网上资料中提到 配置之前要保证两个mysql数据一致,但因为本次配置两台mysql都为全新安装,因此未测试。 二、服务器配置 1.创建同步用户 使用mysql库, mysql> use mysql 然后分别为另一主机创建一个链接用户,该帐户必须授予REPLICATION SLAVE权限,因为mysql8在授权语句中不能出现IDENTIFIED BY ‘password’;

RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群

不羁的心 提交于 2020-08-15 16:01:14
本文使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群。受限于自身条件,本文使用VMware虚拟机的克隆功能克隆了两台服务器进行操作,仅作为一个demo,开发中可根据实际情况进行调整。 为什么要搭建高可用负载均衡集群?一句话来说就是:引入消息队列,可以实现异步操作、流量削峰、应用解耦等好处,但是消息队列毕竟是一把双刃剑,带了这些好处的同时也会使系统可用性、稳定性降低。对于RabbitMQ而言,它本身并不是分布式的(对比Kafka),所以我们要搭建RabbitMQ的集群来实现高可用。 首先看下RabbitMQ高可用负载均衡集群长什么样子: 使用Docker构建RabbitMQ高可用负载均衡集群大概分为三个步骤: 启动多个(3个为例)RabbitMQ,构建RabbitMQ集群,并配置为镜像模式。 使用HAProxy做负载均衡。 使用KeepAlived实现高可用。 一、构建RabbitMQ集群 1. 启动多个RabbitMQ节点 使用Docker启动3个RabbitMQ节点,目标如下表所示: 服务器ip 端口 hostname 管理界面地址 192.168.16.128 5672 my-rabbit1 192.168.16.128:15672 192.168

Linux下Keepalived安装与配置

痴心易碎 提交于 2020-08-15 11:27:02
简介 负载平衡是一种在真实服务器集群中分配IP流量的方法,可提供一个或多个高度可用的虚拟服务。在设计负载均衡拓扑时,重要的是要考虑负载均衡器本身的可用性以及它背后的真实服务器。用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能。 Keepalived为负载平衡和高可用性提供了框架。负载平衡框架依赖于众所周知且广泛使用的Linux虚拟服务器(IPVS)内核模块,该模块提供第4层负载平衡。Keepalived实现了一组健康检查器,以根据其健康动态地自适应地维护和管理负载平衡的服务器池。虚拟冗余路由协议(VRRP)实现高可用性。VRRP是路由器故障转移的基础砖块。此外,keepalived实现了一组挂钩到VRRP有限状态机,提供低级别和高速协议交互。每个Keepalived框架可以独立使用或一起使用,以提供弹性基础设施。 在这种情况下,负载平衡器也可以被称为 导向器 或 LVS路由器 。 简而言之,Keepalived提供了两个主要功能: 健康检查LVS系统 实施VRRPv2堆栈以处理负载均衡器故障转移 Keepalived使用四个Linux内核组件: LVS框架:使用getsockopt和setsockopt调用来获取和设置套接字上的选项。 Netfilter框架:支持NAT和伪装的IPVS代码。 Netlink接口