快照就是设备或文件系统的虚拟拷贝,可以将它类比成Windows快捷方式或UNIX 符号链接,指向某个特定时刻的设备情形[10]。快照通过软件对要备份的磁盘子系统的数 据快速扫描,建立一个要备份数据的快照逻辑单元号LUN和快照cache。在快速扫描时, 把备份过程中即将要修改的数据块同时快速拷贝到快照cache中。快照LUN是一组指针, 它指向快照cache和磁盘子系统中不变的数据块(在备份过程中)。
在正常业务进行的同 时,利用快照LUN实现对原数据的一个完全的备份。它可使用户在正常业务不受影响的 情况下(主要指容灾备份系统),实时提取当前在线业务数据。其“备份窗口”接近于零, 可大大增加系统业务的连续性。
快照是通过内存作为缓冲区(快照 cache),由快照软件提供系统磁盘存储的即时数据映像,它存在缓冲区调度的问题。 当创建快照时,快照软件将记录取得快照的时刻。在取得快照之后,它会给备份工 具提供另一个名称,通过这个名称就可以查看设备或文件的快照。在创建快照之后,大部分快照软件(或阵列中的固件)监视设备的活动。当它看到某块数据即将改变,它就 在该数据块镜像“之前”的特定日志区域(通常被称为快照设备)进行记录。即使特定的块改变了好几次,它也只需要记录在第一次改变发生之前的情形。
当通过快照虚拟设备或 mount 点查看设备或文件系统时,它看起来像是在访问真正 的设备或文件系统。如果请求的数据块自取得快照之后从未改变过,那就可从源设备或 文件系统中获得。但是,如果请求的数据块自取得快照之后已经改变,那么可从快照设 备中获得。当然,这对于访问数据的用户或应用程序都是透明的。用户或设备只需通过 快照设备或 mount 点查看设备,而到底数据块从哪儿来,有快照软件或固件进行管理。 图 1 是快照备份的典型的拓扑结构:
图1
从快照进行恢复,主要可采用如下两种方式之一来完成: 管理员关闭使用源卷的应用程序,使用标准的拷贝工具以将快照拷贝回源卷。富有 经验的管理员也可以编写小程序,使用查找命令得知哪些文件被改变,从而只拷贝这些 改变的文件。 告知文件服务器当前活跃的文件系统不再是“源”文件系统,然后指向快照,并作为 可读写装载。这就允许从快照进行立即恢复。
当然,快照文件系统的虚拟拷贝,依赖于源文件系统卷的磁盘。如果丢失源文件系 统的磁盘,那么快照也会丢失。