news 2026/6/10 9:59:31

超融合环境 CentOS 7.9 磁盘损坏修复实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
超融合环境 CentOS 7.9 磁盘损坏修复实战

0. 问题背景:120 秒的“死亡之吻”

在超融合(HCI)架构中,当存储网络发生微秒级的抖动,上层虚拟机可能感知到的是长达120s的 I/O 阻塞。

  • 报错关键词INFO: task postmaster:2345 blocked for more than 120 seconds
  • 后果:数据库进程(PostgreSQL)强制挂起,XFS 文件系统元数据在内存与磁盘的非同步状态下崩溃。

1. 修复全流程:从标准操作到异常应对

阶段一:进入救援 Shell

【标准命令】
在 GRUB 菜单按e,在linux16行末添加rd.break,按Ctrl+X启动。

【遇到的异常 1】:无法输入任何命令,或者提示文件系统只读。

  • 原因:紧急模式默认挂载/sysroot为只读。
  • 极限拉扯
mount-o remount,rw /sysroot

阶段二:寻找“失踪”的逻辑卷

【标准命令】
尝试修复根分区:xfs_repair -L /dev/mapper/centos-root

【遇到的异常 2】:执行修复时,发现fstab中定义的/home(即报错中的dm-2) 在/dev/mapper/彻底消失了。

  • 原因:HCI 环境下的 LVM 元数据未在 initramfs 阶段自动激活。
  • 极限拉扯
# 强制激活所有逻辑卷lvm vgchange -ay# 强制重新生成设备节点(如果还看不见 dm-2)lvm vgmknodes# 此时再次 ls /dev/mapper/ 才会出现 centos-home

阶段三:修复命令的“断粮”危机

【标准命令】
修复所有分区并创建.autorelabel文件。

【遇到的异常 3】:输入touch /sysroot/.autorelabel提示-bash: touch: command not found

  • 原因:救援环境极其简陋,很多常用二进制工具未打包。
  • 极限拉扯(利用 Shell 重定向特性):
# 既然没有 touch,就用重定向“空”创建一个文件>/sysroot/.autorelabel# 检查确认ls-a /sysroot/|grep.autorelabel

阶段四:突破“进度条”的死循环

【标准命令】
退出救援模式重启。

【遇到的异常 4】:重启后系统依然卡在progress polling进度条,或者 GNOME 图形界面转圈。

  • 原因
  1. xfs_repair -L强制清空日志后,SELinux 标签不一致导致启动被拦截。
  2. 底层存储响应依然缓慢,无法支撑图形界面(GDM)的重型加载。
  • 极限拉扯
    再次进入 GRUB,删除rhgb quiet,并添加:
    3 selinux=0
  • 3:直接进 Runlevel 3(字符模式),减小 I/O 压力。
  • selinux=0:强行拆掉权限门禁。

2. 异常与对策速查表 (Cheat Sheet)

遇到的异常现象背后隐藏的真相解决的“救命命令”
修复时找不到设备路径LVM 卷组在紧急模式下未激活lvm vgchange -ay && vgmknodes
xfs_repair提示设备忙分区已被自动挂载umount /dev/mapper/xxx
touch/lvs命令不存在Initramfs 环境路径不全使用lvm lvs或重定向> 文件名
修完磁盘依然进不去系统SELinux 标签错乱或 GUI 卡死GRUB 加入3 selinux=0并删rhgb

3. 深度优化:为什么这台机器需要特别对待?

在这台 DB 服务器的拉扯中,最核心的教训是:不能依赖系统的自动引导

  1. 分区的联动性:虽然报错是dm-0,但因为/home分区(dm-2)在同一个存储池,底层存储抖动会造成全盘元数据损坏。必须全盘修复,不能漏掉任何一个挂载点。
  2. HCI 的滞后性:超融合修复后,磁盘响应可能仍有长达数分钟的“预热期”。进入Runlevel 3是给系统留出喘息空间的最佳实践。

4. 下一步:从“活下来”到“跑得稳”

既然现在已经修复,你应该立即执行以下动作进行深度加固:

1. 数据库逻辑一致性体检 (PostgreSQL 专场)

物理修复(xfs_repair -L)意味着“丢掉最后几秒日志”。这对数据库是致命的:

  • 命令:登录数据库执行REINDEX DATABASE your_db;(重建索引)。
  • 检查:使用amcheck扩展检查 B-tree 索引是否断裂。

2. 内核参数永久调优

防止下次 HCI 抖动时 Linux 反应过度。

  • 修改/etc/sysctl.conf
# 允许内核多等一会儿存储,不要轻易认为进程死锁kernel.hung_task_timeout_secs=600

3. 给超融合厂商的“罪证报告”

/var/log/messages中那段blocked for more than 120 seconds的日志截图,并告知他们:由于物理 I/O 链路响应超时,导致上层虚拟机触发了 XFS 元数据强制修复。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 2:01:33

论文开题“黑科技”:书匠策AI如何让你的选题“一键开挂”

对于许多论文新手来说,开题报告往往是学术征程的第一道“拦路虎”——选题撞车、文献堆砌、逻辑混乱、格式错漏……这些问题像一团乱麻,让人无从下手。别担心!今天要介绍的书匠策AI(官网:www.shujiangce.com&#xff0…

作者头像 李华
网站建设 2026/5/30 21:11:08

太流批,桌面图标管理神器

今天给大家推荐两款软件,一款桌面图标管理工具,一款是文件/文件夹时间修改工具,有需要的小伙伴可以下载收藏。 第一款:DesktopOK 大家有没有这样的习惯:桌面的东西要在一个固定的地方你才能找得到,如果你要…

作者头像 李华
网站建设 2026/5/31 15:44:36

Excel时间差计算技巧解析

公式解析MID(B2,{1,7,13,19},5) 从B2单元格的指定位置提取时间片段。假设B2内容为"12:30-18:45,09:00-12:15",该部分会分别提取:第1字符开始的5位:"12:30"第7字符开始的5位:"18:45"第13字符开始的5…

作者头像 李华
网站建设 2026/6/3 4:34:11

java+vue基于springboot的旅游攻略分享系统的设计与实现_e7z2r88l

目录 系统概述技术架构核心功能模块系统设计要点部署与优化 开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 系统概述 基于SpringBoot和Vue的旅游攻略分享系统是一个前后端分离的Web应用,旨在为用户提供旅游目的地…

作者头像 李华
网站建设 2026/5/20 20:05:13

5秒开服,你的应用部署还卡在“加载中”吗?

“测试环境又崩了!”“扩容申请走流程要两天!”“运维成本快赶超开发了!”这些刺耳的抱怨,是否每天都在消耗你的团队精力?传统容器运维的沉重负担,正在一点点拖慢业务创新的步伐,让本该快速落地…

作者头像 李华
网站建设 2026/6/5 20:28:55

软件架构设计:从理论到实践的深度指南

软件架构设计:从理论到实践的深度指南 在数字时代,架构设计已不再是简单的“画框图”,而是在复杂约束下寻找平衡的艺术。本文旨在为你提供一套从认知、原则到前沿模式的完整知识体系。 一、 架构设计的核心认知 1.1 什么是软件架构&#xff1…

作者头像 李华