Linux系统如何查看是否处于热备状态?

在Linux系统中,热备(Hot Standby)是指通过高可用集群技术,确保主节点故障时备用节点能自动接管服务,保障业务连续性,要查看Linux系统是否配置了热备及热备状态,需结合集群管理工具、服务状态、系统资源等多维度进行排查,以下从常见集群场景出发,详细说明查看方法。

如何查看linux是否热备

基于Pacemaker/Corosync集群的热备状态查看

Pacemaker是主流的高可用集群资源管理器,常与Corosync(集群通信层)配合使用,若系统通过此方案实现热备,可通过以下方式检查:

使用pcs命令查看集群和资源状态

pcs是Pacemaker的命令行管理工具,需安装pcs及相关依赖(如pacemakercorosync),执行以下命令:

pcs status  
```  包含三部分关键信息:  
- **集群状态**:显示`Cluster Status`,若为`Online`且所有节点(如`node1`、`node2`)状态为`Online`,则集群通信正常;  
- **资源状态**:在`Resources`部分,查看热备资源(如VIP、虚拟IP、数据库服务等)是否运行在预期主节点(如`Master`状态),备用节点对应资源应为`Slave`或`Stopped`状态;  
- **节点属性**:检查`Sticky`(节点亲和性)或`location`约束,确认备用节点是否被配置为热备角色。  
#### 2. 使用`crm_mon`查看详细资源监控  
`crm_mon`是Pacemaker的图形化监控工具,通过`crm_mon -1`(单次输出)或`crm_mon -r`(实时更新)查看:  
```bash
crm_mon -1  

重点关注Resource列表中资源的Target RoleManaged属性:若资源为StartedManaged: yes,表示热备机制生效;若资源显示FailedStopped,则需排查故障。

检查Corosync心跳状态

热备依赖节点间心跳通信,通过corosync-cmapctl查看心跳状态:

corosync-cmapctl totem  

确认heartbeat值正常(通常为1秒),且members列表中所有节点状态为active,若节点状态为lost,则心跳中断,热备可能失效。

如何查看linux是否热备

基于Keepalived的热备状态查看

Keepalived通过VRRP协议实现虚拟IP(VIP)的热备,常用于负载均衡(如LVS、Nginx)场景,查看方法如下:

检查VIP状态

通过ip addr showip a查看VIP是否绑定在主节点网卡:

ip addr show | grep "192.168.1.100"  # 假设VIP为192.168.1.100  

若主节点显示inet 192.168.1.100/24且状态为UP,则VIP正常;备用节点应无此VIP或状态为DOWN

查看Keepalived进程及VRRP状态

systemctl status keepalived  # 确认服务运行
ipvsadm -Ln  # 若使用LVS,查看虚拟服务是否正常
vrrp_track_instance  # 查看VRRP实例状态,主节点为MASTER,备用节点为BACKUP

通过cat /var/log/keepalived.log日志,确认VRRP通告(Advertisement)是否正常发送,备用节点是否成功同步主节点状态。

应用层热备状态(如数据库、中间件)

对于数据库(如MySQL MHA、Redis Sentinel)等应用层热备,需结合工具检查主从复制或哨兵状态:

如何查看linux是否热备

MySQL MHA热备

  • 主从状态:mysql -e "show slave statusG",检查Slave_IO_RunningSlave_SQL_Running是否为Yes
  • MHA管理节点:masterha_check_repl --conf=/etc/mha/app.cnf,输出MySQL replication health is OK表示主从正常;
  • 故障切换日志:cat /var/log/mha/app/app.log,查看是否记录了自动切换过程。

Redis Sentinel热备

redis-cli -h sentinel_host -p 26379 info sentinel  # 查看哨兵信息
redis-cli -h sentinel_host -p 26379 sentinels mymaster  # 查看主从节点列表

确认master字段指向当前主节点,slaves字段包含备用节点,且num-other-sentinels≥1(哨兵数量需满足配置要求)。

通用热备状态检查维度

无论使用哪种方案,均需检查以下共性指标:

  • 节点状态:主备节点是否在线(pingssh连通性);
  • 资源约束:集群是否配置了failover(故障转移)策略,备用节点是否被允许接管资源;
  • 日志监控/var/log/下对应服务的日志(如pacemaker.logkeepalived.log)是否报错,重点关注failedtimeout等关键词;
  • 监控工具:若部署Prometheus+Grafana,可通过集群状态、资源运行时间、VIP切换频率等仪表盘实时监控热备健康度。

