📜  Keepalived 初始化文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:02:29.964000             🧑  作者: Mango

Keepalived 初始化文件 - Shell-Bash

简介

Keepalived 是一个用于实现高可用性的软件,它可以在多个服务器之间同步状态,并在主节点发生故障时自动将其他节点切换为主节点,保证服务的可用性。而初始化文件则是用于配置 Keepalived 的文件,其中包含了节点的配置信息以及各个节点的角色、优先级等信息。

初始化文件语法

初始化文件中采用了 YAML 语法来进行配置,其中包括了以下几种元素:

  1. global_defs:基础配置信息,包括进程 ID 文件、 Keepalived 版本信息等。
  2. vrrp_script:用于配置 VRRP 模块的检测脚本。可以在检查 IP、连接状态等方面进行检测。
  3. vrrp_instance:VRRP 实例的配置信息,包括节点角色、优先级、虚拟 IP 等参数。

下面是一个简单的初始化文件示例:

!DOCTYPE keepalived
global_defs {
    notification_email {
        acassen@firewall.loc
        failover@firewall.loc
        sysadmin@firewall.loc
    }
    notification_email_from Alexandre.Cassen@firewall.loc
    smtp_server 192.168.200.1
    smtp_connect_timeout 30
    router_id LVS_DEVEL
}
vrrp_script check_haproxy {
    script "/usr/local/bin/check_haproxy.sh"
    interval 2
    weight 2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 101
    virtual_ipaddress {
        192.168.1.1
    }
    track_script {
        check_haproxy
    }
}
配置说明

上述示例中,global_defs 中定义了邮件通知相关的配置信息,其中包括通知邮箱、发送者邮箱、SMTP 服务器以及连接超时时间等。vrrp_script 定义了一个脚本,用于在检测 HAProxy 状态时执行。其 interval 参数定义了检测间隔时间,weight 参数表示权重,当脚本执行失败时,将减少对应节点的优先级。

vrrp_instance 则定义了一个 VRRP 实例,包括节点角色、虚拟路由 ID、优先级、虚拟 IP 等参数。其中,state 参数定义了该节点的状态(MASTER 或 BACKUP),interface 参数定义了该节点使用的网络接口,virtual_router_id 参数定义了虚拟路由 ID,用于唯一标识一个 VRRP 实例。virtual_ipaddress 参数则定义了该节点使用的虚拟 IP 地址,可以包含多个 IP 地址。

结束语

以上是 Keepalived 初始化文件的介绍,可以通过该文件来配置 Keepalived 的各个节点相关信息,保证服务的可用性。在使用时,需要注意正确配置参数,以确保 Keepalived 能够正常工作。