网站首页 > 技术教程 正文
简介:
Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived可以用来防止服务器单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,通过配合Nginx可以实现web前端服务的高可用。
keepalived 以 VRRP(Virtual Router Redundancy Protocol虚拟路由冗余协议) 协议为实现基础,Keepalived就是巧用VRRP协议来实现高可用性(HA)的.
VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话就是MASTER,或者是通过算法选举产生,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能。
VRRP协议使用多播数据来传输VRRP数据,VRRP数据使用特殊的虚拟源MAC地址发送数据而不是自身网卡的MAC地址,VRRP运行时只有MASTER路由器定时发送VRRP通告信息,表示MASTER工作正常以及虚拟路由器IP(组),BACKUP只接收VRRP数据,不发送数据,如果一定时间内没有接收到MASTER的通告信息,各BACKUP将宣告自己成为MASTER,发送通告信息,重新进行MASTER选举状态。
实验环境:
系统版本:Centos-7.2、
VIP
192.168.0.66
主机IP
192.168.1.100
192.168.1.110
1, 配置本地yum源,方便安装依赖包
挂载光盘
mount /dev/cdrom /mnt/cdrom
2,编辑yum配置文件
vi /etc/yum.repos.d/cdrom.repo
写入:
[cdrom] name=cdrom baseurl=file:///mnt/cdrom gpgcheck=0 enabled=1
3,刷新yum缓存
yum makecache
4,安装nginx依赖包
yum –y install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel
5,nginx官网下载源包
http://nginx.org/download/nginx-1.15.9.tar.gz
6,安装nginx
在两台机器上都安装,执行如下命令
mv nginx-1.15.9.tar.gz /usr/local/src/ tar –zxvf nginx-1.15.9.tar.gz cd nginx-1.15.9 ./configure –prefix=/usr/loal/nginx
7,配置nginx
vi /usr/local/nginx/html/index.html
如下图:
8,关闭防火墙,两台都做
9,设置环境变量
PATH=$PATH:/usr/local/nginx/sbin/
10,测试nginx是否安装配置正确
11.启动nginx
12,分别访问两台nginx
13,下载安装keepalived
http://www.keepalived.org/software/keepalived-2.0.13.tar.gz
安装过程:
mv keepalived-2.0.13.tar.gz /usr/local/src/ tar –zxvf keepalived-2.0.13.tar.gz cd keepalived-2.0.13 ./configure –prefix=/usr/local/keepalived make && make install
14,keepalived设置为开机自启动
mv /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf mv /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived vi /etc/keepalived/keepalived.conf
字段解释:
vrrp_script check_nginx //检查nginx状态脚本 { //这个“{”要换行写,不然脚本不生效(踩过的坑) script "/scripts/check_nginx.sh" //脚本位置 interval 5 //执行脚本时间间隔,单位秒 } vrrp_instance VI_1 { //实例名 state MASTER //标记该节点是主节点还是备节点 interface eth1 //配置VIP绑定的网卡 virtual_router_id 66 //取1-255之间的数值,主备需要相同 priority 100 //权重,数值高的是Master,这是主备的关键参数 advert_int 1 //主备之间通信的间隔 authentication { auth_type PASS //主备之间进行安全验证的方式,主备需一致 auth_pass 6666 } virtual_ipaddress { //VIP,可以写多个 192.168.1.66 } track_script { //调用脚本 check_nginx } }
脚本参考
vi /scripts/check_nginx.sh #!/bin/bash A=`ps -C nginx --no-headers | wc -l` if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx sleep 5 B=`ps -C nginx --no-headers | wc -l` if [ $B -eq 0 ];then killall keepalived fi fi
15,实验结果
为了能触发VIP飘到备机上,我把脚本注释掉一部分
在node_1上
访问192.168.1.66,此时访问的是node_1
手动kill掉nginx进程
在节点2上,可以看到VIP已经飘过来了
访问192.168.1.66,此时访问的是node_2
希望大家一起批评指正,或者分享工作中遇到的一些坑,互相学习。
附keepalived官方文档和参考资料
http://www.keepalived.org/manpage.html
http://www.linuxe.cn/post-266.html
https://blog.csdn.net/death_kada/article/details/49635729
猜你喜欢
- 2024-10-14 使用keepalived监控tomcat 达到双机热备
- 2024-10-14 keepalived的安装(keepalived安装配置)
- 2024-10-14 15分钟学会nginx+tomcat+keepalived高可用负载均衡
- 2024-10-14 搭建环境tomcat+nginx+keepalived+zabbix
- 2024-10-14 K8s 通过 keepalive+nginx 实现 nginx-ingress-controller 高可用
- 2024-10-14 流量红利下怎么用双机搭建高可用与负载均衡——(上)
- 2024-10-14 快速入门-Keepalived+Nginx-HA高可用-不啰嗦-直接上-边实践边学
- 2024-10-14 Keepalived + Nginx 实现高可用 Web 负载均衡
- 2024-10-14 Keepalived+Nginx架构配置(keepalived nginx配置)
- 2024-10-14 Nginx双机主备(Keepalived实现)(nginx双机负载均衡配置)
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)