news 2026/6/25 2:25:10

keepalived高可用实验

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
keepalived高可用实验

文章目录

      • 实验环境
      • 实验目的
      • 实验步骤
        • 1.将lb01的配置同步到lb02
        • 2.在lb01和lb02上安装keepalived
        • 3.编写keepalived的配置文件
        • 4.启动服务
        • 5、验证:主备是否成功
        • 6、如何判断谁提供服务

实验环境

主机名内网虚拟IP角色
lb0110.0.0.510.0.0.200
lb0210.0.0.610.0.0.200

实验目的

提高lb的高可用,使用keepalived实现主备,这里我们对lnmp架构站点进行高可用

搭建lnmp架构的网站请看我之前的文档

实验步骤

1.将lb01的配置同步到lb02
1、安装Nginx[root@lb02~]# scp -r root@10.0.0.5:/etc/yum.repos.d/ /etc/yum.repos.d/root@10.0.0.5's password: CentOS-Base.repo 100% 1890 765.9KB/s 00:00 epel.repo 100% 664 950.3KB/s 00:00 nginx.repo 100% 192 324.1KB/s 00:00 nginx.conf 100% 99 134.7KB/s 00:00 [root@lb02 ~]# yum -y install nginx 创建程序用户 [root@lb02 ~]# groupadd www -g 666 [root@lb02 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M [root@lb02 ~]# scp -r root@10.0.0.5:/etc/nginx/ /etc/ root@10.0.0.5'spassword:proxy.conf100%194406.5KB/s00:00default.conf100%10722.1MB/s00:00java.conf100%254473.1KB/s00:00fastcgi_params100%10071.1MB/s00:00mime.types100%52316.9MB/s00:00nginx.conf100%6481.3MB/s00:00scgi_params100%636764.9KB/s00:00uwsgi_params100%664454.3KB/s00:00proxy_params100%275673.1KB/s00:00修改配置文件[root@lb02~]# sed -i '/^user/c user www;' /etc/nginx/nginx.conf[root@lb02~]# systemctl start nginx[root@lb02~]# systemctl enable nginxCreated symlink from/etc/systemd/system/multi-user.target.wants/nginx.service to/usr/lib/systemd/system/nginx.service.
2.在lb01和lb02上安装keepalived
[root@lb01~]# yum install -y keepalived[root@lb02~]# yum install -y keepalived
3.编写keepalived的配置文件
#lb01的配置:[root@lb01~]# cat /etc/keepalived/keepalived.conf!Configuration Fileforkeepalived global_defs{router_id lb01# 添加,唯一标识即可}vrrp_instanceVI_1{stateMASTER# 保留,Master节点标识interfaceens33# 注意:需确认你的服务器实际网卡名称(如ens33、eth0),必须和系统一致!virtual_router_id50# 保留,同一VRRP组内(Master/Backup)必须相同(0-255)priority100# 保留,Master优先级高于Backup即可advert_int1# 保留,心跳发送间隔(1秒,同一组必须相同)authentication{auth_typePASS# 保留,认证方式auth_pass1111# 保留,同一组必须相同(密码长度1-8位)}virtual_ipaddress{# 【关键修改】去掉`dev eth1`:该写法在部分Keepalived版本中会导致VIP绑定失败# 原写法:172.16.1.3/24 dev eth110.0.0.200/24# Keepalived会自动绑定到interface指定的网卡# 这里的IP可以自己定义,需要和主机IP在同一个网段里面}}#lb02的配置:[root@lb02~]# cat /etc/keepalived/keepalived.conf!Configuration Fileforkeepalived global_defs{router_id lb02# 【必改1】router_id唯一,添加为lb02}vrrp_instanceVI_1{stateBACKUP# 【必改2】state改为BACKUPinterfaceens33# 【必须和Master一致】网卡名称相同virtual_router_id50# 【必须和Master一致】priority99# 【必改3】priority改为低于Master(如100)advert_int1# 【必须和Master一致】authentication{auth_typePASS# 【必须和Master一致】auth_pass1111# 【必须和Master一致】}virtual_ipaddress{10.0.0.200/24# 【必须和Master一致】VIP相同}}
4.启动服务
[root@lb01~]# systemctl start keepalived[root@lb01~]# systemctl enable keepalivedCreated symlink from/etc/systemd/system/multi-user.target.wants/keepalived.service to/usr/lib/systemd/system/keepalived.service.[root@lb02~]# systemctl start keepalived[root@lb02~]# systemctl enable keepalivedCreated symlink from/etc/systemd/system/multi-user.target.wants/keepalived.service to/usr/lib/systemd/system/keepalived.service.
5、验证:主备是否成功

