keepalived,虚拟ip(vip)实践。
keepalived
- keepalived,虚拟ip(vip)实践。
- keepalived介绍
- 版本
- 流程图
- 搭建
- 基础设置
- 主机名
- selinux
- 关闭防火墙(所有机器)
- hosts映射
- keepalived设置
- vip
- 准备rpm包
- 配置
- 报错处理
- 'keepalived_script' for script execution does not exist
- .sh exited due to signal 15
- Unsafe permissions found
- 配置详解
- 可参考
keepalived,虚拟ip(vip)实践。
keepalived介绍
keepalived是一个是集群管理中保证集群高可用的一个服务软件,它具备心跳检测的功能。比如运用在redis、nginx、greenplum上,则是具备主备切换的控制功能。
keepalived的主备切换方案的设计思想如下:
当 Master 与 Slave 均运作正常时, Master负责服务,Slave负责Standby;
当 Master 挂掉,Slave 正常时, Slave接管服务,同时关闭主从复制功能;
当 Master 恢复正常,则从Slave同步数据,同步数据之后关闭主从复制功能,恢复Master身份,于此同时Slave等待Master同步数据完成之后,恢复Slave身份。
然后依次循环。
版本
keepalived-1.3.9-1.el7.x86_64.rpm
流程图
搭建
基础设置
主机名
1.vi /etc/hostname (已设置可跳过) -----设置主机名
selinux
2.vi /etc/selinux/config (已设置可跳过) ------- SELINUX=disabled
关闭防火墙(所有机器)
设置开机启用防火墙:systemctl enable firewalld.service
设置开机禁用防火墙:systemctl disable firewalld.service
启动防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
检查防火墙状态:systemctl status firewalld
hosts映射
vi /etc/hosts
keepalived设置
vip
192.168.60.221 keepalived主节点
192.168.60.222 keepalived备节点
192.168.60.100 虚拟ip(vip)
准备rpm包
两台机器目录/home/soft/keepalived/分别包含rpm包,位置自定义
rpm包文件位置:/home/soft/keepalived/keepalived-1.3.9-1.el7.x86_64.rpm
yum install keepalived-1.3.9-1.el7.x86_64.rpm
安装过程缺少依赖,补充依赖:http://rpmfind.net/linux/rpm2html/search.php?query=libverto-devel%28x86-64%29&submit=Search+…&system=&arch=
补充依赖包需要耐心,强烈建议使用在线yum安装,或者有离线的镜像yum
配置
yum install keepalived-1.3.9-1.el7.x86_64.rpm
安装完以后 默认在/etc/keepalived,不建议更换位置
备份一份原有的配置
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf-bnk
配置文件有很多 暂时用不到的 我就先删除掉了
vi /etc/keepalived/keepalived.conf
主
代码属于最初搭建使用的配置
图片是集成greenplum 高可用后的配置
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.60.221smtp_connect_timeout 30router_id LVS_DEVELscript_user rootenable_script_securityvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 78priority 150advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.60.100}
}
备
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.60.222smtp_connect_timeout 30router_id LVS_DEVELscript_user rootenable_script_securityvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 78priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.60.100}
}
参数简述:
state MASTER :当前节点为master(会存在抢vip)
nopreempt : 配合state BACKUP (解决抢占vip)
notify:keepaclived启动执行,我自己测试 出发了两次
notify_master:keepaclived启动,成为master后触发
notify_backup:keepaclived启动,成为backup触发
当第一个keepalived启动,会先执行一次notify_backup的脚本,然后 执行一次notify_master的脚本
启动:systemctl start keepalived
停止:systemctl stop keepalived
查看:ps -ef|grep [k]eepalived
ip a
日志监控:
tail -f /var/log/messages
ps -ef|grep [k]eepalived
ping 192.168.60.100
虚拟ip成功
报错处理
‘keepalived_script’ for script execution does not exist
WARNING - default user ‘keepalived_script’ for script execution does not exist - please create.
这个错误的原因在于配置文件的错误,在global_defs中加入如下两行即可。
script_user root
enable_script_security
.sh exited due to signal 15
Keepalived_vrrp[29368]: /etc/keepalived/nginx_check.sh exited due to signal 15
vrrp_script{}中interval的间隔时间要大于脚本中的sleep时间
Unsafe permissions found
Unsafe permissions found for script ‘/etc/keepalived/XXXXXXX’
查看脚本权限,改成755.
如果还是报错Unsafe permissions,将脚本所有者改为root
配置详解
可参考
1.配置keepalived ping不通 解决办法
2.nginx+keepalived集群高可用详细部署,keepalived安装启动报错问题(超详细)
3.Greenplum集群Master与Standby相互切换
4.Postgresl选择正确的关闭模式
5.实现主备路由自动切换 – keepalived
6.单台主机(CentOS7.3)安装Greenplum(5.20.1)
7.解决Keepalived脚本启动时warning、Unsafe
keepalived,虚拟ip(vip)实践。相关推荐
- OpenStack下的虚拟机,keepalived虚拟ip,ping不通
背景 领导让弄k8s多master的集群,然后在网上找资料,准备用keepalived来做高存活的方案,然后搭建keepalived,搭建完毕之后,就开始部署k8s了,但是当另一个主节点加入到当前ma ...
- keepalived外界无法通过虚拟ip访问
keepalived虚拟ip无法访问 把Master路由和Backup路由的文件keepalived.conf中去掉配置vrrp_strict(严格遵守VRRP协议)然后关掉重启服务,我把这配置去掉就 ...
- 虚拟ip+keeplalived+nginx 负载实现
什么是虚拟IP? 高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性.HA系统是目前企业防止 ...
- LVS专题-(3) 虚拟ip理解
1.虚拟IP是什么? 要是单讲解虚拟 IP,理解起来很困难,所以干脆把 动态 IP .固定 IP .实体 IP 与虚拟 IP都讲解一下,加深理解和知识扩展 实体 IP:在网络的世界里,为了要辨识每一部 ...
- linux 虚拟ip 双机,keepalived配置虚拟ip(vip)实现双机热备以及自动切换主备
背景:为什么做这个事情,写这个文章 我们项目的域名指向的是172.22.90.239,但实际上我们没这台机器,这是个虚拟ip,只有172.22.90.230,请求239为什么实际指向的是230机器? ...
- keepalived配置VIP(虚拟IP)
首先为了测试机器,准备两台服务器: host1 172.28.23.73host2 172.28.23.96虚拟ip 172.28.23.100 第一步:在线安装keepalived中间件 sudo ...
- 【转】解决keepalived正常启动但是虚IP(VIP)没有生成的问题
如题所示,keepalived安装配置好之后能够正常启动,但是虚IP并没有生成.接着检查防火墙(iptables)发现也没有相关的限制.稍微郁闷了一下之后,查看了keepalived日志文件,这次成功 ...
- linux 虚拟ip 作用,linux-高可用之虚拟ip地址(VIP)
高可用技术主要是指WEB网站.数据库.业务系统等持续不断的高 效.稳定的运行,为互联网用户提供高效的访问.高可用不是说网站. 数据库系统不宕机,而是指宕机.故障的时间是很短暂,能够快速恢 复.高可用技 ...
- keepalived主备切换后虚拟IP漂移慢的解决方法
现象是主备切换之后在BACKUP的keepalived日志上可以看虚拟IP已经切换过来了,使用ip addr show也可以看到虚拟IP已经配上,但是使用ping,大概要3分钟后才能正常ping通,这 ...
- 虚拟ip设置 - Keepalived详解
1. ubuntu安装keepalived(需要偏移的机器) root@ubuntu:~# apt install keepalived 2. 编写配置文件/etc/keepalived/keepal ...
最新文章
- 程序启动报错:ORA-12505;PL/SQL却可以登录的解决方法
- 编程之美-最大公约数问题方法整理
- wxWidgets:wxBitmapComboBox类用法
- 百度地图infoWindow圆角处理
- 使用Node 操作MySQL数据库
- qt中event->globalPos()与pos()
- 西部数码linux云服务器,linux云服务器选择哪个版本
- eclipse中Java EE 与Java 区别
- 【转】404、500、502等HTTP状态码介绍
- linux远程ssh的端口映射,SSH端口映射
- Could not find artifact com.oracle:ojdbc7:pom:12.1.0.2 in central (https://r......的解决方案
- Unity资源替换工具,旧模型替换新模型,替换GUID,替换meta文件,文件丢失等问题
- Google sheet 设置下拉列表
- 10年老司机倾囊相授,贴片晶振的PCB layout需要注意哪些?
- 路由器的应用场所及作用
- 21 年年度最佳开源软件!
- 关于在数据库中如何存储时间这件事
- c语言中单链表的逆置
- SQL中类型转换函数
- java中实现同步的方法
热门文章
- 台式计算机最常用的IO总线,三总线结构的计算机总线系统由 (1) 组成。
- React.memo 是个啥么鬼?有什么用???
- x86 vt-d在linux中的应用
- nginx 图片服务器性能,Tengine Nginx性能测试
- php生成一个500错误_Hyperf 发布 v2.0.1 版本 | 企业级的 PHP 微服务云原生协程框架...
- MFC基于 单文档为状态栏添加进度条
- 一个DirectInput演示程序
- MySQL数据库学习资料(六)
- 兄弟连视频教程下载地址汇总-2014
- SQL Server 2005 在64位win7操作系统下的安装及问题总结