news 2026/8/8 0:33:31

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/8/7 10:48:18

小林coding快速原型:1小时打造MVP产品

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个快速原型生成工具&#xff0c;用户输入产品想法&#xff08;如社交网络、电商平台等&#xff09;&#xff0c;AI自动生成可运行的MVP代码框架。工具应包含基本的前端界面、…

作者头像 李华
网站建设 2026/8/7 12:46:59

零基础教程:VSCode运行Python第一行代码

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 制作一个交互式入门指导应用&#xff1a;1. 可视化指引安装VSCode和Python解释器&#xff1b;2. 通过动画演示创建.py文件、选择解释器的过程&#xff1b;3. 内置简单代码检查器&am…

作者头像 李华
网站建设 2026/8/7 22:14:14

小白也能懂:图解HTTP连接为什么会被提前关闭

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式学习模块&#xff0c;通过动画演示TCP连接生命周期。要求&#xff1a;1. 正常连接流程演示 2. 添加提前关闭的故障场景&#xff08;服务器主动关闭/客户端超时/网络中…

作者头像 李华
网站建设 2026/8/7 2:01:04

AI智能棋盘使用CAT24C512保存EEPROM参数

AI智能棋盘中的CAT24C512 EEPROM应用深度解析在智能家居和交互式电子设备快速发展的今天&#xff0c;AI智能棋盘正从实验室走向家庭客厅。它不仅能自动识别棋子落位、记录对弈过程&#xff0c;还能通过蓝牙或Wi-Fi连接手机App进行复盘分析&#xff0c;甚至与内置AI实时对战。然…

作者头像 李华
网站建设 2026/8/7 15:43:05

深度解析revive高级特性:注释指令与错误代码配置完全指南

深度解析revive高级特性&#xff1a;注释指令与错误代码配置完全指南 【免费下载链接】revive &#x1f525; ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint 项目地址: https://gitcode.com/gh_mirrors/re/revive rev…

作者头像 李华
网站建设 2026/8/7 15:31:40

3分钟原型:用AI验证你的equals/hashCode设计

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个快速原型工具&#xff0c;能够&#xff1a;1. 接收类字段定义输入&#xff1b;2. 即时生成不调用父类的equals/hashCode实现&#xff1b;3. 可视化展示对象比较过程&#x…

作者头像 李华