当前位置:文档之家› 7netapp存储配置练习_snapshot

7netapp存储配置练习_snapshot

NetApp存储基础学习汇总(第七部分)目录一、snapshot管理 (1)1.1、snapshot基本概念 (1)1.2、snapshot是怎么工作的 (3)1.3、使用snapshot相关命令 (5)1.4、NFS客户端如何使用snapshot (7)1.5、CIFS客户端如何使用snapshot (8)1.6、测试从CIFS客户端利用snapshot恢复文件 (9)1.7、使用snap restore命令 (11)一、snapshot管理1.1、snapshot基本概念SnapShot是WAFL文件系统“任意位置写入”功能带来的一项突出优势。

一份SnapShot是整个文件系统的在线只读拷贝。

创建文件系统的一份SnapShot仅仅需要几秒钟的时间,并且除非原始文件被删除或者更改,数据快照并不占用额外的磁盘空间。

这种只有当数据快发生改动时才进行数据块复制的技术被称作“Copy-on-write”,只有修改活动文件系统中的数据块并写入磁盘中新的位置时,SnapShot才会占用额外的磁盘空间。

●在没有数据副本的情况下,快照保护意外的数据删除和修改。

●文件系统每个版本的copy叫做snapshot●快照用来做备份和恢复。

用户可以采用SnapShot作为数据的在线备份,以备将来进行数据恢复时使用。

用户也可以方便的把SnapShot快照备份到磁带上。

无需将Filer系统下线,用户管理员就可以将最近的SnapShot快照备份到离线系统中。

Snapshot的优势:●快速的备份和恢复●在线的备份●自动或者手工的创建计划任务●对于磁盘空间没有显著的影响。

SnapShot技术详述WAFL文件系统本身就可以理解成数据块树状结构,其根部的数据结构描述了inode文件信息。

这份inode文件信息则包含了对文件系统中所有inode的描述,它包含诸如空闲块图和空闲inode图等元数据信息。

WAFL通过复制根数据结构创建新的数据拷贝SnapShot。

因为根数据结构只有128B,并且不需要在硬盘上复制其他数据块,一个新的SnapShot几乎不耗额外的磁盘空间,除非用户修改或者删除文件系统中的数据。

Filer可以对一个卷组创建最多255个SnapShot快照。

SnapShot快照可以通过手动或者人为预先定制策略的方式来自动创建。

每一个SnapShot快照可以保存的时间取决于文件系统变动的频度。

在众多应用环境中,文件系统中的大部分数据并不是每天在变化,比如一个使用10MB大小Home Directory的用户,其数据通常每天只变动100到500KB。

当文件变动缓慢的时候,SnapShot可以在线保存数天甚至数周,直到他们消耗的磁盘空间过多以至用户无法接受。

而另外一些文件系统中的数据则在经常不停的变动,比如CAD应用环境下,需要经常覆盖写入许多大尺寸的文件,甚至可能一两天内就会更新整个文件系统的存储内容。

在此类环境下,可能只有保存数小时SnapShot的空间。

Snapshot是DataONTAP软件比较独特的特点,可以在线的管理和维护每个volume的文件系统。

Snapshot可以用于快速恢复active file system(AFS),AFS的snapshot还可以让用户非常方便的恢复意外的数据损坏和删除。

●快照是volume或者aggregate上某一时间点上只读的镜像。

●它仅仅是文件系统的一个图像而不包括实际的数据文件。

●快照的主要目的就是为了备份和恢复。

●最初只消耗很小的磁盘空间●DataONTAP是可以自动创建和删除snapshot的。

●快照可以看做是原始数据的复制品,但实际的数据块并没有复制。

●我感觉快照通过指针,实现对删除和修改数据块的占用,来保留删除和修改数据所占用的数据块,所以当删除修改动作比较少的时候,占用空间比较少,恢复时比较快,只是指针进行挪动,并没有实际的数据拷贝出现。

针对volume的snapshot:传统卷和灵活卷的snapshot保存在一个特殊的子目录里面,UNIX和windows客户端可以访问并且恢复它们自己的文件。

每个卷同一时刻可以保留255个快照。

针对aggregate的snapshot:创建一个aggregate会预留5%的空间作为sanpshot,创建snapshot可以根据自动的时间表。

你也可以手工的设置时间表,时间表的间隔是周、日、小时。

因为snapshot与AFS文件系统是独立存储的,你可以执行对最近创建的snapshot备份,而不需要将系统offline(比如将volume offline),即使用户访问很繁重。

Aggr快照不需要作为每天日常管理的内容。

相反,DataONATP可以自动的创建aggr的snapshot,当使用一些命令,比如snapmirror做卷级别的镜像的时候,就会自动产生快照。

