序言
我开始工作的时候,管理几台跑在小型机上面的Oracle数据库,当时我的同事们总是会把一个词业务ip挂在嘴边。其实那时候我还不很明白什么叫做业务ip,也不明白与这个词相对应的一个词,叫虚拟ip。但是后来随着对业务逐渐的认识吧,知道了这个虚拟ip其实是给应用方使用的,而且可以通过虚拟ip的漂移来实现高可用。
前言
这篇文章其实很简单,就是使用开源软件keepalived来添加一个vip,模拟此过程。
正文
我们准备两台机:
192.168.0.111 app1
192.168.0.112 app2
一个vip:
192.168.0.113
然后,分别给app1和app2安装keepalived,我这里直接用yum安装了,比较快。
yum install -y keepalived
然后,分别修改两台机的/etc/keepalived/keepalived.conf,将其改为:
app1:
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
unicast_src_ip 192.168.0.111
unicast_peer {
192.168.0.112
}
interface eth0
virtual_router_id 51
priority 101
authentication {
auth_type PASS
auth_pass 888888
}
virtual_ipaddress {
192.168.0.113
}
}
app2:
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
unicast_src_ip 192.168.0.112
unicast_peer {
192.168.0.111
}
interface eth0
virtual_router_id 51
priority 100
authentication {
auth_type PASS
auth_pass 888888
}
virtual_ipaddress {
192.168.0.113
}
}
然后,分别启动两台机的keepalived和network服务。
systemctl enable --now keepalived
systemctl restart network
然后就会发现,vip已经出现在app1上。
这时,将app1关机, 然后会发现vip跑去了app2。
再将app1开机,发现vip又回来了。
后记:
配置文件中,需要注意三点:
1. 两台主机的unicast_src_ip为自身ip值,unicast_peer为对方ip值。
2. 备机的priority值需要低于主机的priority值,且不能低太多,最好设置为5以内。
3. 两台主机的vip应该设置为同一ip,且此ip不为其余主机占用,不会产生ip冲突。
小结
本文简单讲了一下keepalived的vip漂移设置方法,当然vip的玩法有很多,也可以对nginx、mysql、zabbix等应用进行vip设置,但是本文做为系列第一篇,就没讲那么多了,以后有空再填坑叭~
About me: 资深大猪蹄子