当备份并非备份时
在概念上,“备份”这一理念在 IT 领域已经变成了一个含糊不清的范畴。每个人似乎都对备份是什么、以及他们期望它如何运作有着自己的理解。当提供备份的一方与使用备份的一方在期望上存在错位时,这可能是危险的。即便是在传统的备份机制下,我每天都看到这种情况发生。随着新型备份不断涌现,沟通失误和数据丢失的可能性变得愈发突出。
这里所说的传统备份,指的是基于磁带、采用“祖—父—子”轮换策略的传统备份世界,姑且以此为讨论铺垫。新型备份可能包括系统镜像、基于磁盘的备份、连续备份,以及备份到“云端”或在线备份。备份的世界正在迅速演变,而正是在此时,误解开始将企业的数据资源置于风险之中。
那么,“备份”究竟是什么?这个概念听起来很简单,但当我们使用这个术语时,我们真正指的是什么?我们指的是在系统故障后将其恢复的能力?将文件回滚到较早版本的能力?还是在原始数据不再存在时对数据进行归档?哪些文件保留多久?这只适用于文件数据,还是电子邮件和数据库也包括在内?我们只需要在系统故障时进行恢复,还是也需要恢复细粒度数据的能力?我们只需要一份副本,还是需要文件每一个版本的副本?
如今,随着诸如勒索软件之类的事物所带来的额外风险,我们面临着比以往任何时候都更多的担忧;不仅是关于版本控制的理念,还有潜在的无限版本控制,以及系统与备份之间的物理隔离(air gapping),都成了从前通常并不被关注、而如今却令人忧虑的问题。
许多组织,尤其是较小的组织,往往选择以与企业稍有不同的方式来对待备份,并且常常完全摒弃备份。他们转而“执行备份”,但随后往往又删除原始文件。而且,他们不去保留多份已被“备份”的文件副本,而是只选择保留单一一份副本(或彼此相互依赖的多个版本)。这意味着他们所拥有的并不是真正的备份,而是一份归档。如果存储该文件的那一块磁盘或那一盘磁带损坏,文件就会彻底丢失。
备份这一术语意味着某一份数据至少存在两份彼此不相互依赖的副本。归档并不意味着这一点,而仅仅意味着我们把数据从生产环境转移到了另一个系统,想必是一个成本更低、并且很可能检索起来缓慢得多、困难得多的系统。与备份这一术语不同,归档数据并不意味着任何冗余。
如果我们“执行了一次备份”,随后又着手删除原始数据,那么我们就不再拥有备份,而存储在“备份系统”中的那个文件——无论它位于磁盘上、保险库中的磁带上,还是其他任何介质上——都从原始数据的备份变成了对原始数据的归档。它如今是我们的源文件,而不再是一份副本。这正是数字介质的某种神奇之处:副本是克隆而非仿制,因此那份归档在任何意义上都名副其实地是原始数据。
这或许看起来像是咬文嚼字,但事实绝非如此。如果一家企业为备份付费,他们很可能假定这笔费用换来的是某种冗余,而不仅仅是一份单一的数据副本。而且,如果出于合规原因你受到必须保留备份的法规约束,那么仅仅拥有一份归档副本就是对该要求的明显违反。两套系统同时发生故障却无法检索数据,是所有合规要求都必须接受的一种极端情形。但若在本应保留备份却未保留的情况下,归档系统发生故障,这就是一种不可接受的情形。
正因为这个原因,以及更多其他原因,诸如 3-2-1 备份方法论之类的理念才显得合理,因为这种方法保证了备份保留在备份系统之内,而原始数据无需保留在生产环境中。从某种思路来看,这种方法可以被视为将归档与备份合并到单一系统中,从而为整体设计增添了许多清晰度。
无论哪种备份系统适合你,都要清醒地认识到:备份意味着相互独立的副本;而且在许多方面,不共享故障域的相互独立副本,如今已几乎成为对所有备份的一项要求。
