记录一次数据恢复过程
本周由于机器迁移,结果一台迁移后发现很多服务不能正常启动,用户登录也是login后会快速的logout。第一反应是文件系统损坏了。 但是首要任务还是要进入系统,于是我使劲的回忆着以前是否有相同的现象发生过,突然想起来以前在madhouse的时候一台内网freebsd机器也出现过类似的问题。那次文件的问题是tcsh出现了问题,后来改成sh后进入系统后重新安装了tcsh就好了,但是至于是什么原因,应该是就是文件系统在重启的时候给损坏了。 于是这次我想用同样的方式来进行,但是进入单用户模式后更改root的shell在登录发现还是同样的情况。那看来估计是硬盘损坏了,于是用了Livecd上的磁盘检测工具进行检测,但是时间太长就放弃了。 这个服务器不能启动对于内网测试来说是重大的打击,上面所有静态文件和数据库都在上面呢,还有邮件和dns服务呢。没有办法,没有任何备份,于是只能一点点从公网上进行恢复下来,这个几乎花了我一天多的时间全都在整这个事情。那块硬盘就交给专业数据恢复公司进行恢复了。本来说好当天就可以的,结果给我弄了2天还没好,于是一狠心就要回来自己弄了。 要说这些专业数据恢复公司也就只能恢复恢复windows下的数据,而对于Linux下的分区基本也算是新手。 星期五一早硬盘回来了,网上搜索了会。 首先是把硬盘挂在到一个Linux系统,我自己是UBUNTU,所以直接挂上启动机器就行。这个时候要注意硬盘的启动顺序,这个在新的BIOS里都可以自己设定,但是一些老的机器的BIOS可能都得靠硬盘跳线来完成启动顺序的选择了,具体可以参考硬盘上的说明。 进入系统后先不要进行mount,我们先用fsck对分区进行扫描修复。
1 | fsck -y /dev/sdb1 |
这里的sdb1就是我那块坏掉的硬盘的根分区。如果你不能确定的话直接用
1 | fdisk -l |
来进行查看就行了。 接着就进行一次模拟分区
1 | mkfs.ext3 -n /dev/sda1 |