当前位置: 主页 > 服务器技术 > 其他技术 > NETapp Snapshot技术介绍

NETapp Snapshot技术介绍

时间:2010-12-14来源:互联网 点击:

1.1.1 技术原理

SnapShot是WAFL文件系统“任意位置写入”功能带来的一项突出优势。 一份SnapShot是文件系统的在线只读拷贝。创建文件系统的一份SnapShot仅仅需要几秒种的时间,并且除非原始文件被删除或者更改,数据快照并不占用额外的磁盘空间。这种只有当数据块发生改动时才进行数据块复制的技术被称作“copy-on-write”,只有修改活动文件系统中的数据块并写入磁盘中新的位置时,SnapShot才会占用额外的磁盘空间。

用户可以采用SnapShot作为数据的在线备份,以备将来进行数据恢复时使用。用户也可以方便的把SnapShot快照备份到磁带上。无需将Filer系统下线,用户管理员就可以将最近的SnapShot快照备份到离线存储系统中。

图 28:Snapshot的创建

图 ( a )是简化了的文件系统结构,在顶部以树状结构指向其下的数据块。图 ( b )显示了SnapShot快照复制了根结构以及数据块指向关系。图 ( c )数据块C发生了更新,这样文件系统指向新的数据块C’,而在此之前创建的SnapShot仍然指向原来的数据块C。

该图展示了SnapShot是如何工作的。WAFL文件系统本身就可以理解成数据块树状结构,其根部的数据结构描述了inode文件信息。这份inode文件信息则包含了对文件系统中所有inode的描述,它包含诸如空闲块图和空闲inode图等元数据信息。图a也可以视为整个文件系统的概貌图,其上部展现的就是根数据结构。WAFL通过复制根数据结构创建新的数据拷贝SnapShot。因为根数据结构只有128B,并且不需要在硬盘上复制其它数据块,一个新的SnapShot几乎不耗费额外的磁盘存储空间,除非用户修改或者删除文件系统中的数据。

Filer可以对一个卷组创建最多255个SnapShot快照。SnapShot快照可以通过手动或者人为预先定制策略的方式来自动创建。每一个SnapSHot快照可以保存的时间取决于文件系统变动的频度。在众多应用环境中,文件系统中的大部分数据并不是每天都在变化,比如一个使用10MB大小Home Directory的用户,其数据通常每天只变动100到500KB。当文件变动缓慢的时候,SnapShot可以在线保存数天甚至数周,直到它们消耗的磁盘空间过多以至用户无法接受。而另外一些文件系统中的数据则在经常不停的变动,比如CAD应用环境下,需要经常覆盖写入许多大尺寸的文件,甚至可能一两天内就会更新整个文件系统的存储内容。在此类环境下,可能只有保存数小时SnapShot的空间。

用户对SnapShot的访问方式

文件系统中含有包含SnapShot数据快照的子目录,允许用户自行访问稍早些时候创建的SnapShot数据快照。假设一个用户从文件系统中意外删除掉一个名为foo的文件,现在需要利用SnapShot来对其加以恢复。则可以在UNIX/NFS客户端执行以下操作:

% ls -lu .Snapshot/*/foo

-rw-r–r– 1 hitz 16787 Jun 16 15:00 .Snapshot/hourly.0/foo

-rw-r–r– 1 hitz 16744 Jun 16 12:00 .Snapshot/hourly.1/foo

-rw-r–r– 1 hitz 16811 Jun 16 10:00 .Snapshot/hourly.2/foo

采用-U选项查看三份SnapShot数据快照,用ls命令可以显示文件foo的创建时间,要恢复foo文件,用户只需将foo不同时期的快照版本复制回当前工作目录即可。

% cp .snapshot/hourly.0/foo .

将.snapshot / hourly.0中的文件列表,将显示创建hourly.0数据快照时包含的所有文件。

.snapshot目录是隐藏目录。 如果.snapshot目录可见,可以使用find命令找到更多符合要求的数据快照副本。但是类似强制删除目录的命令,如rm –rf对SnapShot快照目录无效,因为SnapShot文件是只读文件,所以不能删除。

Windows用户则可以在窗口中看到一个名为~snapshot的文件夹,如下图所示:

图 29:Snapshot

能否理解WAFL文件系统是由root inode引导的数据块树状结构是能否理解SnapShot的关键。由此,要对这种数据块树状结构创建副本,即创建SnapShot,WAFL只需复制root inode。

FIGURE

图 30:WAFL通过复制描述inode文件的root inode建立一张SnapShot快照,WAFL通过在新的磁盘位置上写入新的数据来避免改变数据块。

图中(a)显示了文件系统树状结构图,为简便起见,只示意出了root inode,没有描绘出inode和间接数据块。

站长资讯网
.
分页: [1] [2]
TAG: NETapp Snapshot
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言