Centos7离线安装和配置Keepalived
近期,项目中用户对服务的高可用有需求,所以就接触到了Keepalived。刚听到这玩意,我还嗤之以鼻,我和同事说对外提供服务的物理机挂掉,你再怎么HA也没用啊,除非提供多个IP,或者通过前置路由来解决问题。
结果现实很打脸,Keepalived用到虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)完美的实现了HA。
工作原理先不写了,网上一搜很多,直接上离线安装的流程:
1、先下个源码:
链接:https://pan.baidu.com/s/1VyzPjd0HichRczgkGREUwg
提取码:7g70
2、编译安装zlib、openssl
源码包拷贝到/usr/local/src/目录下,
(1)先解压编译安装zlibtar xvf zlib-1.2.8.tar.gz
cd /usr/local/src/zlib-1.2.8构建静态库
.../zlib-1.2.8]# ./configure
.../zlib-1.2.8]# make test
.../zlib-1.2.8]# make install构建共享库
.../zlib-1.2.8]# make clean
.../zlib-1.2.8]# ./configure --shared
.../zlib-1.2.8]# make test
.../zlib-1.2.8]# make install
.../zlib-1.2.8]# cp zutil.h /usr/local/include
.../zlib-1.2.8]# cp zutil.c /usr/local/include
完成(2)再解压编译安装openssltar xvf openssl-1.1.0j.tar.gz
cd /usr/local/src/openssl-1.1.0j编译安装
.../openssl-1.1.0j]# ./config shared zlib
.../openssl-1.1.0j]# make depend
.../openssl-1.1.0j]# make && make install
.../openssl-1.1.0j]# ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
.../openssl-1.1.0j]# ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
3、依赖组件安装完成后,开始安装Keepalived
tar xvf keepalived-2.1.0.tar.gz
cd keepalived-2.1.0[root@master keepalived-2.1.0]# ./configure --prefix=/usr/local/keepalived
[root@master keepalived-2.1.0]# make && make install完成后会在以下路径生成:
/usr/local/etc/keepalived/keepalived.conf
/usr/local/etc/sysconfig/keepalived
/usr/local/sbin/keepalived
4、配置启动Keepalived
# keepalived启动脚本变量引用文件,默认文件路径是/etc/sysconfig/,也可以不做软链接,直接修改启动脚本中文件路径即可(安装目录下)
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived # 将keepalived主程序加入到环境变量(安装目录下)
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/keepalived# keepalived启动脚本(源码目录下),放到/etc/init.d/目录下就可以使用service命令便捷调用
cp /usr/local/src/keepalived-2.1.0/keepalived/etc/init.d/keepalived /etc/init.d/keepalived# 将配置文件放到默认路径下
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf加为系统服务:chkconfig --add keepalived
开机启动:chkconfig keepalived on
启动、关闭、重启
systemctl start keepalived
systemctl stop keepalived
systemctl restart keepalived配置启动keepalived
修改默认配置文件/etc/keepalived/keepalived.conf
A节点(需要注意的是,eth0 这个的网卡名称一定别弄错了,要弄成自己的。可以使用 ip a 命令查看)
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from root@localhostsmtp_server localhostsmtp_connect_timeout 30router_id NodeA
}vrrp_instance VI_1 {state BACKUP #指定A节点为主节点 备用节点上设置为BACKUP即可 interface em1 #绑定虚拟IP的网络接口 virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组 priority 100 #主节点的优先级(1-254之间),备用节点必须比主节点优先级低 advert_int 1 #组播信息发送间隔,两个节点设置必须一样 authentication { #设置验证信息,两个节点必须一致 auth_type PASSauth_pass 1111}virtual_ipaddress { #指定虚拟IP, 两个节点设置必须一样 192.168.1.100}
}
B节点只需要修改三个地方:
router_id NodeB
state BACKUP
priority 99
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from root@localhostsmtp_server localhostsmtp_connect_timeout 30router_id NodeB
}vrrp_instance VI_1 { state BACKUPinterface em1virtual_router_id 51priority 99advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.1.100}
}
配置完成后,在A节点和B节点启动Keepalived就可以,
systemctl start keepalived
然后,可以通过查看服务状态来确定是否启动成功:
systemctl status keepalived
A节点作为主节点启动后,会在上面命令行查看状态中显示已绑定的虚拟IP的地址(也可以通过ip a命令查看虚拟ip是否绑定到网卡来确定);
B节点作为备用节点启动后,会在上面命令行查看状态中显示BACKUP节点初始化成功。
此时就可以通过虚拟IP来实现HA了,此时如果A节点挂掉,虚拟IP地址192.168.1.100会自动绑定到B节点的网卡上,可以通过 ip a命令查看。
(有搞不明白的可以留言沟通,觉得有帮助的可否一个个小小的赞 ^_^)
Centos7离线安装和配置Keepalived相关推荐
- RHEL7/CentOS7在线和离线安装GitLab配置使用实践
前言 GitLab Community Edition 新版本已经集成了CI/CD的支持,从某种程度上来说可以告别对于Jenkins的依赖,我本来计划是写基于Docker部署GitLab但感觉还是有点 ...
- centos7离线安装ansible
centos7离线安装ansible: 1.通过在线的centos7将rpm包下载好了,上传到指定服务器. 下载官方repo,rpm -iUvh http://dl.Fedoraproject.org ...
- CentOS7 离线安装 ZABBIX 5.0
小伙伴可能遇到了在公司内网环境下无法访问外网情况,无法访问外网yum源部署ZABBIX 对于rpm包依赖问题比较头疼.本文将会进行离线部署实战. 离线安装所需依赖的rpm包.这个包怎么下载呢?依赖的包 ...
- centos7离线安装mysql_CentOS7离线安装MySQL的教程详解
1.删除原有的mariadb,不然mysql装不进去 mariadb-libs-5.5.52-1.el7.x86_64 rpm -qa|grep mariadb rpm -e --nodeps mar ...
- 2020.9.16工作问题记录————CentOS6离线安装nginx和keepalived
工作问题记录----CentOS6离线安装nginx和keepalived 1.下载 nginx 和 keepalived 安装包并传入虚拟机: nginx 下载地址:http://nginx.org ...
- centos7中安装、配置、验证、卸载redis
本文介绍在centos7中安装.配置.验证.卸载redis等操作,以及在使用redis中的一些注意事项. 一 安装redis 1 创建redis的安装目录 利用以下命令,切换到/usr/local路径 ...
- XenCenter软件中的Centos7离线安装yum源,不用wget和crul
XenCenter软件中的Centos7离线安装yum源,不用wget和crul 1.去网站http://mirrors.163.com/centos/7/os/x86_64/Packages/下载文 ...
- 记一次 Centos7 yum 安装、配置 PgAdmin4
一.基础信息说明 官网:https://www.pgadmin.org/ 下载:https://www.pgadmin.org/download/pgadmin-4-windows/ 阿里帮助文档:h ...
- nginx--如何基于rpm包进行离线安装及配置(Linux)
[背景说明] 1.很多情况下,公司的生产环境一般都是内网,而大多数的内网Linux环境,一般都是无法直接在线安装nginx等工具的,此时就可以通过rpm安装包进行离线安装及配置. 2.安装nginx一 ...
最新文章
- 学习观察神经网络:可视化整个模型训练中卷积层的激活
- 计算机视觉系统怎样剖析“看到”的一切?
- 仿IOS效果-带弹簧动画的ListView
- 设计Qt风格的C++API
- 给定一个函数做其最佳平方逼近c语言,求函数f(x)在指定区间上对于Φ=span{1,x}最佳平方逼近多项式: (1),[1,3]; (2...
- 速达服务器账套定期维护么,速达软件常见操作问题解决方法
- 多线程“基础篇”11之 生产消费者问题
- 每日小记2017.9.4
- java画图颜色_手绘板,多种颜色选择。我抄的《疯狂java讲义》的,包我乱导的,但代码能用。...
- Windows 10 PC 安装 Docker CE
- Spring Boot Questions- Part 1
- Exchange 2013 MAPI over HTTP
- 如何构建NTP时间服务器
- 服务器×××上的MSDTC不可用解决办法
- html中panel居中显示图片,editorgridpanel
- linux centos7 安装svn,linux centos7安装svn并配置同步更新web项目
- eventscheduler mysql_Mysql 中的事件 事件调度器(Event Scheduler)
- 经验分享:半桥电路的工作原理及注意问题(转载)
- python中关系运算符惰性求值_python对象属性惰性取值
- 什么样的项目适合UI自动化测试
热门文章
- 教你创建virtuemart invoice收据 发票
- 数据链路层 功能 封装成帧 透明传输 字符计数法 字符填充法 零比特填充法 违规编码法 传输中的差错 差错控制 冗余编码 奇偶校验码 CRC循环冗余码 检错过程 细解 图解 通俗易懂
- python 对10个数进行排序
- Docker ~ 从入门到实践
- 技术开发项目收获了什么_惊呼!克州拼拼优米有什么优势
- 双泳道活动图java代码_如何绘制泳道图(跨职能流程图)
- IDEA安装JavaFx
- 某个音乐网站的音乐地址寻找方式
- 微信小程序之from表单提交数据到PHP后台
- matlab如何把纵轴压扁,Matlab基础知识