keepalived安装及使用
两点说明
本文不讲 keepalived 的工作机制及原理
个人实验采用的源码安装的方式进行的安装,比较麻烦。
通过 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 验证是否可用
分别启动两台机器上的 keepalived
启动成功后
在 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)
打印结果:什么也不输出
关闭 MASTER 机器上的 keepalived ,执行步骤 2, 结果相反
以上是 keepalived安装及使用 的全部内容, 来源链接: utcz.com/z/511469.html