前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >keepalive的简单应用

keepalive的简单应用

作者头像
Python研究所
发布2022-06-17 08:54:47
3650
发布2022-06-17 08:54:47
举报
文章被收录于专栏:大飞的部落阁大飞的部落阁

前言

现在,高可用已经是各行各业必须具备的能力里,那么我们怎么去实现高可用呢?keepalived 就是一个很好的选择,它采用 vrrp 虚拟路由冗余协议实现节点和服务的高可用,使用简单,非常适合追求简单轻量的系统。今天我们就一起从一个简单的试验走进 keepalived 的世界。

vip: virtual IP,虚拟 IP 的意思

组网

组网图
组网图

以上,我们在两台虚拟机上分别部署 keepalived 服务,他们通过 vrrp 协议实现路由冗余,默认 vip 运行在 master 节点上,用户通过 vip 就可以访问到后端的 server-1 服务。当 master 节点异常后,keepalivedbackup 节点会自动切换同时将 vipbackup 节点启动,用户通过 vip 可以访问到后端的 server-2 服务。

安装 keepallived

在线

代码语言:javascript
复制
yum install keepalived

离线

下载 keepalived 离线包

代码语言:javascript
复制
# 下载地址
https://www.keepalived.org/download.html
选择合适版本下载
选择合适版本下载

解压安装

代码语言:javascript
复制
tar -zxvf keepalived-2.2.4.tar.gz

cd keepalived-2.2.4

./configure

# 如果缺少依赖请按照提示安装

make && make intall

修改配置

关闭 firewalld

代码语言:javascript
复制
systemctl stop firewalld
systemctl diable firewalld

修改 keepalived 配置

master 节点

vim /etc/keepalived/keepalived.conf

master节点配置
master节点配置

backup 节点

vim /etc/keepalived/keepalived.conf

backup节点
backup节点

参数解释

  • vrrp_strict 意为严格遵循 vrrp 协议,我们平时使用需要将其注释。
  • state 意为当前 keepalived 节点的角色,可选 MASTER、BACKUP
  • priority 意为优先级,通常和 state 配合使用,即 MASTER 的优先级要高于 BACKUP
  • virtual_address 意为虚拟 IP,可以有多个,我们测试和环境就一个,即如图中配置。

启动 keepalived

两个节点分别执行systemctl start keepalived

如何确定主备关系建立成功?

理论上,如果配置正确,keepalived 服务启动成功,那么 MASTER 节点上的 eth0 口上会多出一个 IP,那就是 VIP

master上的vip
master上的vip

master 上 keepalived 的启动日志

master节点的keepalived以MASTER的身份加入
master节点的keepalived以MASTER的身份加入

backup 上的 keepalived 的启动日志

backup节点的keepalived以BACKUP的身份加入
backup节点的keepalived以BACKUP的身份加入

vip 测试

我们通过另外一台虚机,作为客户端对 vip 进行访问测试。

测试前我们先在两台 keepalived 节点上启动一个简易的 web 服务,对请求响应一段字符即可。

客户端测试成功
客户端测试成功

以上截图中的虚机 hostnameserver 并不代表什么意思,以上测试中,server 虚机是充当了客户端的角色,对 vip 进行访问,而且拿到了来自 master 节点的相应。

切换测试

我们将 master 节点的 keepalived 服务停掉。

停掉master
停掉master

查看 backup 的日志

backup切换为master
backup切换为master
backup的vip切换成功
backup的vip切换成功

客户端访问 vip 查看效果

vip访问成功
vip访问成功

至此,关于 keepalived 的介绍结束!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 组网
  • 安装 keepallived
    • 在线
      • 离线
        • 下载 keepalived 离线包
        • 解压安装
    • 修改配置
      • 关闭 firewalld
        • 修改 keepalived 配置
          • master 节点
          • backup 节点
          • 参数解释
        • 启动 keepalived
          • 如何确定主备关系建立成功?
            • master 上 keepalived 的启动日志
            • backup 上的 keepalived 的启动日志
        • vip 测试
          • 切换测试
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档