1.2、snapshot是怎么工作的在做snapshot之前,就有一个文件系统树指向真实的数据块,当做了一次snapshot后(假设数据没有任何更新),就拥有了一份文件结构的拷贝。

快照的指针同样指向这些数据块。

见上图:此时snapshot与AFS的文件结构一致。

再做snapshot后,此时对磁盘空间的影响不明显。

因为此时文件结构占用的空间很小,同时在磁盘上不需要数据块的拷贝。

几乎就是无额外的磁盘占用。

Snapshot开始使用磁盘空间是当数据被删除或者修改的时候。

新增数据进去空间占用也很小。

见上图WAFL写一个数据到到新的数据块(D’),同时AFS修改文件结构指向新的数据块。

但同时snapshot依然指向最初的数据块D,只要snapshot指向这个数据块,这个数据块就不能访问,所以说snapshot开始消耗磁盘空间是从创建snapshot后,文件系统有变动开始。

它保留了文件系统之前某个时刻的镜像。

对于aggr划分灵活卷磁盘空间是怎么分配的?Snapshot预留WAFL文件系统预留Aggregate 整个aggr空间的5% 整个aggr空间的10%Aggr里面的每个灵活卷灵活卷的20%,其它给客户数据预留给snapshot的空间是可以调整的,你可以手工修改这个预留比例,把这块空间给数据存储用(但不推荐这么做)。

tan> aggr show_space -h aggr1 ←=看aggr上面的空间分配Aggregate 'aggr1'Total space WAFL reserve Snap reserve Usable space BSR NVLOG A-SIS 6000MB 600MB270MB5130MB 0KB 0KBtan> snap reserve vol1 ←==看某个卷预留了多少Volume vol1: current snapshot reserve is 20% or 204800 k-bytes.tan> snap listVolume vol1working...%/used %/total date name---------- ---------- ------------ --------26% (26%) 0% ( 0%) Dec 27 20:00 hourly.040% (25%) 0% ( 0%) Dec 27 16:00 hourly.1 ←=目前预留的空间占用了40%对于传统卷磁盘空间是怎么分配的?Aggregate:每个aggregate分配了10%的空间预留给WAFL文件系统。

Snap预留WAFL文件系统预留Aggregate 整个aggr空间的10%Aggr里面的传统卷传统卷的20%,其它给客户数据=============→为snapshot预留的空间可以扩展到用户空间只要系统需要,比如在AFS文件系统中发生大量的改变,这时候预先分配的空间比例满足不了要求的时候,snap空间就会占用数据空间。

你可以重新手工的分配磁盘空间用snap reserve命令,除非你故意的调整它,用户使用的磁盘空间不超过70%。

1.3、使用snapshot相关命令snap create [-A|-V] [vol-name] [snap_name]tan> snap create vol1 satday ←=创建一个snapshot,对于下面所有命令-A代表aggrerate-V代表volume,缺省是针对volume,没指定是那个卷,就是指根卷。

snap list [-A|-V] [vol-name] ←=列出指定卷上的snapshottan> snap list vol1Volume vol1working...%/used %/total date name---------- ---------- ------------ --------0% ( 0%) 0% ( 0%) Dec 29 14:07 satday0% ( 0%) 0% ( 0%) Dec 27 20:00 hourly.01% ( 0%) 0% ( 0%) Dec 27 16:00 hourly.1%used显示了累计的snapshot占用的空间与AFS占用空间的比率,()里面表示这个snapshot占用空间与AFS占用空间的比率。

%total显示了累计的snapshot占用的空间与整个个卷占用磁盘空间的比率,()里面表示这个snapshot占用空间与整个卷占用磁盘空间的比率。

date列:是snapshot创建时间。

最近那个snapshot就是.0,这里指是用snap sched命令创建的。

----------------------------------------------------------------------------------------------------------------------------------系统会自动删除通过schedule snap创建的比较老版本的snapshot,当新snapshot创建后。

但是系统是不会自动删除手工创建的snapshot的,只能用snap delete命令去删除它们。

注意:删除任何snapshot的时候,特别不是通过snap sced命令产生的snapshot(比如snapmirror,snapvault产生的)Snap sched参数的含义:与snapshot相关的options命令:1.4、NFS客户端如何使用snapshotdrwxrwxrwx 3 root root 4096 Dec 27 15:28 qtree2 drwxrwxrwx 2 root root 4096 Dec 27 19:06 qtree3 drwxrwxrwx 2 root root 4096 Dec 27 19:28 wangjun drwxrwxrwx 2 root root 4096 Dec 27 19:56 wangjun11.5、CIFS客户端如何使用snapshottan> options cifs.show_snapshot ontan> vol options vol1 nosnap off可以看见snapshot目录了。

相关主题