您的位置:首页 > 运维架构 > Linux

LINUX EXT3邮件服务器数据rsync覆盖后的数据恢复

2011-12-06 13:47 260 查看
数据软硬件环境:
服务器上操作系统是RedHat,外接8块盘Raid5的盘柜,盘柜分成一个分区,文件系统是EXT3,存放着用户邮件数据,包含一千多个域名的上万人使用的商用电子邮件帐户数据。
数据丢失原因:
用户用rsync命令把一个空的文件系统远程同步到邮件服务器上,这种错误的操作导致了原先存储中的500多GB的数据只剩下了300GB,另外200GB数据在文件系统中看不见,也就是丢失了!
数据恢复方案:
数据存放在一个1.6TB的分区中,文件系统是ext3。我们把这个分区dd到一个2TB的硬盘中,经过初步扫描dd镜像出来的文件系统,发现丢失的文件一部分属于删除状态,一部分文件名已经被覆盖,要恢复的邮件数量上几万封。对于ext3文件系统,一旦删除了千万级数量的文件,数据恢复的时候想保留完整的目录结构几乎是不可能的,所以数据恢复结果不会考虑目录结构的问题。
经过几经导论,我们把所有丢失掉的邮件一封一封恢复出来,最后用程序按照域名、用户名、收件人、发件人的分类方法,把邮件按照一定的目录结构重新整理出来,得出的数据再跟邮件系统进行内容帐户匹配,最终比较完美的还原出丢失的邮件。
附:rsync工具介绍
rsync(remote sync),顾名思义,就是远程同步工具,利用它可以将服务器A上面的数据同步到服务器B上面,特别是对于小文件传输的效果很好,所以有很多人用它做增量备份,如mysql日志文件的增量备份。
它的特性如下:

1、可以更新整个目录树和文件系统;

2、可以保留文件的软链接、硬链接、权限信息、属主信息、设备和时间信息;

3、无须特殊权限即可安装;

4、内部的流水线提高了多文件传输的速度;

5、可以使用ssh、rsh或者socket链接进行传输;

6、支持匿名传输

本文出自达思(http://www.dstfix.cn)工程师覃廷良blog
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息