当前位置: 首页 > article >正文

虚拟机异常断电后卡在initramfs阶段?手把手教你用xfs_repair修复系统分区

1. 虚拟机异常断电的常见后果最近在调试一个基于KVM的虚拟机集群时遇到了一个典型问题机房突然断电后几台虚拟机重启时卡在了initramfs阶段屏幕上不断刷出generating /run/initramfs/rdsosreport.txt的提示。这种情况在XFS文件系统的虚拟机上尤为常见特别是当虚拟机正在执行大量I/O操作时遭遇非正常关机。initramfs初始内存文件系统是Linux启动过程中的关键环节它负责加载必要的驱动和工具来挂载真正的根文件系统。当系统检测到文件系统损坏时会主动进入这个修复模式。而rdsosreport.txt则是系统自动生成的诊断报告记录了故障发生时的系统状态。我遇到过最夸张的情况是这个文件能长到几十MB里面包含了内核日志、磁盘状态等详细信息。XFS文件系统虽然以高性能著称但在异常断电场景下确实比ext4更脆弱。这是因为XFS采用了延迟写入delayed allocation机制数据不会立即写入磁盘而是先在内存中缓存。断电时这些待写入的数据就会丢失导致文件系统元数据不一致。不过别担心XFS配套的xfs_repair工具就是专门用来处理这类问题的。2. 诊断文件系统损坏情况当你的虚拟机卡在initramfs界面时首先应该检查屏幕上的错误信息。典型的XFS损坏提示会包含XFS corruption detected或metadata I/O error等关键字。这时候系统通常会给你一个busybox shell虽然功能有限但足够进行基础诊断。我建议先查看rdsosreport.txt的内容cat /run/initramfs/rdsosreport.txt | less重点关注其中与XFS相关的错误部分。另一个有用的命令是检查磁盘状态dmesg | grep XFS确定损坏的设备名称很关键。在基于LVM的系统中根分区通常是/dev/mapper/[系统名]-root的形式。比如CentOS就是/dev/mapper/centos-rootUbuntu可能是/dev/mapper/ubuntu--vg-root。如果不确定可以尝试ls /dev/mapper/ blkid这两个命令能帮你确认正确的设备路径。3. 使用xfs_repair进行基础修复确认了损坏的设备后就可以开始修复工作了。强烈建议先尝试不带-L参数的修复命令这样安全性最高xfs_repair /dev/mapper/centos-root这个命令会执行以下操作检查超级块完整性重建inode分配btree修复目录结构重建属性btree检查并修复空闲空间管理结构在我的经验中约60%的轻微损坏可以通过这个基础修复解决。命令执行时会有详细的进度输出你可以看到类似这样的信息Phase 1 - 查找并验证超级块... Phase 2 - 使用内部日志... Phase 3 - 检查inode分配... Phase 4 - 检查目录结构... Phase 5 - 重建属性...整个过程可能持续几分钟到几小时不等取决于磁盘大小和损坏程度。如果顺利完成后直接reboot重启系统即可。4. 强制修复模式(-L参数)的使用场景当基础修复失败时就需要考虑使用大杀器-L参数了。这个选项会让xfs_repair强制清零日志force log zeroing相当于放弃未完成的文件操作xfs_repair -L /dev/mapper/centos-root特别注意-L参数可能导致数据丢失它适用于以下场景基础修复报错log inconsistent系统提示需要重建日志文件系统日志区域严重损坏我去年处理过一个生产环境案例一台运行了3年的数据库虚拟机突然断电基础修复总是卡在phase 3。最后用了-L参数才恢复虽然丢失了最近15分钟的交易数据但至少保住了绝大部分数据。执行强制修复后建议立即运行xfs_check /dev/mapper/centos-root这个额外的检查能确认文件系统是否真的恢复到了可用状态。5. 修复后的验证与预防措施成功修复并重启后千万别以为万事大吉了。我建议执行以下验证步骤首先检查文件系统状态xfs_info /dev/mapper/centos-root mount | grep xfs然后重点扫描关键系统文件rpm -Va # 对于RPM系系统 debsums -s # 对于Debian系系统为了防止再次出现类似问题可以考虑以下预防措施为虚拟机配置UPS电源保护调整XFS挂载参数增加sync选项虽然会降低性能定期执行xfs_fsr进行文件系统碎片整理设置cron任务定期备份关键数据对于特别重要的虚拟机我通常会配置KVM的watchdog功能当检测到异常时能自动触发安全关机流程。这个配置需要在虚拟机XML定义中添加watchdog modeli6300esb actionpoweroff/6. 高级技巧与疑难排解有时候即使用了-L参数修复还是失败这时候可能需要更深入的介入。我遇到过几次需要手动指定备用超级块的情况xfs_repair -L -o sb32768 /dev/mapper/centos-root这里的32768是备用超级块的位置可以通过xfs_db工具查找。另一个有用的工具是xfs_metadump它能在文件系统无法挂载时提取元数据xfs_metadump /dev/mapper/centos-root metadump.file对于特别顽固的损坏可能需要考虑使用ddrescue先对磁盘做完整镜像在镜像文件上尝试修复修复成功后再写回原磁盘最后提醒一点如果虚拟机使用的是qcow2格式的磁盘修复前最好先执行qemu-img check -r all /path/to/disk.qcow2确保磁盘镜像本身没有损坏。我在实践中发现约10%的所谓文件系统损坏案例实际根源是磁盘镜像损坏。

