0

0

Linux存储故障恢复方案_数据抢救流程说明【指导】

舞夢輝影

舞夢輝影

发布时间:2026-01-06 18:41:03

|

543人浏览过

|

来源于php中文网

原创

Linux存储故障恢复核心是立即只读、先查硬件再查文件系统;extundelete适用于ext3/ext4误删但需卸载分区;TestDisk修复分区表,PhotoRec按签名恢复文件;所有操作目标路径必须为另一物理盘;LiveCD是根分区崩溃唯一安全入口;恢复后必须验证文件完整性。

linux存储故障恢复方案_数据抢救流程说明【指导】

Linux 存储故障不是“能不能恢复”,而是“恢复多少、快不快、有没有踩坑”。核心原则只有一条:停止写入,立即只读操作——任何后续命令,都必须建立在这个前提上。

确认磁盘状态:先看硬件,再看文件系统

很多“数据丢失”其实是硬件先行告警。别急着跑 extundelete,先确认底层是否可信。

  • smartctl -a /dev/sdX 查 SMART 状态,重点关注 Reallocated_Sector_CtCurrent_Pending_SectorUDMA_CRC_Error_Count —— 有非零值且持续增长,说明硬盘正在失效,立刻停机换盘,别在坏盘上做任何恢复尝试
  • 运行 dmesg | grep -i "ata\|nvme\|error\|fail",抓取内核级 I/O 错误。出现 end_request: I/O errortimeout waiting for device,基本可判定是物理链路或固件问题
  • 如果硬件无异常,再检查文件系统挂载状态:mount | grep "/dev/sdX"。若显示为 ro(只读),说明内核已因一致性风险自动降级——此时切勿强行 remount,rw,否则可能触发元数据覆盖

ext3/ext4 误删恢复:extundelete 是首选,但有硬限制

extundelete 快、准、轻量,但它只对“刚删、未覆写、inode 未回收”的文件有效。一旦 rm 后又写了大量日志或临时文件,成功率断崖下跌。

  • 必须先卸载分区:umount /dev/sdX1;若无法卸载(如根分区),需从 LiveCD 启动后操作
  • 恢复单个文件:extundelete /dev/sdX1 --restore-file "var/log/nginx/access.log",路径必须是删除前的绝对路径(不含挂载点)
  • 恢复全部可找回文件:extundelete /dev/sdX1 --restore-all,结果默认输出到当前目录下的 RECOVERED_FILES/,注意目标盘空间要足够
  • ⚠️ 关键限制:extundelete 不支持 ext2(用 debugfs)、不支持 XFS(用 xfs_irecover 或商业工具)、不支持 LVM 逻辑卷直连(需先 lvscan + vgchange -ay 激活)

分区表损坏或格式化后恢复:TestDisk + PhotoRec 组合拳

fdisk -l 看不到分区,或误执行了 mkfs.ext4 /dev/sdXTestDisk 是重建分区表的主力,而 PhotoRec 是兜底的“按文件特征扫描”方案。

Lovart
Lovart

全球首个AI设计智能体

下载
  • testdisk /dev/sdX → 选 Intel(MBR)或 GPTAnalyze → 若提示 “Quick Search found X partitions”,先试 Write 写回分区表;失败则用 Deeper Search
  • 若分区表完全不可逆,或想绕过文件系统直接捞数据,用 photorec /dev/sdX:它不依赖任何元数据,纯靠文件头尾签名识别(如 JPEG 的 FF D8 FF),但恢复出的文件会丢失原名和目录结构,仅保留扩展名与顺序编号
  • ⚠️ 注意:photorec 默认跳过已知空闲块,若你刚格式化完就运行,建议加 -d 参数强制全盘扫描(耗时长但更彻底)
  • 所有恢复操作的目标路径,必须指向另一块物理磁盘,严禁写回原设备——这是 90% 恢复失败的根源

根分区崩溃无法启动:LiveCD 是唯一安全入口

当你连单用户模式都进不去(比如 GRUB 崩溃、initramfs 找不到 root 设备),本地系统已不可信,一切恢复动作必须脱离原环境。

  • 用 CentOS/Rocky Linux 或 Ubuntu Server LiveCD 启动,进入 shell 后先执行:lsblk -fpvs; vgs; lvs(如有 LVM),确认目标卷存在且未被自动激活
  • 手动挂载(以 ext4 根分区为例):
    mkdir /mnt/rescue
    mount /dev/sdX1 /mnt/rescue
    mount --bind /dev /mnt/rescue/dev
    mount --bind /proc /mnt/rescue/proc
    mount --bind /sys /mnt/rescue/sys
    这样才能在 chroot 中安全运行 fsckextundelete
  • 若怀疑 superblock 损坏(fsck.ext4 报 “Bad magic number”),可用备份 superblock 恢复:mke2fs -n /dev/sdX1 查找备份位置,再 e2fsck -b 32768 /dev/sdX1

最常被忽略的一点:恢复不是终点,验证才是。别只看文件是否存在——用 file RECOVERED_FILES/nginx.conf 确认 MIME 类型,用 sha256sum 对比备份哈希(如有),对数据库文件还要尝试 mysqlcheck --repair。时间花在验证上,远比重跑一遍恢复划算。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

229

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

493

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

498

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

226

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

330

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3505

2024.08.07

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

184

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

271

2023.10.25

PPT动态图表制作教程大全
PPT动态图表制作教程大全

本专题整合了PPT动态图表制作相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.07

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.6万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 783人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号