本文只介绍源码包安装keepalived
我这里准备了2台虚拟服务器:
192.168.10.100 | Keepalived 2.2.8 |
192.168.10.101 | Keepalived 2.2.8 |
一、安装
打开keepalived官网https://www.keepalived.org/download.html查看当前最新版本
https://www.keepalived.org/download.html
文章发布的时候版本是2.2.8
可以选择下载到电脑在上传到服务器,我这里是选择服务器使用 wget直接拉取
cd /home/www/
# 如果你没有www目录创建一个 搞一致 第一次部署好排查错误
# 下载
wget https://www.keepalived.org/software/keepalived-2.2.8.tar.gz
# 解压
tar -zxvf keepalived-2.2.8.tar.gz
#编译
cd keepalived-2.2.8
#--prefix 指定安装地址
./configure --prefix=/usr/local/keepalived/
#编译并安装
make && make install
二、创建配置文件及启动服务
# 创建keepalived配置文件目录
mkdir /etc/keepalived
# 进入目录
cd /etc/keepalived/
#新建keepalived配置文件
touch keepalived.conf
# 复制keepalived脚本到/etc/init.d/ 目录 (就可以使用 service 命令便捷调用)
cp /home/www/keepalived-2.2.8/keepalived/etc/init.d/keepalived /etc/init.d/
# 拷贝keepalived脚本到/etc/sysconfig/ 目录
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# 建立软连接
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
# 添加到开机启动
chkconfig keepalived on
修改配置文件:因为刚才配置文件是新建的文件所以要往里面添加内容,以下是主服务器配置文件:
# Configuration File for keepalived
global_defs {
# 路由标志
router_id ces
}
# 集群资源监控,组合track_script进行
vrrp_script chk_nginx {
# 检测 nginx 状态的脚本路径
script "/etc/keepalived/nginx_check.sh"
# 检测时间间隔
interval 2
# 条件成立 权重减20
weight -20
}
vrrp_instance PROXY {
# 设置的当前主机为主节点,如果是备用节点,则设置为BACKUP
state MASTER
# 指定HA 监测网络接口,可以用ifconfig查看来决定设置哪一个
interface ens33
# 虚拟路由标识,同一个VRRP实例要使用同一个标识,主备机
virtual_router_id 100
# 因为当前环境中VRRP组播有问题,改为使用单播发送VRRP报文
# 如果VRRP组播没问题,以下这块的内容可以注释掉。
# 这个地方需要关注,之前未做此设置,结果主备节点互相不能发现,因此主备节点都升级成了MASTER,并且绑定了VIP
# unicast_src_ip 192.168.10.100
# unicast_peer {
# 备用节点的 IP 地址
# 192.168.10.101
# }
# 设置优先级,确保主节点的优先级高过备用节点
priority 100
# 用于主备节点间同步检查的时间间隔
advert_int 1
# 设置主备节点间的通信验证类型及密码,同一个VRRP实例中需一致
authentication {
auth_type PASS
auth_pass 1111
}
# 设置虚拟IP地址,当keepalived状态切换为MASTER时,此IP会自动添加到系统中
# 当状态切换到BACKUP时,此IP会自动从系统中删除
# 可以通过命令ip addr查看切换后的状态
virtual_ipaddress {
# 虚拟IP地址
192.168.10.180
}
# 集群资源监控,组合vrrp-script进行
track_script {
chk_nginx
}
}
修改后保存: esc->: ->wq
然后启动
# 启动命令
service keepalived start
# 查看服务状况
service keepalived status
出现以下界面表示启动成功
我们使用命令 ip a 查看一下虚拟ip 是否绑定到了端口
三、备份服务器部署安装
备份服务器安装跟主服务器一样,唯一的区别就是配置文件的修改:这是备份服务器的配置demo:
# Configuration File for keepalived
global_defs {
# 路由标志
router_id ces
}
# 集群资源监控,组合track_script进行
vrrp_script chk_nginx {
# 检测 nginx 状态的脚本路径
script "/etc/keepalived/nginx_check.sh"
# 检测时间间隔
interval 2
# 条件成立 权重减20
weight -20
}
vrrp_instance PROXY {
# 设置的当前主机为备用节点,如果是主节点,则设置为MASTER
state BACKUP
# 指定HA 监测网络接口,可以用ifconfig查看来决定设置哪一个
interface ens33
# 虚拟路由标识,同一个VRRP实例要使用同一个标识,主备机
virtual_router_id 100
# 因为当前环境中VRRP组播有问题,改为使用单播发送VRRP报文
# 如果VRRP组播没问题,以下这块的内容可以注释掉。
# 这个地方需要关注,之前未做此设置,结果主备节点互相不能发现,因此主备节点都升级成了MASTER,并且绑定了VIP
# unicast_src_ip 192.168.10.101
# unicast_peer {
# 主节点的 IP 地址
# 192.168.10.100
# }
# 设置优先级,确保主节点的优先级高过备用节点
priority 80
# 用于主备节点间同步检查的时间间隔
advert_int 1
# 设置主备节点间的通信验证类型及密码,同一个VRRP实例中需一致
authentication {
auth_type PASS
auth_pass 1111
}
# 设置虚拟IP地址,当keepalived状态切换为MASTER时,此IP会自动添加到系统中
# 当状态切换到BACKUP时,此IP会自动从系统中删除
# 可以通过命令ip addr查看切换后的状态
virtual_ipaddress {
# 虚拟IP地址
192.168.10.180
}
# 集群资源监控,组合vrrp-script进行
track_script {
chk_nginx
}
}
然后启动
# 启动命令
service keepalived start
# 查看服务状况
service keepalived status
出现以下界面表示启动成功
我们使用命令 ip a 查看一下虚拟ip 是否绑定到了端口
可以看到备用服务并没有192.168.10.180 ip挂载。
访问 192.168.10.180 出现以下界面
我这里静态文件是使用nginx 代理的一个简单的界面。
四、校验高可用是否可行
我们把主服务器查找出来干掉 在访问
ps -ef |grep keepalived
使用kill 命令
现在已经把主服务器的keepalived服务关闭了!
访问 192.168.10.180 出现以下界面
linux界面 输入 ip a 发现ip也漂移到了备用服务器101
然后再启动主服务器发现 访问后界面变成了主服务的界面。
那我们的主从高可用就部署完成了。
五、常用命令
5.1、 service命令
# 添加到开机启动
chkconfig keepalived on
# 启动
service keepalived start
# 停止
service keepalived stop
# 重新启动
service keepalived restart
# 查看服务状况
service keepalived status
5.2、systemctl 命令
# 启动 keepalived
systemctl start keepalived
# 加入开机启动 keepalived
systemctl enable keepalived
# 重新启动 keepalived
systemctl restart keepalived
# 查看 keepalived 状态
systemctl status keepalived
六、源码包安装–卸载
卸载keeplived工作路径
# 安装包的解压目录
cd /home/www/keepalived-2.2.8
make uninstal
删除相关文件
# 查看相关文件
find / -name keepalived
# 删除文件
rm -rf /etc/sysconfig/keepalived
rm -rf /etc/rc.d/init.d/keepalived
rm -rf /etc/keepalived
rm -rf /usr/sbin/keepalived
rm -rf /usr/local/keepalived
rm -rf /usr/local/keepalived/etc/keepalived
rm -rf /usr/local/keepalived/etc/sysconfig/keepalived
rm -rf /usr/local/keepalived/sbin/keepalived
rm -rf /usr/local/keepalived/share/doc/keepalived
rm -rf /home/www/keepalived-2.2.8/keepalived
rm -rf /home/www/keepalived-2.2.8/keepalived/etc/sysconfig/keepalived
rm -rf /home/www/keepalived-2.2.8/keepalived/etc/openrc/keepalived
rm -rf /home/www/keepalived-2.2.8/keepalived/etc/keepalived
rm -rf /home/www/keepalived-2.2.8/keepalived/etc/init.d/keepalived
rm -rf /home/www/keepalived-2.2.8/keepalived/keepalived
rm -rf /home/www/keepalived-2.2.8/bin/keepalived
到此 keepalived主从配置高可用已经实现! 如果你觉得对你有帮助请点赞 收藏谢谢!有什么更好的方式也可以在评论区评论!我会采集各位的意见的!