设为首页 加入收藏

TOP

Keepalived高可用集群部署(一)
2023-07-23 13:43:33 】 浏览:154
Tags:Keepalived 高可用

KeepAlived



KeepAlived安装

1.yum源安装

yum install keepalived

2.官网源码包编译

KeepAlived官网提供可编译源码包,可直接下载。
官网地址:

https://www.keepalived.org/

Keepalived官网

官网提供的软件包,解压编译安装即可。


KeepAlived部署

高可用实现支持多种集群配置模式:主备模式,主主模式,N+1模式,N+M模式;另外支持资源及节点故障检测。

准备工作

  1. 硬件准备

要实现KeepAlived的多种模式,因此这里准备了4台虚拟机进行测试,设备IP分别为:

192.168.25.23
192.168.25.24
192.168.25.25
192.168.25.26
  1. 软件准备

本次高可用实现以nginx进行效果展示,nginx未进行任何配置,仅修改了对应index.html文件以展示对应情况的高可用实现效果。

  • nginx准备

系统可通过软件仓库安装nginx:
yum install nginx -y

启动nginx:
nginx

系统默认安装并启动了ApacheHttp服务,因此需要关闭httpd服务:
    systemctl stop httpd
    systemctl disable httpd
如果仍旧不能正常访问nginx主页,需要添加防火墙规则或关闭防火墙。
此处为方便后续操作且非为测试环境,所以关闭防火墙,如在生产环境,请添加防火墙规则:
    systemctl stop firewalld
    systemctl disable firewalld

分别在各个测试机中启动nginx后,测试页面是否正常显示,如出现以下页面即为正常:

nginx主页

为了方便辨别实现效果,此处修改nginx的主页。

nginx主页的位置为:
/usr/share/nginx/html/index.html

编辑index.html:
vim /usr/share/nginx/html/index.html

在86行下添加内容:
<h2><strong>The IP is 192.168.25.**</strong></h2>
IP地址根据实际情况进行修改,效果如下:
nginx修改主页

添加nginx默认启动:
systemctl enable nginx

至此,nginx准备完毕。

  • keepalivd准备

软件仓库安装keepalived,分别在测试机上执行:
yum install keepalived -y

确认安装情况,执行脚本:
keepalived -v
输出内容如下:
keepalived版本

查询对应的配置文件:
rpm -ql keepalived
相关内容如下:
keepalived相关文件

文件说明:

/etc/keepalived                             -主目录
/etc/keepalived/keepalived.conf             -配置文件
/etc/sysconfig/keepalived                   -系统配置文件
/usr/lib/systemd/system/keepalived.service  -系统服务
/usr/libexec/keepalived                     -库目录
/usr/sbin/keepalived                        -系统命令

Keepalived主要通过修改/etc/keepalived/keepalived.conf配置文件进行配置高可用集群。


主备模式

节点配置

此模式下使用两台虚拟机和一个虚拟IP进行:
主节点192.168.25.23
备节点192.168.25.24
虚拟IP192.168.25.10

  1. 主节点(192.168.25.23)配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV23
}

vrrp_instance VI_1 {
    state MASTER
    interface enp1s0
    virtual_router_id 86
    priority 200
    unicast_src_ip 192.168.25.23
    unicast_peer {
    192.168.25.24
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}
  1. 备节点(192.168.25.24)配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV24
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp1s0
    virtual_router_id 86
    priority 20
    unicast_src_ip 192.168.25.24
    unicast_peer {
    192.168.25.23
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}

验证

正常状态

  1. 浏览器访问虚拟IP:192.168.25.10
  2. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为主节点提供服务。
    主备正常

故障

  1. 停止主节点keepalived服务,主节点执行;
    systemctl stop keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.24,当前由于主节点故障,备用节点启用,接管VIP流量。
    主备故障

故障恢复

  1. 重新启动主节点keepalived服务;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.23,主节点恢复,接管VIP流量。
    主备恢复

1+N(一主多备)模式

节点配置

此模式下使用三台虚拟机(备用节点)进行:
主节点192.168.25.23
备节点1192.168.25.24
备节点2192.168.25.25
虚拟IP192.168.25.10

  1. 主节点(192.168.25.23)配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV23
}

vrrp_instance VI_1 {
    state MASTER
    interface enp1s0
    virtual_
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇nginx编译安装以及常用参数详解 下一篇主题 1 The Shell

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目