当前位置: 首页 > news >正文

Linux下部署Keepalived

测试环境:两台服务器,linux版本:Ubuntu 20.04.3;

介绍

        Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生;Keepalived可以将多台服务器通过虚拟IP方式,对外提供同一个IP地址,这样,当其中某台服务器发生故障后,访问可转移到其它正常的服务器。

安装步骤

配置Master服务器

选择其中一台作为主服务器,进行以下操作:

1.更新源,下载Keepalived;服务器执行:

sudo apt-get update
sudo apt-get upgrade -- 如果安装不成功,再来执行升级
sudo apt-get install keepalived

2.安装成功后,进入到keepalived目录;

cd /etc/keepalived/
vi keepalived.conf

3.keepalived.conf输入以下内容:

global_defs {router_id LVS_MASTER  # 唯一标识,主备节点需不同(如 LVS_BACKUP)
}vrrp_instance VI_1 {state MASTER          # 主节点为 MASTER,备节点为 BACKUPinterface eth0        # 监听的网卡名称(使用 `ip a` 查看实际网卡)virtual_router_id 66  # 虚拟路由器 ID,主备节点需相同(范围 1-255)priority 100          # 优先级(主节点 > 备节点,如备节点设为 90)advert_int 1          # 心跳检查间隔(秒)authentication {auth_type PASS    # 认证类型auth_pass 123456  # 认证密码(主备节点需相同)}virtual_ipaddress {192.168.1.100/24  # 虚拟 IP 地址(VIP),需与物理网卡同子网}
}

注意:

选择的virtual_ipaddress填写一个本地局域网没有使用的,不要和其它ip相同,造成ip地址冲突。

4.启动服务:

sudo systemctl start keepalived
sudo systemctl enable keepalived

5.检查服务状态:

sudo systemctl status keepalived

如果输出以下内容,则表明keepalived服务启动成功(Active:active):

配置Slave服务器

剩下的一台服务器中作为从服务器,操作步骤与配置主服务器完全相同,只是keepalived.conf文件的内容替换为如下所示:

global_defs {router_id LVS_BACKUP  # 备用节点
}vrrp_instance VI_1 {state BACKUP          # 主节点为 MASTER,备节点为 BACKUPinterface eth0        # 监听的网卡名称(使用 `ip a` 查看实际网卡)virtual_router_id 66  # 虚拟路由器 ID,主备节点需相同(范围 1-255)priority 90           # 优先级(主节点 > 备节点,如备节点设为 90)advert_int 1          # 心跳检查间隔(秒)authentication {auth_type PASS    # 认证类型auth_pass 123456  # 认证密码(主备节点需相同)}virtual_ipaddress {192.168.1.100/24  # 虚拟 IP 地址(VIP),需与物理网卡同子网}
}

这样,两台keepalived服务器就配置好了。用本机电脑ping分配的虚拟ip地址:192.168.1.100,能够ping通,这个时候,把主节点服务器关机,可以看到,ping中断了1秒中左右,又会恢复,这是keepalived将访问服务路由到备用服务器上了。

另外,两台服务器的防火墙建议关闭。或者防火墙设置可能需要调整以允许VRRP流量通过;如下所示:

sudo ufw allow from any to any port 112 port 112 proto vrrp comment 'Allow VRRP traffic'

相关文章:

  • 代理服务器
  • DBeaver查询PostgreSQL的只读模式
  • vue实现半圆转盘旋转(门户网页上)
  • 基于Stable Diffusion XL模型进行文本生成图像的训练
  • 旧版 Flutter 写的项目, 想要在新的环境上运行?
  • ARM 芯片上移植 Ubuntu 操作系统详细步骤
  • 【HarmonyOS 5】鸿蒙中进度条的使用详解
  • HarmonyOS-hdc远程网络方式连接设备
  • 奥威BI:AI+BI深度融合,重塑智能AI数据分析新标杆
  • SpringBoot使用定时线程池ScheduledThreadPoolExecutor
  • Android MVC架构的现代化改造:构建清晰单向数据流
  • Rspack:字节跳动自研 Web 构建工具-基于 Rust打造高性能前端工具链
  • python编译exe执行时报错:OSError:[WinError6]句柄无效
  • 代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
  • HTTP学习
  • CSS: 选择器与三大特性
  • Abaqus学习笔记
  • 【纯干货~~】Vue 组件封装通用方法论
  • 2025年3月,​韩先超对国网宁夏进行Python线下培训
  • Android Firebase登录和存储用户数据方案
  • 全国人大常委会启动食品安全法执法检查
  • 纪念|古文字学泰斗裘锡圭:“还有很多事情要做”
  • 印度杰纳布河上游两座水电站均已重新开闸
  • 抗战回望21︱《“良民”日记》:一个“良民”在沦陷区的见闻与感受
  • 观察|印巴交火开始升级,是否会升级为第四次印巴战争?
  • 特朗普称美军舰商船应免费通行苏伊士运河,外交部:反对任何霸凌言行