相关文章:

虚拟机异常断电后卡在initramfs阶段?手把手教你用xfs_repair修复系统分区

1. 虚拟机异常断电的常见后果 最近在调试一个基于KVM的虚拟机集群时,遇到了一个典型问题:机房突然断电后,几台虚拟机重启时卡在了initramfs阶段,屏幕上不断刷出"generating /run/initramfs/rdsosreport.txt"的提示。这种…...

ROCm零基础入门实战指南:从环境搭建到高性能计算

ROCm零基础入门实战指南:从环境搭建到高性能计算 【免费下载链接】ROCm AMD ROCm™ Software - GitHub Home 项目地址: https://gitcode.com/GitHub_Trending/ro/ROCm AMD ROCm(Radeon Open Compute)是一套开源GPU计算平台&#xff0c…...

不止于模拟器:在Windows10上用VS2019+QEMU调试EDK2 UEFI应用的完整流程

从零构建UEFI开发环境:VS2019与QEMU深度整合实战指南 在当今固件开发领域,UEFI已逐步取代传统BIOS成为主流标准。对于开发者而言,搭建一个高效的UEFI开发环境是进行底层系统开发的第一步。本文将带你深入探索如何在Windows10平台上&#xff0…...

Reset Windows Update Tool:开源工具解决Windows更新问题的3个高效方案

Reset Windows Update Tool:开源工具解决Windows更新问题的3个高效方案 【免费下载链接】Reset-Windows-Update-Tool Troubleshooting Tool with Windows Updates (Developed in Dev-C). 项目地址: https://gitcode.com/gh_mirrors/re/Reset-Windows-Update-Tool …...

Kubernetes 与边缘计算集成最佳实践

Kubernetes 与边缘计算集成最佳实践 一、前言 哥们,别整那些花里胡哨的。边缘计算是现代云原生架构的重要组成部分,今天直接上硬货,教你如何在 Kubernetes 中集成边缘计算。 二、边缘计算架构模式 模式适用场景优势劣势集中式简单场景管理简单…...

Z-Image Turbo与Vue3前端框架集成实战

Z-Image Turbo与Vue3前端框架集成实战 本文详细介绍了如何在Vue3项目中集成Z-Image Turbo图像生成API,通过WebSocket实现实时图像生成功能,并提供完整的组件封装方案。 1. 引言 前端开发者经常面临一个挑战:如何在Web应用中集成强大的AI图像…...

SolidWorks 与 CATIA 模型转换实战:从本地操作到云端解决方案

