前言
由于系统需要高可用模式,需要做虚拟ip映射,采用keepalived方案实现。具体理论学习内容可自行百度,本次以实操为主。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Keepalive两种模式
抢占式、非抢占式
二、使用步骤
1.安装
使用yum安装(本次使用)
1、安装
yum install -y keepalived
2、查看版本
rpm -qa|grep keepalived
3、查看安装后目录
rpm -qc keepalived
使用源码包安装(我没研究,自行百度吧,提供个官网地址)
官网地址:下载地址
2.配置
抢占式
安装成功后 复制下方脚本至服务器 执行即可
master配置
cat > /etc/keepalived/keepalived.conf <<EOF
! Configuration File for keepalived
global_defs {
router_id wiilead #标识 (可自定义)
}
vrrp_instance VI_1 {
state MASTER #主节点f
interface eth0 #绑定虚拟IP的网络接口(可通过ifconfig命令查看)
virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组
priority 150 #主节点的优先级(1-254之间),备用节点必须比主节点优先级低
advert_int 1 #心跳间隔时间 两个节点设置必须一样
authentication { #设置验证信息,两个节点必须一致 默认就行 可以不用更改
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.44.159 #虚拟ip 两个节点保持一致
}
}
EOF
backup配置
cat > /etc/keepalived/keepalived.conf <<EOF
! Configuration File for keepalived
global_defs {
router_id wiilead #标识 (可自定义)
}
vrrp_instance VI_1 {
state BACKUP #从节点
interface eth0 #绑定虚拟IP的网络接口(可通过ifconfig命令查看)
virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组
priority 100 #主节点的优先级(1-254之间),备用节点必须比主节点优先级低
advert_int 1 #心跳间隔时间 两个节点设置必须一样
authentication { #设置验证信息,两个节点必须一致 默认就行 可以不用更改
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.44.159 #虚拟ip 两个节点保持一致
}
}
EOF
以上内容分别配置到两台服务器
router_id、interface、virtual_ipaddress 可自定义
其余配置可直接使用
非抢占式
安装成功后 复制下方脚本至服务器 执行即可
非抢占式没有主从之分,全部为BACKUP,添加nopreempt,用来标识为非抢占式;
通常如果master服务死掉后backup会变成master,但是当master服务又好了的时候 master此时会抢占VIP,这样就会发生两次切换对业务繁忙的网站来说是不好的。所以我们要在配置文件加入 nopreempt 非抢占,但是这个参数只能用于state 为backup, 让其通过priority来竞争。
backup1配置
cat > /etc/keepalived/keepalived.conf <<EOF
! Configuration File for keepalived
global_defs {
router_id wiilead #标识 (可自定义)
}
vrrp_instance VI_1 {
state BACKUP #从节点
interface eth0 #绑定虚拟IP的网络接口(可通过ifconfig命令查看)
virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组
priority 150 # 非抢占式 两节点优先级一致 公平竞争
nopreempt #非抢占式标识
advert_int 1 #心跳间隔时间 两个节点设置必须一样
authentication { #设置验证信息,两个节点必须一致 默认就行 可以不用更改
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.44.159 #虚拟ip 两个节点保持一致
}
}
EOF
backup2配置
cat > /etc/keepalived/keepalived.conf <<EOF
! Configuration File for keepalived
global_defs {
router_id wiilead #标识 (可自定义)
}
vrrp_instance VI_1 {
state BACKUP #从节点
interface eth0 #绑定虚拟IP的网络接口(可通过ifconfig命令查看)
virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组
priority 150 # 非抢占式 两节点优先级一致 公平竞争
nopreempt #非抢占式标识
advert_int 1 #心跳间隔时间 两个节点设置必须一样
authentication { #设置验证信息,两个节点必须一致 默认就行 可以不用更改
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.44.159 #虚拟ip 两个节点保持一致
}
}
EOF
以上内容分别配置到两台服务器
router_id、interface、virtual_ipaddress 可自定义
其余配置可直接使用
3.启动与检查
启动keepalived
systemctl start keepalived.service
设置开机启动
systemctl enable keepalived.service
查看开机自启列表
systemctl list-unit-files|grep enabled
查看启动状态
systemctl status keepalived.service
查看网卡名称
ifconfig
启动后查看网卡信息
ip a s eth0
根据网卡信息可以看见 192.168.44.159 虚拟ip已经配置成功,开始撒花╰(°▽°)╯ !
总结
只要还有什么东西不知道,就永远应当学习。