keepalived安装及使用

编程

两点说明

  1. 本文不讲 keepalived 的工作机制及原理

  2. 个人实验采用的源码安装的方式进行的安装,比较麻烦。

通过 yum 安装会更快,方法如下:

yum install keepalived

启动/关闭/重启/查看状态

systemctl start/stop/restart/status keepalived

编辑配置文件

vi /ect/keepalived/keepalived.conf

因此采用 yum 安装可以直接跳到 第 5 步。

注意:

不管是哪种方式安装,关注点在 配置文件 和 启动脚本的位置。

1. 下载源码包

wget https://www.keepalived.org/software/keepalived-1.2.16.tar.gz

2. 安装

  • mkdir keepalived-1.2.16

  • tar -zxvf keepalived-1.2.16.tar.gz -C keepalived-1.2.16

  • cd keepalived-1.2.16

  • ./configure

如果出现如下错误

configure: error: 

!!! OpenSSL is not properly installed on your system. !!!

!!! Can not include OpenSSL headers files. !!!

解决办法: yum -y install openssl-devel

  • make

  • make install

3. 配置

  • /bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

  • mkdir /etc/keepalived # 复制配置文件

  • /bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived

  • /bin/cp /usr/local/sbin/keepalived /usr/sbin/

4. 启动 和 关闭 keepalived

启动

/etc/init.d/keepalived start

查看进程

ps -ef | grep keepalived

关闭

/etc/init.d/keepalived stop

5. 使用

我采用的 keepalived-1.2.16 版本。版本功能差异,以及配置文件差异不确定。 以下全部基于 1.2.16 版本。

5.1 配置文件

! Configuration File for keepalived

# 暂时没什么用,只需改最后一个字段 router_id

global_defs {

notification_email {

1111@163.com # 收件人配置

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_01

}

# 检测脚本

vrrp_script checkTest

{

# 脚本所在路径

script "/mano/module/checkTest.sh"

interval 3

weight -20

}

# vrrp 实例,可以有多个实例,但是好像有个数限制

# 需要改的地方

# 1. state 主 :MASTER 备 :BACKUP

# 2. virtual_router_id 主备保持一致

# 3. priority 一大一小

# 4. virtual_ipaddress 主备保持一致

vrrp_instance VI_1 {

state MASTER # 服务器状态:主, 如果是备用服务器,改为 BACKUP

interface eth0 # 通信端口

virtual_router_id 51 # 主备需要配置一样

priority 100 # 优先级

advert_int 1 # 心跳间隔

authentication { # 主备服务器间通信的钥匙对

auth_type PASS

auth_pass 1111

}

# 检测脚本配置

track_script

{

checkTest

}

# 虚拟ip,即vip 一个或多个

virtual_ipaddress {

172.16.10.83/24 # 绑在 interface上

# 192.168.200.17

# 192.168.200.18

}

# 通知脚本

notify_master "/path/to/to_master.sh"

notify_backup "/path/to/to_backup.sh"

}

# 以下的配置是为了配置负载均衡的,因为我们用不到,暂时删除了。

5.2 验证是否可用

  1. 分别启动两台机器上的 keepalived

  2. 启动成功后

    在 MASTER 机器上执行,

    ip add | grep 172.16.10.83(配置文件中配置的虚拟ip)

    打印结果:inet 172.16.10.83/24 scope global secondary eth0

    在 BACKUP 机器上执行

    ip add | grep 172.16.10.83(配置文件中配置的虚拟ip)

    打印结果:什么也不输出

  3. 关闭 MASTER 机器上的 keepalived ,执行步骤 2, 结果相反

以上是 keepalived安装及使用 的全部内容, 来源链接: utcz.com/z/511469.html

回到顶部