1. 为什么需要SolidWorks与CATIA模型转换 在机械设计领域,SolidWorks和CATIA就像两个说着不同语言的工程师。SolidWorks以其直观的操作界面和强大的参数化建模能力,成为中小企业和教育机构的首选工具。而CATIA则凭借在复杂曲面设计和高端制造领域的深厚积…...

Hive与MySQL集成配置全流程解析

1. Hive与MySQL集成的核心价值 在企业级大数据环境中,Hive作为数据仓库工具经常需要处理PB级数据。但默认的Derby元数据库存在单会话限制和性能瓶颈,这正是MySQL大显身手的地方。我经历过多次生产环境迁移,将元数据从Derby切换到MySQL后&…...

Kubernetes 与 AI 集成最佳实践

Kubernetes 与 AI 集成最佳实践 一、前言 哥们,别整那些花里胡哨的。Kubernetes 与 AI 集成是现代云原生架构的重要趋势,今天直接上硬货,教你如何在 Kubernetes 中部署和管理 AI 工作负载。 二、AI 工作负载类型 类型特点资源需求训练工作负载…...

解锁外语游戏新体验:XUnity自动翻译器完全指南 [特殊字符]

解锁外语游戏新体验:XUnity自动翻译器完全指南 🎮 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏中的生涩文本而苦恼吗?XUnity自动翻译器让你轻松打破语…...

Pixel Dream Workshop一文详解:基于diffusers的FluxPipeline定制部署

Pixel Dream Workshop一文详解:基于diffusers的FluxPipeline定制部署 1. 像素幻梦创意工坊概述 Pixel Dream Workshop(像素幻梦创意工坊)是一款专为像素艺术创作设计的AI生成工具,基于最新的FLUX.1-dev扩散模型构建。与传统AI绘…...

高效实用的Notepad2文本编辑器:从入门到精通的全方位指南

高效实用的Notepad2文本编辑器:从入门到精通的全方位指南 【免费下载链接】notepad2 Notepad2-zufuliu is a light-weight Scintilla based text editor for Windows with syntax highlighting, code folding, auto-completion and API list for many programming l…...

如何使用usearch进行水资源分配优化:用水数据的向量分析完整指南

如何使用usearch进行水资源分配优化:用水数据的向量分析完整指南 【免费下载链接】usearch Fastest Open-Source Search & Clustering engine for Vectors & 🔜 Strings in C, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, Go…...

Bypass Paywalls Clean:突破内容壁垒的智能解决方案

Bypass Paywalls Clean:突破内容壁垒的智能解决方案 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的今天,你是否曾因学术论文被付费墙阻挡而错失研…...

Fast-F1数据洞察:赛车数据分析实战的非传统路径

Fast-F1数据洞察:赛车数据分析实战的非传统路径 【免费下载链接】Fast-F1 FastF1 is a python package for accessing and analyzing Formula 1 results, schedules, timing data and telemetry 项目地址: https://gitcode.com/GitHub_Trending/fa/Fast-F1 你…...

别再手动发卡了!2025新版ZFAKA搭配宝塔面板,30分钟搞定你的专属自动售卡站

2025年ZFAKA自动售卡系统:零基础30分钟搭建全攻略 在数字商品交易日益火爆的今天,手动处理订单不仅效率低下,还容易出错。想象一下凌晨三点被订单提醒吵醒,手忙脚乱地复制卡密发给买家——这种场景对于个体创业者来说再熟悉不过了…...

LabelImg图像标注工具:3分钟掌握高效目标检测数据标注技巧

LabelImg图像标注工具:3分钟掌握高效目标检测数据标注技巧 【免费下载链接】labelImg LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check ou…...

从MobileNet到FasterNet:一个ARM安卓开发者的轻量级模型选型与部署实战笔记

从MobileNet到FasterNet:ARM安卓开发者的轻量级模型选型与部署实战 在移动端AI应用开发中,模型选型往往是一场精度与速度的博弈。作为一名长期奋战在ARM平台部署一线的工程师,我经历过太多次这样的场景:产品经理要求"既要实时…...

智能求职工具GetJobs:让你的投递效率提升300%的全流程指南

