keepalived的安装及使用方法,用keepalived来实现网站的高可用

为了演示keepalived的安装及使用方法,这里我们准备了两台服务器,主服务器192.168.245.128和从服务器192.168.245.129,两台服务器都安装了keepalived,设置vip为192.168.245.222,当主服务器由故障时,vip自动漂移到从服务器上

一、安装keepalived

1.安装所需依赖

yum -y install vim wget gcc make tar openssl openssl-devel libnl libnl-devel libnfnetlink-devel

2.下载keepalived

wget https://www.keepalived.org/software/keepalived-2.2.4.tar.gz

3.解压

tar -zxf keepalived-2.2.4.tar.gz

4.进入解压后的目录

cd keepalived-2.2.4

5.编译

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

6.安装

make && make install

二、keepalived配置

两台服务器都安装了keepalived后,我们分别对两台服务器进行配置

1.修改keepalived配置文件

vim /usr/local/keepalived/etc/keepalived/keepalived.conf

2.主服务器把默认的配置换成下面的配置

state是MASTER代表主服务器,BACKUP代表从服务器,priority是权重,权重高的优先占有vip,主服务器权重设置得比从服务器权重高一点,authentication是验证方式与从服务器保持一致即可,virtual_ipaddress就是vip,下面配置都不用改,只要把vip改成你自己的vip就可以

vrrp_instance VI_1 {
    state MASTER    
    interface ens33
    garp_master_delay 10
    virtual_router_id 51
    priority 100  
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.245.222
    }
}

3.从服务器把默认的配置换成下面的配置

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    garp_master_delay 10
    smtp_alert
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.245.222
    }
}

4.检查配置文件是否正确

执行下面这行命令,如果没有任何输出,说明配置文件没问题

/usr/local/keepalived/sbin/keepalived -t -f /usr/local/keepalived/etc/keepalived/keepalived.conf

5.启动keepalived

/usr/local/keepalived/sbin/keepalived -f /usr/local/keepalived/etc/keepalived/keepalived.conf

6.查看ip地址

ip addr

我们可以看到当前vip:192.168.245.222是在主服务器192.168.245.128上

三、模拟主服务器发生故障

这时候我们把主服务器关机,模拟一下主服务器故障,这个时候我们就会看到vip自动漂移到了从服务器192.168.245.129上

如果主服务器又恢复正常,vip又会自动漂移到主服务器上,这样就实现了高可用。

四、安装nginx,模拟真实网站环境使用keepalived实现高可用

1.安装nginx可以看一下我之前写的这篇文章

centos7如何安装nginx

2.安装好nginx后,启动nginx

/usr/local/nginx/sbin/nginx

3.关闭防火墙

systemctl stop firewalld

4.修改html页面

cd /usr/local/nginx/html
vim index.html

把主服务器的html页面内容改成master,把从服务器的html页面内容改成slave,这样方便区分我们当前访问的是哪台服务器。

5.访问vip

我们可以看到,通过vip访问,我们访问到的是主服务器

6.模拟主服务器故障

我们把主服务器关机,模拟主服务器故障,刷新一下页面,、我们会发现这时候访问的是从服务器

以上就是keepalived的安装及使用方法,对网站可用性要求比较高的可以使用keepalived来实现高可用。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: