Keepalived使用
利用keepalived软件,实现对nginx负载均衡服务器的高可用,即实现故障自动切换。下面介绍keepalived的安装和使用。
LB_1 : 172.16.2.130 (Nginx负载均衡服务器群1)
LB_2 : 172.16.2.123 (Nginx负载均衡服务器群2)
VIP : 172.16.2.122 (虚拟IP)
keepalived安装
yum install openssl-devel cd /usr/local/soft wget http://www.keepalived.org/software/keepalived-1.2.8.tar.gz tar xzf keepalived-1.2.8.tar.gz cd keepalived-1.2.8 ./configure --prefix=/usr/local/app/keepalived --sysconf=/etc make && make install chmod a+x /etc/init.d/keepalived chkconfig --add keepalived chkconfig keepalived on ln -s /usr/local/sbin/keepalived /usr/sbin/
keepalived的配置
更详细的keepalived配置文件说明可以执行man keepalived.conf查看。
我们假设主服务器IP:172.16.2.130,从服务器ip:172.16.2.123 虚拟ip:172.16.2.122
下面对主服务器的keepalived进行配置:
! Configuration File for keepalived global_defs { notification_email { 275553385@qq.com } notification_email_from keepalived@domain.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node1 } vrrp_script chk_http_port { script "/opt/nginx_pid.sh" interval 2 weight 2 } vrrp_instance VI_1 { state MASTER ############ 辅机为 BACKUP interface eth0 virtual_router_id 51 mcast_src_ip 172.16.2.123 priority 240 ########### 权值要比 back 高 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port ### 执行监控的服务 } virtual_ipaddress { 172.16.2.122 } }
从服务器:
! Configuration File for keepalived global_defs { notification_email { admin@centos.bz } notification_email_from keepalived@domain.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_http_port { script "/opt/nginx_pid.sh" interval 2 weight 2 } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 mcast_src_ip 172.16.2.130 priority 101 ##########权值 要比 master 低。。 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port ### 执行监控的服务 } virtual_ipaddress { 172.16.2.122 } }
之后分别在主从负载均衡服务器建立nginx的监控脚本:
vim /opt/nginx_pid.sh
#!/bin/bash A=`ps -C nginx --no-header |wc -l` if [ $A -eq 0 ];then /usr/local/app/nginx/sbin/nginx sleep 3 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then killall keepalived fi fi
然后分别启动主从服务器的keepalived:
service keepalived start
测试:
keepalived的测试
我们在主服务器上执行命令ip a,显示如下:
- eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
- link/ether 00:0c:29:aa:a1:e4 brd ff:ff:ff:ff:ff:ff
- inet 172.16.2.123/22 brd 172.16.3.255scope global eth0
- inet 172.16.2.122/32 scope global eth0
证明主服务器已经绑定了虚拟ip 172.16.2.122
在从服务器上执行命令ip a,显示如下:
- 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
- link/ether 00:0c:29:2b:94:3b brd ff:ff:ff:ff:ff:ff
- inet 172.16.2.130/22 brd 172.16.3.255 scope global eth0
显示表明从服务器上没有绑定vip 172.16.2.122,只有本机真实ip172.16.2.130
下面我们停止主服务器的keepalived进程,再看看ip绑定情况:
主服务器的情况:
- eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
- link/ether 00:0c:29:aa:a1:e4 brd ff:ff:ff:ff:ff:ff
- inet 172.16.2.123/22 brd 172.16.3.255scope global eth0
从服务器的情况:
- 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
- link/ether 00:0c:29:2b:94:3b brd ff:ff:ff:ff:ff:ff
- inet 172.16.2.130/22 brd 172.16.3.255 scope global eth0
- inet 172.16.2.122/32 scope global eth0
由此可见vip 172.16.2.122已经指向了从服务器。
相关推荐
KeepAlived 使用详解 KeepAlived 是一个路由软件,可以工作在 IP/TCP 协议栈的 IP 层,TCP 层,及应用层,来检查机器的可用性,端口的可用性,以及服务的可用性。它可以在 Layer3、Layer4、Layer5 三个层次上工作。...
Keepalived使用VRRP协议来管理虚拟IP地址,当主服务器出现故障时,备用服务器会接管这个VIP。例如: ``` vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int ...
3. 安装完成后,可以通过`systemctl start keepalived`启动keepalived服务,并使用`systemctl enable keepalived`设置开机启动。 4. 配置keepalived。配置文件通常位于`/etc/keepalived/keepalived.conf`,需要根据...
解压后,使用`yum install`命令安装必要的依赖,如openssl和openssl-devel。然后,进行编译和安装,确保安装路径为非默认路径,例如/usr/local/keepalived。 安装完成后,需要将Keepalived设置为系统服务。创建相应...
第一步: 下载keepalived地址:http://www.keepalived.org/download.html 解压安装: tar -zxvf keepalived-1.2.18.tar....cd keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived make && make install
1.1 **前言**:文档旨在提供一个完整的Keepalived使用手册,结合理论与实践,逐步引导读者进行配置和实施。 1.2 **KEEPALIVED简介**:Keepalived是为LVS设计的一个辅助工具,它负责监控和管理LVS的负载均衡器,确保...
* 可靠性高:Keepalived使用VRRP协议来实现高可用,VRRP协议可以确保服务器的可靠性。 *易于使用:Keepalived的配置文件简单易懂,易于使用和维护。 Keepalived的缺点: * 需要专门的服务器:Keepalived需要专门的...
nginx+keepalived使用文档.nginx+keepalived使用文档.
在keepalived和heartbeat、corosync等集群组件中,keepalived使用VRRP协议方式,实现路由器的高可用性,而heartbeat和corosync则是基于主机或网络服务的高可用方式。因此,keepalived通常用于实现前端高可用,而...
使用tar zxvf命令解压keepalived-1.2.2.tar.gz文件,然后使用./configure、make和make install命令安装keepalived。 6. 配置keepalived 使用vi命令编辑keepalived.conf文件,配置keepalived的基本设置,包括...
在 CentOS 7.4 上使用 Keepalived 1.4.3 版本,可以确保网络服务的不间断运行,提高系统的稳定性和可靠性。以下是关于 Keepalived 的核心知识点和在 CentOS 7.4 上的详细配置步骤: 1. **VRRP 协议** - VRRP 是一...
2. **VRRP协议**:Keepalived使用Virtual Router Redundancy Protocol (VRRP)来实现虚拟IP的管理和切换。在Redis集群中,主节点和从节点共享一个虚拟IP,客户端通过这个IP与Redis服务通信。 3. **健康检查**:...
Keepalived使用VRRP可以轻松实现IP地址的故障转移,从而在主路由器不可用时,自动将流量切换到备用路由器。 在Keepalived中,可以设置MASTER和BACKUP两个角色。MASTER是活动的路由器,它负责响应请求并转发数据包;...
3. **VRRP协议**:Keepalived使用Virtual Router Redundancy Protocol (VRRP) 协议,来管理虚拟IP和心跳检测。 **Redis哨兵+Keepalived结合** 将Redis Sentinel与Keepalived结合,可以进一步提高系统的可用性和...
在`nginx+keepalived使用文档.doc`中,应包含了详细的步骤和示例,指导用户如何配置Nginx和Keepalived,如何测试和验证高可用性的实现,以及在实际环境中可能遇到的问题和解决方法。 总的来说,通过深入学习和实践...
这里我们主要探讨的是如何使用Amoeba与MySQL实现读写分离,以及如何利用Keepalived来构建MySQL的高可用集群。这两部分内容对于保障数据库服务的稳定性和效率至关重要。 **Amoeba+MySQL 读写分离** Amoeba 是一个...
1.4 配置管理:Keepalived使用简单易懂的配置文件,使得管理和维护高可用环境变得更加便捷。 二、Keepalived的工作原理 2.1 VRRP的工作流程:Keepalived通过VRRP协议将多台路由器组织成一组,每台路由器都有一个...
1. **libnl**: Netlink库,用于内核和用户空间之间的通信,Keepalived使用它来处理网络配置和状态。 2. **libnl-route**: 这是libnl的一个子模块,专注于路由和网络层功能,对于处理VRRP协议至关重要。 3. **...