序言
我开始工作的时候,管理几台跑在小型机上面的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设置,但是本文做为系列第一篇,就没讲那么多了,以后有空再填坑叭~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)