1、检查lb01

# lb01存在vip地址[root@lb01 conf.d]# ip addr |grep 10.0.0.200inet10.0.0.200/24 scope global secondary ens33# 停止lb01上的keepalived, 检测vip已不存在[root@lb01 conf.d]# systemctl stop keepalived[root@lb01 conf.d]# ip addr |grep 10.0.0.200[root@lb01 conf.d]#

2、检查lb02

在 lb02 上进行如下操作 因为lb01已经暂停,检查lb02是否有接管[root@lb02 conf.d]# ip addr |grep 10.0.0.200inet10.0.0.200/24 scope global secondary ens33 现在把lb01的服务启动,观察lb02是否有虚拟IP[root@lb01 conf.d]# systemctl start keepalived[root@lb02 conf.d]# ip addr |grep 10.0.0.200[root@lb02 conf.d]#
6、如何判断谁提供服务
# 看哪一台有虚拟IP地址[root@lb01~]# ip address show ens363:ens36:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc pfifo_fast stateUPgroupdefaultqlen1000link/ether00:0c:29:c4:62:f0 brdff:ff:ff:ff:ff:ff inet172.16.1.5/24brd172.16.1.255scopeglobalnoprefixroute ens36 valid_lft forever preferred_lft forever inet172.16.1.3/32scopeglobalens36
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 21:58:24

AI如何帮你一键生成虚拟串口通信程序

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个跨平台虚拟串口通信软件&#xff0c;使用Python实现&#xff0c;要求&#xff1a;1. 支持Windows/Linux/MacOS三平台&#xff1b;2. 提供GUI界面可配置串口参数&#xff08…

作者头像 李华
网站建设 2026/6/25 16:44:39

Flutter炫酷UI设计模板完全指南:10+跨平台界面实战教程

Flutter炫酷UI设计模板完全指南&#xff1a;10跨平台界面实战教程 【免费下载链接】awesome-flutter-ui 10 flutter(android, ios) UI design examples :zap: - login, books, profile, food order, movie streaming, walkthrough, widgets 项目地址: https://gitcode.com/gh…

作者头像 李华
网站建设 2026/6/25 13:07:17

基于朴素贝叶斯电商评价数据情感分析与预测任务书

河北东方学院本科毕业论文&#xff08;设计&#xff09;任务书题 目宋体五号居中学 院人工智能学院专 业宋体五号居中班级与教务系统班级一致学生姓名宋体五号居中指导教师张三&#xff08;讲师&#xff09;日 期2024年10月20日毕业论文&#xff08;设计&#xff0…

作者头像 李华
网站建设 2026/6/25 8:25:00

Knockout.js无障碍测试实战指南:让动态内容完美适配屏幕阅读器

Knockout.js无障碍测试实战指南&#xff1a;让动态内容完美适配屏幕阅读器 【免费下载链接】knockout Knockout makes it easier to create rich, responsive UIs with JavaScript 项目地址: https://gitcode.com/gh_mirrors/kn/knockout 在当今追求极致用户体验的开发环…

作者头像 李华
网站建设 2026/6/25 15:00:22

Kotaemon医保政策问答:报销比例一键查询

医保政策问答系统的技术实现探讨在智能问答与自然语言处理技术快速发展的今天&#xff0c;越来越多的公共服务开始向数字化、自动化转型。像“Kotaemon医保政策问答”这类应用&#xff0c;虽然不属于传统意义上的嵌入式或功率电子系统&#xff0c;但其背后依然涉及一系列复杂的…

作者头像 李华
网站建设 2026/6/24 11:48:16

突破传统:CUT3R如何实现动态场景的实时三维建模

突破传统&#xff1a;CUT3R如何实现动态场景的实时三维建模 【免费下载链接】CUT3R Official implementation of Continuous 3D Perception Model with Persistent State 项目地址: https://gitcode.com/gh_mirrors/cu/CUT3R 在计算机视觉领域&#xff0c;实时三维感知模…

作者头像 李华