数据备份恢复是IT运维领域最基本不过的,上周运维派将网站数据从香港VPS迁移至阿里云国内节点,在这次数据迁移过程中发生了一个令我至今都心有余悸的事情……
事情的经过是这样的:
1、首先在VPS服务器上对网站程序目录执行tar打包,发现压缩包文件达到2GB(正常情况下只有100MB),当时怀疑是不是存在什么冗余数据,但考虑到数据迁移的完整性、以及当前服务器剩余空间只剩下几个GB的现实情况,也就放弃了排查;
2、通过scp将VPS上2GB压缩包往阿里云服务器端远程拷贝,scp进度显示需要2个小时,受不了这个耗时,果断CTRL+C,回过头排查到底是什么数据导致压缩包达到了2GB;
3、对网站程序目录排查,发现其中一个文件夹达到1.8GB,cd到该目录下,里面是大量的图片之类的附件文件,但这部分数据已经迁移到某家CDN存储了,便对该目录执行了rm -rf操作,命令下发后感觉不对,我至少可以先mv到其它目录的啊,赶紧打开浏览器访问网站,发现已经无法打开了。。。原来这个目录是还有程序文件和配置文件的啊,顿时大脑一片空白。
4、这时说手贱也没用了,赶紧找系统的定时备份数据,找到前一天晚上的备份数据解压恢复,发现备份包解压失败,报压缩包格式错误,然后继续找到前前天的备份数据,虽然tar解压依然报压缩包格式错误,但不幸之万幸是被删目录的程序文件算是找回来了。
针对这个教训,也做了一次梳理和回溯,总结起来有以下几点:
1、任何数据在删除前都务必做好备份,如果空间不够,那么mv一下或者先备份到本地也可以的;
2、对于自己设定的备份,需持有怀疑的态度,需要确保备份的数据本身是可用的;
3、日常的备份需要做到服务器本地及其异地的存储,分散备份数据,提升数据可靠性。
号外,运维派现已经启用第三方备份存储系统来提升数据容灾能力,我们会在后续的文章中来详细介绍。
文章原文:http://www.yunweipai.com/archives/4307.html