我们的多数新客户自己已经做了备份,其中的多数已经工作了至少有一段时间。客户一般对他们的备份感觉良好(即便他们从未测试过)。
然 而,这些备份多数仅存储在本地,而不是异地,因此数据和业务实际上存在巨大的风险。您所有的重要数据都应该进行异地备份,否则火灾、洪水或商业纠纷都可能 让您永远失去它们。在中国,各种法规和政府问题也可能会限制对您的系统(可能是某个IDC中的所有系统)的访问。所以您需要在其它的地方备份数据。
这带来两个问题 – 在哪里,以及如何传输和存储数据?这些困难的问题极大地取决于您的具体情况,特别是数据的大小。它还取决于你在哪里,因为在国外我们经常使用亚马逊的S3存储,但这种类型的存储在中国目前尚未可用(在2012年年底可能有希望用上)。
对于小客户,我们建议将备份文件简单地传输到您的办公室存储,这便于开发和测试。对于较大的客户,我们要设法找到网站之外的位置,如其他服务器,亚马逊,等等。如果只有几GB大小,我们还可以为您的站点提供免费的异地备份服务,这通常是在中国或亚洲的其他数据中心。
移 动少量的数据很容易,可以通过sftp、rsync,或者其他简单的方法,但移动大量的数据则是个问题。10GB以内的数据可以利用之前那些方法,或者利 用像Bacula这样的备份系统,来小心地完成。更大的数据备份则需要一些特别的方法,往往需要用到像磁带系统这样的硬件工具,或者类似增量 rsync(对视频、图片等文件系统来说是个好方法,但对数据库不是)的数据同步系统,等等。一些商业工具在这方面也很有用。所有的备份方案都需要严肃的 讨论和规划,这也是我们一直在为客户做的事情。
最佳做法当然是每周或每月在开发或测试系统上进行一次备份还原测试,然后运行一些简单的数据完整性检查,确定整个过程运作良好。
另 外,您需要注意,生产数据是否正被传送到开发/测试环境,或者办公室,被员工使用。这种时候切记要删除数据中的敏感信息,如密码、电子邮件地址、电话号码 等。只有这样做,信息才不会被盗,然后被开发人员或者其他人出售。在正式的开发和测试环境中,测试数据中的敏感信息擦除操作应该被严格执行,这样既减少了 传输的数据量,又在使用之前删除了敏感数据,可谓一举两得。
此外,异地备份的一个关键部分是安全性。不管是磁带/磁盘,还是远程文件服务器(或便携式计算机)的文件,都有许多异地备份的数据丢失或被窃的故事发生。出于此原因,在任何备份文件离开服务器之前,我们总是应该加密它。一定要小心别弄丢了你的密码,还要记得做还原测试。
总之,异地备份对您的业务,特别是各种灾难发生后的恢复,是至关重要的。当然,有备份总比没有好,最好的办法还是每天做异地备份,加密它,做还原测试,还有,用于开发的时候记得删除那些敏感信息。