keepalived(二)vip漂移
实验
内容:测试vip能否正常切换
架构图
环境
ip | 系统 | 安装的软件 |
---|---|---|
192.168.253.158 | CentOS7 | keepalived |
192.168.253.128 | CentOS7 | keepalived |
第一步:在192.168.253.128主机上安装keepalived和发邮件的工具
yum install mailx -y
yum install keepalived -y
第二步:在192.168.253.128主机上修改配置文件/etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {notification_email {root@localhost}notification_email_from keepalived@localhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id 192.168.253.128
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 15priority 95advert_int 1authentication {auth_type PASSauth_pass 1234}virtual_ipaddress {192.168.253.190 dev ens33}notify_master "/etc/keepalived/notify.sh master" ##这个脚本稍后会创建notify_backup "/etc/keepalived/notify.sh backup"notify_fault "/etc/keepalived/nofify.sh fault"
}
第三步:创建keepalived状态发生变化时触发的脚本/etc/keepalived/nofify.sh
#!/bin/bash
#发邮件通知root,keepalived状态发生改变
contact='root@localhost'notify() {local mailsubject="$(hostname) to be $1, vip floating"local mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"echo "$mailbody" | mail -s "$mailsubject" $contact
}case $1 in
master)notify master;;
backup)notify backup;;
fault)notify fault;;
*)echo "Usage: $(basename $0) {master|backup|fault}"exit 1;;
esac
第四步:在192.168.253.158上安装keepalived,将192.168.253.128的脚本与配置文件发送到192.168.253.158上
192.168.253.158端操作
yum install keepalived -y
yum install mailx -y
192.168.253.128端操作
scp /etc/keepalived/keepalived.conf root@192.168.253.158:/etc/keepalived/keepalived.conf
scp /etc/keepalived/notify.sh root@192.168.253.158:/etc/keepalived/notify.sh
第五步:在192.168.253.158上修改配置文件
[root@localhost ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {notification_email {root@localhost}notification_email_from keepalived@localhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id 192.168.253.158 ##修改为当前主机的主机名,这里直接用ip了
}vrrp_instance VI_1 {state BACKUP ##设置为BACKUP节点interface ens33 virtual_router_id 15 priority 90 ##优先级advert_int 1authentication {auth_type PASSauth_pass 1234}virtual_ipaddress {192.168.253.190 dev ens33}notify_master "/etc/keepalived/notify.sh master"notify_backup "/etc/keepalived/notify.sh backup"notify_fault "/etc/keepalived/nofify.sh fault"
}
第六步:测试
我们先启动192.168.253.158备用节点的keepalived
systemctl start keepalived
看一下vip是否在192.168.253.158主机上
这里可以看出192.168.253.158正在广播自己的心跳信息。
这时候我们吧192.168.253.128启动起来
systemctl start keepalived
这里可以看到通告的人变成192.168.253.128了
vip这时候也飘过来了。说明没问题。
我们再看一下192.168.253.128主机上脚本是否成功触发了
收到邮件,成功
keepalived(二)vip漂移相关推荐
- 采用 redis主从 + 哨兵(sentinel) + vip漂移搭建一套redis高可用集群
一.单个实例 当系统中只有一台redis运行时,一旦该redis挂了,会导致整个系统无法运行. 单个实例 二.备份 由于单台redis出现单点故障,就会导致整个系统不可用,所以想到的办法自然就是备份( ...
- CentOS7编译安装keepalived实现自动漂移、高可用及开机启动
CentOS7编译安装keepalived实现自动漂移.高可用及开机启动 一.先安装依赖包 [root@haoding205-jq1 hd205]# yum install -y epel-relea ...
- nginx高可用方案:keepalived+nginx vip 动态位移
文章目录 一.部署总览+常用命令 1. 部署总览 2. 常用命令 二.软件安装配置 2.1. 安装keepalived 2.2. 安装nginx 2.3. 配置静态文件 三.测试 3.1. 启动ngi ...
- MHA编写实现VIP漂移
1.首先编写VIP漂移脚本 vi /masterha/app1/master_ip_failover #!/usr/bin/env perl use strict; use warnings FATA ...
- oracle3节点漂移,10.2.0.3 VIP 漂移问题
问题描述:3节点的Oracle 10.2.0.3版本RAC Oracle Patch merge6平台上 主机P570,操作系统AIX 5*** 没有压力状态下,拔掉节点node1的2根public ...
- mysql之vip漂移
续上一篇博客 vip漂移的好处: 查看谁是master的时候,不需要再进入数据库查看状态 直接使用ip addr 进行查就好了, 哪个主机有vip:172.25.78.100,谁就是master 因为 ...
- keepalived 安装及配置VIP漂移
环境: 主机 10.10.6.105 备机 10.10.6.106 VIP 10.10.6.188 一.安装 yum install keepalived -y 二.配置文件(/etc/keepal ...
- 基于keepalived 实现VIP转移,lvs,nginx的高可用
一.Keepalived 高可用集群的解决方案 二.VRRP的有限状态机 三.利用keepalived 实现主从VIP的切换 四. 实现在状态转变的时候自定义进行通知, 五. 实现负载均衡 六:实现n ...
- keepalived应用:漂移IP的实现
1.集群的介绍 每个服务器都叫做一个节点,集群节点之间是可以相互通信的,通信方式有两种:一种是基于RS232心跳线实现心跳监控,另一种用一块单独的网卡来跑心跳.心跳就是用来判断集群每个服务器之间网 ...
- keepalived实现vip的原理简析
1.vrrp VRRP的工作过程为: 1.虚拟路由器中的路由器根据优先级选举出Master.Master路由器通过发送欺骗ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转 ...
最新文章
- 美媒评2018年全球十大突破性技术:AI和人工胚胎上榜
- mysql phpwind_【phpwind教程:Linux Apache php MySQL GD PHPWind 集成环境配置】-phpwind教程-【零度中国】...
- C++中const——由一个例子想到的
- python输出去空格_Python3基础 print(,end=) 输出内容的末尾加入空格
- android 桌面图标创建,android创建桌面图标
- Pokemon Go火了,他却要破产了...
- 【C++】 C++标准模板库(四) Set
- 永磁无刷电机及其驱动技术_扫盲——直流无刷电机知识
- mysql 特殊运算_用特殊的MySQL运算符获得更多数据比较功能
- python播放音乐同步歌词_使用Python下载歌词并嵌入歌曲文件中的实现代码
- 浏览器打不开python的页面_robotframework,selenium启动不了打不开浏览器的问题访问不了网页...
- html input 字体颜色_HTML常用标签汇总
- java请求参数_在Java中发送http的post请求,设置请求参数等等
- java jpanel对齐_java – 如何使用GridBagLayout在JPanel中对齐组件中心?
- IE6.0中js优化
- 集合的一些练习题1(Collection+Map)
- 天翼云联手平凯星辰共建开源分布式数据库实验室
- 小爱同学app安卓版_小爱同学app2.0.1 安卓版 下载 - 51下载网
- 图灵革命如何颠覆我们对世界的认知?
- 关于键盘右边的 数字小写键盘不能使用的解决办法