表:常见热备方案查看命令总结

方案类型 常用命令 作用说明
Pacemaker集群 pcs status 查看集群及资源整体状态
crm_mon -1 查看资源详细监控信息
corosync-cmapctl totem 检查Corosync心跳通信状态
Keepalived ip addr show 检查VIP是否绑定在主节点
systemctl status keepalived 确认Keepalived服务运行状态
cat /var/log/keepalived.log 查看VRRP协议日志
MySQL MHA mysql -e "show slave statusG" 检查MySQL主从复制状态
masterha_check_repl --conf=xxx 验证MHA主从健康度

FAQs

问题1:如何判断热备节点是否真正处于“热备”状态,而不是离线?
解答:需综合三方面验证:① 集群管理工具(如pcs node show)中节点状态为Online;② 资源状态在备用节点为SlaveStopped(非Started);③ 心跳通信正常(如Corosync的members状态为active),且备用节点能实时同步主节点数据(如MySQL主从延迟为0),若节点在集群中显示Offline或资源未同步,则热备失效。

问题2:热备切换后如何验证数据一致性?
解答:不同场景验证方法不同:① 数据库类(如MySQL):在原主节点执行唯一值插入(如INSERT INTO test VALUES (1, 'test')),切换后在新的主节点查询该值是否存在;② 文件服务:检查共享存储(如NFS、GFS2)的挂载状态和文件修改时间是否同步;③ 应用服务:对比切换前后服务的响应内容(如HTTP返回值、API接口数据),确保业务逻辑连续,若数据不一致,需检查同步机制(如binlog、WAL日志)是否正常。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38376.html

(0)
酷番叔酷番叔
上一篇 2025年10月8日 14:37
下一篇 2025年10月8日 14:52

相关推荐

  • Linux下如何查看Tomcat安装目录?

    在Linux系统中,Tomcat作为常用的Java Web应用服务器,其安装目录的准确定位是进行配置优化、应用部署、故障排查等操作的基础,由于Tomcat的安装方式多样(如源码编译安装、二进制包解压安装、通过包管理器安装等),安装路径可能因安装方式而异,掌握多种查看方法能有效应对不同场景,以下将详细介绍五种常用……

    2025年9月29日
    1600
  • Linux系统如何踢掉非法连接的账户?

    在Linux系统中,非法连接的账户可能来自暴力破解、未授权访问或恶意用户登录,这些行为会威胁系统安全,及时检测、识别并踢掉非法连接是系统管理员的重要工作,以下是详细的操作步骤和工具使用方法,帮助有效处理非法连接问题,检测非法连接的工具与方法在踢掉非法连接前,需先通过系统工具识别异常连接,以下是常用工具及使用场景……

    2025年8月25日
    3000
  • 在Linux系统中如何彻底卸载Oracle数据库并清理所有残留?

    在Linux系统中卸载Oracle数据库需要谨慎操作,涉及服务停止、文件清理、用户组删除等多个步骤,不同版本的Oracle(如11g、12c、19c等)和Linux发行版(如RHEL、Ubuntu等)可能存在差异,但核心流程基本一致,以下是详细的卸载步骤及注意事项,确保彻底清理Oracle相关组件,避免残留文件……

    2025年8月30日
    3000
  • Linux应用开发如何入门?步骤、工具与环境全解析

    Linux下开发应用是一个系统化工程,涉及环境搭建、语言选择、工具链使用、调试优化及部署等多个环节,其核心优势在于开源生态的丰富性、系统级访问能力以及跨平台兼容性,适合从系统底层到高层应用的全场景开发,以下从关键步骤展开说明,开发环境搭建开发环境是应用开发的基础,需根据目标应用类型(如系统工具、Web服务、桌面……

    2025年9月23日
    2000
  • Linux系统如何安装deb包?

    在Linux系统中,deb包是Debian及其衍生发行版(如Ubuntu、Linux Mint等)常用的软件包格式,它包含了软件的二进制文件、配置信息、依赖关系说明及安装/卸载脚本等,正确安装deb包是管理软件的关键操作,本文将详细介绍安装deb包的多种方法、常见问题处理及注意事项,deb包基础知识deb包文件……

    2025年9月8日
    2400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信