首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用keepalived实现双机热备

安装keepalived需要的依赖包

#yum install openssl-devel

#yum install popt-devel

#yum install ipvsadm

#yum install libnl*

#yum install -y libnfnetlink-devel

安装keepalived

方法1.源码安装:

通过ftp上传keepalived-2.0.4.tar.gz

#tar zxvf keepalived-2.0.4.tar.gz

#cd keepalived-2.0.4

#./configure --prefix=/usr/local/keepalived

#make && make install

方法2.直接使用yum命来

#yum install keepalived

(ps:如果没有硬性规定文件存放位置,这个比较方便)

(ps:如果担心使用yum命令安装,不知道文件都存放在哪里,可以使用:

#rpm -ql keepalived 去查看下载keepalived所产生的文件位置。)

yum 安装完之后,keepalived的配置文件在/etc/keepalived/keepalived.conf

配置主服务器配置文件

vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

#notification_email {

#}

#smtp_server 192.168.200.1

#smtp_connect_timeout 30

router_id LVS_DEVEL

#vrrp_skip_check_adv_addr

#vrrp_strict

#vrrp_garp_interval 0

#vrrp_gna_interval 0

}

#监控nginx服务是否正常,每两秒检查一次

vrrp_script chk_nginx {

script "/etc/keepalived/check_nginx.sh"#监控nginx脚本代码,见结尾!

interval 2

weight -2

}

vrrp_instance VI_1 {

state MASTER#主机

interface ens192#网段

virtual_router_id 51#和backup一样

priority 100#主机高于备机

advert_int 1#检查服务器状态间隔时间

authentication {

auth_type PASS#和backup一样

auth_pass 1111#和backup一样

}

virtual_ipaddress {

***.***.**.**#虚拟ip(VIP)

}

#当前节点VIP关联到本机ip上,则调用发送邮件的脚本

notify_master "/etc/keepalived/sendmail2.pl"

#启动vrrp_script脚本

track_script {

chk_nginx#监控nginx的脚本名称

}

}

开启服务

#service keepalived start

备机安装

参考主机安装流程

配置备服务器配置文件

vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

#notification_email {

#}

#smtp_server 192.168.200.1

#smtp_connect_timeout 30

router_id LVS_DEVEL

#vrrp_skip_check_adv_addr

#vrrp_strict

#vrrp_garp_interval 0

#vrrp_gna_interval 0

}

vrrp_instance VI_1 {

state BACKUP#主机

interface ens192#网段

virtual_router_id 51#和backup一样

priority 98#主机高于备机

advert_int 1#检查服务器状态间隔时间

authentication {

auth_type PASS#和backup一样

auth_pass 1111#和backup一样

}

virtual_ipaddress {

***.***.**.**#虚拟ip(VIP)

}

#当前节点VIP关联到本机ip上,则调用发送邮件的脚本

notify_master "/etc/keepalived/sendmail2.pl"

}

两台服务器的情况下,备机不需要nginx服务了,所以没安装,因此不需要检测nginx的脚本了。

开启服务

#service keepalived start

此时在主机输入命令:

#ip addr

两个inet 说明已经成功了。

测试的话,可以把主机的keepalived进程停止掉。

#service keepalived stop

然后去备机

#ip addr

就能看到你设定的虚拟IP(vip)就绑定到备机ip上了。

至于,发送邮件的脚本,上一篇已经详细说明过了。大家可以回头看看。

这里其实也算结合了nginx+keepalived实现负载均衡高可用的。

nginx的安装与配置,下期再见!

ps:监控nginx脚本代码

#!/bin/bash

counter=$(ps -C nginx --no-heading|wc -l)

if [ "$" = "0" ];then

cd /etc/keepalived/ && ./sendmail.pl && service keepalived stop

fi

图:

图片我只是加了nginx服务重启并睡眠3秒钟的功能。

如果帮到你,转发让更多人一起交流交流呀!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180705G1F7VE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券