刚好我那阵子在准备给新入职的实习生讲硬盘故障应急,顺手就把这套流程整理了下,也就是现在要分享的2026实用版教程。先别慌刷dd命令或者直接拔盘通电,不管线上线下、不管是有冗余RAID还是裸盘挂载,首先做的绝对是断电锁死故障盘的写入权限,尤其是非RAID0这种冗余度不高的盘,每多一秒写入,核心数据就多一分覆盖风险——去年刚入行的实习生阿凯,就因为当时嫌阿里云控制台锁盘慢,直接远程ssh重启想让系统自动修复,结果把唯一的裸盘数据分区表给冲坏了大半,最后只救回了60%的图片素材,客户的订单导出数据全没了,阿凯那个月的奖金扣了一半还哭了好久。
先从非云托管的本地物理裸盘(以CentOS 7/8、Ubuntu 22.04/24.04这类主流Linux发行版为主)说起吧,如果是本地有备用服务器的, 第一时间把故障盘热拔(如果支持热插拔的服务器,记得先在BIOS或iDRAC/IPMI里设成“Offline”再拔,硬拔大概率会划伤盘片),然后用USB-SATA/SAS硬盘盒接到备用服务器上,挂载成只读状态,备用服务器最好提前装上testdisk和photorec这两个开源免费的工具,2026年它们的最新版本已经能很好地支持NVMe SSD和最新的EXT4、XFS v6分区了。
怎么装?CentOS/RHEL系列直接用yum或者dnf:sudo yum install testdisk -y或者sudo dnf install testdisk -y,Ubuntu/Debian系列用apt:sudo apt update && sudo apt install testdisk -y,这个很简单,没什么坑。
装完之后,先用lsblk或者fdisk -l确认一下故障盘的设备名,比如备用服务器原本的系统盘是/dev/sda,故障盘是/dev/sdb,这个时候绝对不能用fdisk分区或者mkfs格式化,连mount -rw都不行,哪怕忍不住想扫一眼数据,也只能用mount -o ro,比如:sudo mkdir -p /mnt/recovery && sudo mount -o ro /dev/sdb1 /mnt/recovery,如果能直接读出来数据,那就赶紧用rsync -av progress同步到备用服务器的其他分区或者备份服务器上,rsync加progress是为了实时看同步进度,别到时候网断了或者同步卡了都不知道。
如果mount -o ro报错“mount: /mnt/recovery: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.”,那大概率是分区表或者超级块坏了,这个时候就得上testdisk了。直接在终端输入sudo testdisk,按照提示一步步来,先选Create新建日志(新手 选这个,万一操作错了还能看日志),然后选故障盘/dev/sdb,接着选分区表类型——Linux主流发行版一般是GPT或者MBR,testdisk会自动检测,检测对了直接按Enter就行,然后选Analyze分析分区,等分析完之后,会列出检测到的分区,这个时候选Write(记得先选Quick Search的结果预览一下有没有想要的数据,比如ls -la /mnt/testdisk_preview),确认无误之后输入Y重启备用服务器,再用mount -o ro试试看能不能读出来。
如果testdisk还是救不了,那就只能用photorec了,photorec是testdisk的配套工具,专门用来恢复各种格式的文件,不管分区表坏没坏,不管文件系统坏没坏,只要盘片没被完全划伤,大概率能救回一些文件碎片或者完整文件。直接输入sudo photorec,同样选故障盘,选分区表类型,然后选要恢复的文件格式(比如.docx、.xlsx、.jpg、.png这些常用的,或者全选,不过全选恢复速度会很慢),接着选保存恢复文件的目录(绝对不能选故障盘!绝对不能选!重要的事情说三遍?哦不对,两次就够了,三次太AI了),然后按Enter开始恢复,恢复完之后可以去保存目录里翻翻看有没有想要的数据。
如果是云托管的阿里云、腾讯云、华为云这些平台的裸盘或者云盘坏了,别慌直接找云厂商的技术支持?不对,云厂商的免费技术支持一般处理速度比较慢,而且他们也不会帮你直接恢复数据,只会给你一些 所以先自己动手锁盘,然后创建快照,快照是只读的,创建完之后可以把快照挂载到其他云服务器上,然后按照刚才本地物理盘的方法来恢复。
最后给新手两个避坑提醒:第一个是不管什么情况,绝对不要随便给故障盘通电重启,尤其是机械盘有咔哒咔哒的异响的时候,大概率是磁头坏了,通电只会让磁头划伤更多盘片;第二个是平时一定要做好数据备份,不要等到硬盘坏了才后悔,中小团队推荐用“本地RAID5/6 + 异地云备份 + 每周冷备份”的三层备份方案,虽然成本稍微高一点,但关键时刻能救命。
你们在运维工作中有没有遇到过类似的硬盘坏了数据恢复的坑?欢迎在评论区分享你的排查经验。

评论列表 (0条):
加载更多评论 Loading...