快照(计算机存储和备份)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

快照(计算机存储)
来自维基百科,开放性的百科全书(译者:闫斌)
在计算机系统中,快照是系统在某个时间点的状态。

该术语的产生源于类似摄影中的快照。

它可以指系统状态的实际副本或由某些系统提供的功能。

目录
1.原理
2.实现
2.1卷管理器
2.2文件系统
2.3在数据库中的应用
2.4在虚拟化中的应用
2.5其他应用
3.参见
4.注意
5.外部链接
原理
要完成一份大数据集的完整备份可能会花去大量时间。

在多任务或多用户系统中,当数据正在备份时,可能会有数据写入数据集。

这就阻碍了备份的原子性,并引入了版本不一致,这可能会导致数据损坏。

例如,如果一个用户移动一个文件到一个已经备份的文件夹中,那么这个文件在备份介质上会完全丢失,因为在添加文件前备份操作已经发生。

版本不一致也可能导致文件损坏,例如在读取文件时改变文件的大小和内容。

一个安全备份实时数据的方法是在备份过程中使写访问失效,或者停止正在访问数据的应用程序,或者使用操作系统提供的加锁应用程序接口(locking API)强制执行只读访问。

这对于低可用性系统(台式电脑和小型工作组服务器,常规的停机时间是可以接收的)可
以容忍。

但是高可用性系统不能容忍业务停止。

为避免停机时间,高可用性系统可能转为采用执行基于快照(在某个时间点上数据集的只读副本)的备份,并允许应用程序继续写入数据。

大多数快照实现是高效的,可以
在O(1)时间内创建快照。

换句话说,创建快照所需要的时间和I/O不会随着数据集合的大
小而增加,而直接备份则会随着数据集合的大小按相应比例的增加备份时间和I/O。

在某
些系统中,一旦数据集合进行了初始快照,随后的快照仅复制更改的数据,并使用系统初
始快照的指针引用。

这种基于指针的机制比数据重复克隆消耗更少的磁盘容量。

读写快照有时也被称为分支快照,因为它们隐式地创建了数据集的分支版本。

除了备份和
数据恢复,由于读写快照在管理大的文件集合变更方面的非常有用,它经常用在虚拟化、
沙盒以及虚拟主机安装领域。

实现
卷管理器
一些Unix系统具有快照功能的逻辑卷管理器,这些逻辑卷管理器通过复制更改的块—在这些块被重写前—到其他存储位置—实现写时复制,从而保留了一个自身一致的过去的块
设备镜像。

镜像上的文件系统可以在之后被装载,就像在只读介质上一样。

文件系统
一些文件系统,例如 WAFL[note 1] , Plan 9 from Bell Labs(是一个免费的软件分布式操作系统)的fossil文件系统,ODS-5(即Files-11, Hewlett-Packard’s OpenVMS 操作系统使用的文
件系统),从内部跟踪文件的旧版本,并通过一个特殊的命名空间使快照可以使用。

其他
的文件系统,像UFS2,提供一个操作系统应用程序接口(API)访问文件历史记录。

NTFS
文件系统,通过Windows XP和Windows 2003中提供的卷影复制服务访问快照的,在
Windows Vista则使用影子复制。

快照也在自NetWare 4.11平台上的NSS(Novell Storage
Services)文件系统中可用,最近更多的用在了开放的企业级服务器产品中(Open
Enterprise Server)的Linux平台上。

OMC的lsilon OneFS集群存储平台实现了一个单独可扩展的文件系统,支持文件和或目录级的只读快照。

该文件系统中的任何文件或目录都可以创建快照,并且系统将动态的
依据对系统最佳的方法,执行写时复制(Copy-on-Write)和时间点(Point-in-time)快照。

在Linux系统中,Btrfs和OCFS2文件系统支持创建单个文件的快照(克隆)。

另外,Btrfs也支持创建子卷快照。

Sun Microsystems ZFS有一个混合的实现,该实现在块级别上跟踪读写快照,但可使分支文件集合对于用户应用程序可命名,如”克隆”。

时间机器(Time Machine),包含于苹果的Mac OS X v10.5 操作系统中,不是一个快照方案,而是一个系统级别的增量备份服务:它仅仅监视挂载卷的变化,并周期性地使用
硬链接复制这些更改的文件到一个专门指定的卷。

在数据库中的应用
SQL规范规定了四个级别的事务隔离。

最高级别事务隔离中,可序列化的,在每个事务的
开始隐式地创建了一个快照。

许多流行的SQL数据库的备份工具使用该特性生成自身一致
的表数据的转储。

在虚拟化中的应用
系统模拟器(仿真器)寄主一个来宾操作系统在虚拟机中;一些系统模拟器(包括
VMware,VirtualBox,Parallel Desktop,QEMU和VirtualPC)通过转储整个机器状态到一个备份文件或者重定向将来的来宾系统写入第二个文件(作为一个写时复制表)来执行整个
系统的快照。

其他应用
软件事务内存(Software transactional memory)是一个案例,它在内存中的数据结构应用
了相同的概念。

参见
系统镜像
LVM快照(Linux)
R1Soft 热拷贝(Linux)
微软卷影复制
存储管理程序
注释:
1.WAFL不是文件系统。

它是一种文件布局,提供使各种文件系统和技术能够访问磁盘块
的机制。

外部链接
∙Garimella, Neeta (2006-04-26). "Understanding and exploiting snapshot technology for data protection, Part 1: Snapshot technology overview".
/developerworks/tivoli/library/t-
snaptsm1/index.html.
∙Harwood, Mike (2003-09-24). "Storage Basics: Backup Strategies".
/management/features/article.php/30 82691.
∙[1] Project web page of rsnapshot
注:翻译的不是非常专业,望读者见谅。

相关文档
最新文档