智能求职工具GetJobs:让你的投递效率提升300%的全流程指南 【免费下载链接】get_jobs 💼【找工作最强助手】全平台自动投简历脚本:(boss、前程无忧、猎聘、拉勾、智联招聘) 项目地址: https://gitcode.com/gh_mirrors/ge/get_jobs 每天…...

夏中谱加盟无界动力,助力具身智能发展

夏中谱入职无界动力,担重任开启新征程今日,无界动力宣布夏中谱正式加入,担任联合创始人兼联席CTO。这一任命使他全面负责基于世界模型的原生具身智能多模态大模型研发,以及数据闭环、云端仿真等核心技术基础设施的持续建设与升级。…...

WDMHDA:Windows 旧系统高清音频驱动的突破与挑战

【导语:WDMHDA 是一款适用于 Windows 98SE / ME 的高清音频驱动程序,为旧系统的音频功能带来新可能。但目前处于 Alpha 阶段,存在诸多待解决问题,其发展对旧系统音频生态有重要影响。】WDMHDA:旧系统音频驱动新选择WDM…...

Gonon无数字时钟:打破传统计时,开启几何编码新时代

【导语:2026年,Tony Gaeta团队推出Gonon无数字时钟,摒弃文化预设,用几何图形计时。它突破传统,解决布局难题,为时间显示带来新方向,有望革新计时领域。】时钟本质与时间层次剖析要打造创新时钟&…...

从微信聊天到在线游戏:聊聊UDP和TCP在你手机App里的那些‘小心思’

从微信聊天到在线游戏:聊聊UDP和TCP在你手机App里的那些‘小心思’ 每天我们都在用手机App聊天、打游戏、看视频,但很少有人注意到这些应用背后隐藏的网络协议选择。为什么微信文字消息总能准确送达,而语音通话偶尔会断断续续?为…...

如何快速上手VNote:跨平台Markdown笔记软件的完整指南

如何快速上手VNote:跨平台Markdown笔记软件的完整指南 【免费下载链接】vnote A pleasant note-taking platform. 项目地址: https://gitcode.com/gh_mirrors/vn/vnote VNote是一款基于Qt开发的免费开源Markdown笔记应用,专为追求高效编辑体验的用…...

图案生成自动化:从基础操作到专业应用的完整指南

图案生成自动化:从基础操作到专业应用的完整指南 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 在现代设计工作流中,图案生成往往是最耗时的环节之一。设计…...

别再为小程序合法域名发愁了!手把手教你用宝塔+FRP搞定内网穿透与HTTPS配置

微信小程序合法域名配置实战:从内网穿透到HTTPS全流程指南 当你兴致勃勃地开发完微信小程序的后端接口,准备在真机测试时,却遭遇"不在合法域名列表中"的报错——这种挫败感我深有体会。三年前我的第一个小程序项目就卡在这个环节整…...

weixin273基于微信小程序的刷题系统的设计与实现+springboot(文档+源码)_kaic

第4章 系统实现4.1登录功能模块的实现登录功能包括用户登录和管理员登录,在登录界面设计中包括用户名和密码、身份的检验。用户名和密码、身份的检验过程由数据库自动完成,此过程需要1秒左右。首先由用户填写账号和密码,然后选择身份&#xf…...

【智能汽车竞赛】从理论到实战:PID参数整定的艺术与避坑指南

1. PID控制:智能车竞赛的核心武器 第一次参加智能车比赛时,我看着自己的小车在赛道上蛇形走位的样子,简直像个醉汉。直到真正理解了PID控制,才明白原来让小车"听话"是门技术活。PID控制器就像给小车装了个智能大脑&…...

微信聊天记录数据自主权解决方案:WeChatMsg本地化部署与深度应用指南

微信聊天记录数据自主权解决方案:WeChatMsg本地化部署与深度应用指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Tre…...

Python爬虫实战:手把手教你如何基于 Python 异步架构的 Crates.io 工业级爬虫实战!

㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐⭐☆☆☆(基础级) 🉐福利: 一次订阅…...