在Ubuntu 16.04上使用Keepalived使用专用网络实现高可用性

・4 分钟阅读

前提条件

准备系统

首先启用每个VPS上的专用网络,

将系统作为sudo用户登录,并更新系统及它软件包:


apt-get update && apt-get upgrade 

完成后我们就可以开始安装和配置Keepalived了。

安装Keepalived

既然每个系统都是最新的,并且拥有私有IP,你可以在这两个系统上安装Keepalived。


apt-get install keepalived

这将安装高可用性守护进程,Keepalived是一个基于虚拟路由器冗余协议VRRP提供高可用性和负载平衡功能的程序。

主服务器

在主服务器上编辑保留的配置文件。


nano /etc/keepalived/keepalived.conf

virtual_ipaddress是我们在服务器之间浮动的IP ,这个priority定义了谁将拥有,我们将使用200的优先级,我们将使用10.99.0.200作为我们的浮动虚拟IP 。


vrrp_instance VI_1 {
 state MASTER
 interface ens7
 virtual_router_id 51
 priority 200
 advert_int 1
 authentication {
 auth_type PASS
 auth_pass thisismysupersecretpassword
 }
 virtual_ipaddress {
 10.99.0.200
 }
}

备份服务器

在备份服务器上编辑Keepalived配置文件。


nano /etc/keepalived/keepalived.conf

这里我们将像在主服务器上一样定义virtual_ipaddress ,这里的区别是这个服务器的优先级较低,因此它只在主机没有联机时声明IP 。


vrrp_instance VI_1 {
 state BACKUP
 interface ens7
 virtual_router_id 51
 priority 100
 advert_int 1
 authentication {
 auth_type PASS
 auth_pass thisismysupersecretpassword
 }
 virtual_ipaddress {
 10.99.0.200
 }
}

使用和测试

配置完两个保留服务后,启动每个服务,并且在引导时启用它。


systemctl start keepalived
systemctl enable keepalived

在第三个服务器(或在备份服务器上)上,通过ping我们的共享IP来启动:

 
ping 10.99.0.200

 

现在重新启动主服务器,并且观察到IP已经移动到备份服务器。


64 bytes from 10.99.0.200: icmp_seq=80 ttl=64 time=0.384 ms
64 bytes from 10.99.0.200: icmp_seq=81 ttl=64 time=1.33 ms <<< failover has happened
64 bytes from 10.99.0.200: icmp_seq=82 ttl=64 time=0.388 ms
64 bytes from 10.99.0.200: icmp_seq=83 ttl=64 time=0.339 ms
64 bytes from 10.99.0.200: icmp_seq=84 ttl=64 time=0.570 ms

结束语

Keepalived可以工作了,并可以用于高可用性架构设计。

Anne655 profile image