阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Keepalived 实现双机热备

198次阅读
没有评论

共计 2436 个字符,预计需要花费 7 分钟才能阅读完成。

原理

首先有一个虚拟 ip 暴露给客户端,虚拟 ip 对应的 mac 地址为一台真实服务器,即用户向虚拟 ip 发送一个请求,该请求会被分发到真实服务器上。

现在有 2 台真实服务器,一台 master,一台 backup,master 和 backup 上都运行着 keepalived,当 master 挂了的时候,backup 检测之后,自己成为 master, 且 arp 缓存虚拟 ip 对应的 mac 地址将变为 backup 的 mac 地址,这样请求虚拟 ip 的报文会被发送到 backup

架构图如下:

Keepalived 实现双机热备

安装

主机:192.168.1.227

备机:192.168.1.246

虚拟 ip:192.168.1.99

安装命令:

wget http://www.keepalived.org/software/keepalived-1.2.13.tar.gz
tar -zxvf keepalived-1.2.13.tar.gz
cd keepalived-1.2.13
./configure –disable-fwmark –prefix=/usr/local/keepalived
make && make install

整理:

mkdir /etc/keepalived/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/

配置:

vi /etc/keepalived/keepalived.conf

Master

 

! Configuration File for keepalived

global_defs {
  notification_email {
    acassen@firewall.loc
    failover@firewall.loc
    sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.99
    }
}

 

Backup 和 master 一样,只要修改如下地方:

 

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99 # 这里改为 99,master 优先级是 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.99
    }
}

 

管理命令:

 

停止
service keepalived stop
启动
service keepalived start
重启
service keepalived restart
查看状态
service keepalived status

 

测试

在本机上查看虚拟 ip 状态

ip add

Keepalived 实现双机热备

 

在同一网段的其他机器上查询 arp 缓存

arp -a

Keepalived 实现双机热备

这里的 1.99 对应的 mac 地址是 1.227

停掉 master 的 keepalived

service keepalived stop

在同一网段的其他机器上查询 arp 缓存

arp –a

Keepalived 实现双机热备

发现 1.99 的 mac 地址已经变为 slave 的 mac 地址

那么主备双机热备就完成了

总结:本篇文章实现的功能

1.master 主机挂了,或者 master 上 keepalived 挂了之后,可以切换到 slave

2.master 的网络不通的时候,可以立即切换到 slave,但是如果只是 master 上的应用出现问题的时候,是不会主动切换的,这个要通过编写脚本来监控应用出问题,这个问题后续再讨论吧。

CentOS 6.3 下 Haproxy+Keepalived+Apache 配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm

Haproxy + KeepAlived 实现 WEB 群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm

Keepalived+Haproxy 配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm

Haproxy+Keepalived 构建高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/55880.htm

CentOS 7 上配置 LVS + Keepalived + ipvsadm http://www.linuxidc.com/Linux/2014-11/109237.htm

Keepalived 高可用集群搭建 http://www.linuxidc.com/Linux/2014-09/106965.htm

Keepalived 的详细介绍:请点这里
Keepalived 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/116231.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2436字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中