高可用工具keepalived学习笔记
keepalived完全遵守VRRP协议包括竞选机制,至于VRRP是什么这里不说了参考http://wenku.baidu.com/link?
url=1UbkmHuQlGECgC90P7zF6u2xYyifLK0F-G_7pehNVUitZZExISjZ-
B22TJKKGyYIZXh9X7uULA8lA1nKw0NsyNGelrt_yQ317knkVyjwCqW,不同的是VRRP里的路由器在keepalive中变成服务器
vrrp的术语:虚拟路由器、VRID、Master、Backup、VIP、VMAC、优先级、抢占式、非抢占式;
HA Cluster的配置前提: 1、各节点时间要同步 (查看两台主机时间是否同步的命令date; ssh root@x.x.x.x 'date' 2、确保
iptables及selinux不会成为障碍
yum -y install keepalived
/etc/keepalived/keepalived.conf 就是keepalived的主配置文件 配置文件的说明可以使用命令 man keepalived.conf
vim /etc/keepalived/keepalived.conf
global_defs 定义的是全局配置段, notification_email表示keepalived在发生诸如主从切换操作时需要发送email通知,以及email
发送给哪些邮件地址,邮件地址可以多个每行一个
notification_email_from 发件人邮箱地址 , smtp_server 表示发送email时使用的smtp服务器地址 ,
smtp_connect_timeout:与邮件服务器建立连接的超时时长
router_id LVS_DEVEL:物理节点的标识符;建议使用主机名
vrrp_instance 配置虚拟服务器实例, state MASTER|BACKUP:在当前VRRP实例中此节点的初始状态, interface vrrp用于绑定vip
的接口 , virtual_router_id 当前VRRP实例的VRID,可用范围为0-255,默认为51, priority 100 设置本节点的优先级优先级高的为
master可用范围0-255, advert int 检查间隔默认为1秒, authentication 这里设置认证, auth type 认证方式 auth pass 认证密码
virtual_ipaddress 配置虚拟ip地址
上图指的是lvs配置段
配置一台backup:
在两台主机上都启动keepalived service keepalived start
ip addr list, 可以看到master上已经配置了vip了
如果把master停掉 vip就会漂移到backup, 根据上面的配置使用mail命令去查看本地邮件 f|from num 指针移动到指定邮件 查看
backup是否转变为master,或者在backup主机上使用ip addr list 查看绑定的接口上是否有vip地址来决定状态是否转换,前提是还
得写一个脚本来说明邮件的内容是什么
接下来就写这个脚本
脚本定义好了还得在配置文件中定义脚本怎么引用
notify_master 如果该主机转换成master则执行哪个脚本 notify_backup 转换成backup执行哪个脚本 notify_fault 发生错误执
行哪个脚本,notify这三条指令在master和backup都得给配置上
一台master需要维护可以直接是用service keepalived stop 下面介绍另外一种方法当一台master主机需要维护时,通过脚本的方式
使master降级为backup,不过默认情况下当原来的master恢复时会主动把master重新夺回
vrrp_script 定义哪一个脚本名 script 执行什么脚本, interval 定义执行脚本的时间间隔, weight 如果script的执行状态结果为失
败,则使priority减2
接下来还得在vrrp实例中调用该脚本
在track_script中调用前面定义过的脚本,脚本的目的是如果/etc/keepalived/目录下有down文件则使该keepalived主机的priority
减2,现在在另外一台keepalived主机上也配置上
接下来在两台keepalived主机上配置nginx并使nginx高可用,yum -y install nginx
rpm -ql nginx 查看一下网页根目录在哪 vim /usr/share/nginx/html/index.html
在后面添加了HAA
在后面添加了HA1,这样两nginx就配置上了
master在172.16.238.176上,接下来把master down掉,在/etc/keepalived/下 touch down创建一个down文件
master转移到了192.168.238.177上了,现在的需要是创建一个脚本,能自动识别nginx作为反代服务器是否在线,如果master上的
nginx不在线立即降为backup,并使backup立即转为master,实现nginx的高可用
killall -0 nginx 探测nginx是否在线,它不会杀死nginx进程,如果nginx在线则执行状态返回值为0,反之为1,如果为1 就会使该
keepalived主机的priority减5,降级为backup,如果从前的master nginx服务又启动了,则会夺回master
在vrrp实例中调用该脚本
track_interface是监控网卡是否正常,它不需要定义脚本,有内置的脚本
高可用工具keepalived学习笔记的更多相关文章
- Rancher Server HA的高可用部署实验-学习笔记
转载于https://blog.csdn.net/csdn_duomaomao/article/details/78771731 Rancher Server HA的高可用部署实验-学习笔记 一.机器 ...
- Nginx之keepalived高可用工具
1.创建两台虚拟机,分别为主机和从机,区别两台虚拟机的IP地址 2. 将keepalived上传到linux系统当中 3. cd /usr/local目录 4. tar -zxvf keepalive ...
- centos7.4安装高可用(haproxy+keepalived实现)kubernetes1.6.0集群(开启TLS认证)
目录 目录 前言 集群详情 环境说明 安装前准备 提醒 一.创建TLS证书和秘钥 安装CFSSL 创建 CA (Certificate Authority) 创建 CA 配置文件 创建 CA 证书签名 ...
- GNU工具链学习笔记
GNU工具链学习笔记 1..so为动态链接库,.a为静态连接库.他们在Linux下按照ELF格式存储.ELF有四种文件类型.可重定位文件(Relocatable file,*.o,*.a),包含代码和 ...
- 17.Linux高可用之Keepalived
1.什么是高可用,为什么要设计高可用? 两台机器启动着相同的业务系统,当有一台机器宕机,另外一台服务器能快速的接管,对于访问的用户是无感知的. 减少系统不能提供服务的时间. 2.高可用使用什么工具来实 ...
- 高可用软件Keepalived
关于高可用软件Keepalived的使用及配置请参见:http://www.voidcn.com/blog/9124573/article/p-5990263.html
- 高可用之KeepAlived(2):keepalived+lvs
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- MySQL高可用工具--orchestrator
orchestrator是一款MySQL高可用工具,其支持: 集群拓扑探测 集群拓扑重塑 故障恢复 提供3种使用方式: 命令行 HTTP API web页面 orchestator github地址
- keepalived高可用工具
1.准备俩台虚拟机,一台主机,一台备机 我这里模拟的是 主机ip: 192.168.42.66 masternginx 备机ip: 192.168.42.77 slavenginx 虚拟ip: 192 ...
随机推荐
- [SQL]select scope_identity()传回插入相同范围之识别资料行中的最后一个识别值
传回插入相同范围之识别资料行中的最后一个识别值.范围是一个模组:预存程序.触发程序.函数或批次.因此,如果两个陈述式在相同预存程序.函数或批次中,它们就在相同范围中. 语法: SCOPE_IDENTI ...
- Codeforces 633D
题意: 给定n,和一个长度为n的序列. 让你在这n个数中找长度尽可能长的fib数列. 思路: 这题的数字是在1e9范围内的,所以最长的可能存在的fib数列官方的解释是90左右.有一种情况除外,就是0的 ...
- ACM—最大连续子序列(HDOJ1003)
HDOJ链接 http://acm.hdu.edu.cn/showproblem.php?pid=1003 不了解题目的朋友可以先看一下题目,在这里就不再详细介绍了.(文章内容和解题思路不完全相同,方 ...
- isAnagram
/*Given two strings s and t, write a function to determine if t is an anagram of s. For example, s = ...
- java流布局管理器
public class FlowLayoutPosition extends JFrame{ public FlowLayoutPosition() { setTitle( ...
- Nginx作为简单代理服务器(Windows环境)
Nginx一个频繁的应用是作为代理服务器,由Nginx代理服务器接受客户请求,并将客户请求发送到应用服务器处理,接受应用服务器的响应,然后将响应发送给客户. 现在要做的一个应用场景就是当客户请求图片资 ...
- hbase的regionserver宕机
错误日志: regionserver.HRegionServer: Failed deleting my ephemeral node zookeeper.RecoverableZooKeeper: ...
- 【转】又一波你可能不知道的 Linux 命令行网络监控工具
对任何规模的业务来说,网络监控工具都是一个重要的功能.网络监控的目标可能千差万别.比如,监控活动的目标可以是保证长期的网络服务.安全保护.对性能进行排查.网络使用统计等.由于它的目标不同,网络监控 ...
- YUV主要采样格式理解
主要的采样格式有YCbCr 4:2:0.YCbCr 4:2:2.YCbCr 4:1:1和 YCbCr 4:4:4.其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也 ...
- java 倒序输出
输入五句话,用数组存储起来,然后逆序输出这五句话. import java.util.Scanner; class work1{ public static void main(String[] a ...