1、当文件变动缓慢的时候,SnapShot可以在线保存数天甚至数周,直到他们消耗的磁盘空间过多以至用户无法接受。而另外一些文件系统中的数据则在经常不停的变动,比如CAD应用环境下,需要经常覆盖写入许多大尺寸的文件,甚至可能一两天内就会更新整个文件系统的存储内容。在此类环境下,可能只有保存数小时SnapShot的空间。Snapshot是DataONTAP软件比较独特的特点,可以在线的管理和维护每个volume的文件系统。Snapshot可以用于快速恢复active (AFS),AFS的snapshot还可以让用户非常方便的恢复意外的数据损坏和删除。快照是volume或者aggregate上某一时间点
2、上只读的镜像。它仅仅是文件系统的一个图像而不包括实际的数据文件。快照的主要目的就是为了备份和恢复。最初只消耗很小的磁盘空间DataONTAP是可以自动创建和删除snapshot的。快照可以看做是原始数据的复制品,但实际的数据块并没有复制。我感觉快照通过指针,实现对删除和修改数据块的占用,来保留删除和修改数据所占用的数据块,所以当删除修改动作比较少的时候,占用空间比较少,恢复时比较快,只是指针进行挪动,并没有实际的数据拷贝出现。针对volume的snapshot:传统卷和灵活卷的snapshot保存在一个特殊的子目录里面,UNIX和windows客户端可以访问并且恢复它们自己的文件。每个卷同一时
3、刻可以保留255个快照。针对aggregate的 snapshot:创建一个aggregate会预留5%的空间作为sanpshot,创建snapshot可以根据自动的时间表。你也可以手工的设置时间表,时间表的间隔是周、日、小时。因为snapshot与AFS文件系统是独立存储的,你可以执行对最近创建的snapshot备份,而不需要将系统offline(比如将volume offline),即使用户访问很繁重。Aggr快照不需要作为每天日常管理的内容。相反,DataONATP可以自动的创建aggr的snapshot,当使用一些命令,比如snapmirror做卷级别的镜像的时候,就会自动产生快照。1
4、.2、snapshot是怎么工作的在做snapshot之前,就有一个文件系统树指向真实的数据块,当做了一次snapshot后(假设数据没有任何更新),就拥有了一份文件结构的拷贝。 快照的指针同样指向这些数据块。见上图:此时snapshot与AFS的文件结构一致。再做snapshot后,此时对磁盘空间的影响不明显。因为此时文件结构占用的空间很小,同时在磁盘上不需要数据块的拷贝。几乎就是无额外的磁盘占用。Snapshot开始使用磁盘空间是当数据被删除或者修改的时候。新增数据进去空间占用也很小。见上图WAFL写一个数据到到新的数据块(D),同时AFS修改文件结构指向新的数据块。但同时snapshot
5、依然指向最初的数据块D,只要snapshot指向这个数据块,这个数据块就不能访问,所以说snapshot开始消耗磁盘空间是从创建snapshot后,文件系统有变动开始。它保留了文件系统之前某个时刻的镜像。对于aggr划分灵活卷磁盘空间是怎么分配的?Snapshot预留WAFL文件系统预留Aggregate整个aggr空间的5%整个aggr空间的10%Aggr里面的每个灵活卷灵活卷的20%,其它给客户数据预留给snapshot的空间是可以调整的,你可以手工修改这个预留比例,把这块空间给数据存储用(但不推荐这么做)。tan aggr show_space -h aggr1 =看aggr上面的空间分
6、配Aggregate aggr1 Total space WAFL reserve Snap reserve Usable space BSR NVLOG A-SIS6000MB 600MB 270MB 5130MB 0KB 0KB snap reserve vol1 =看某个卷预留了多少Volume vol1: current snapshot reserve is 20% or 204800 k-bytes. snap listVolume vol1working. %/used %/total date name- - - - 26% (26%) 0% ( 0%) Dec 27 20:0
7、0 hourly.0 40% (25%) 0% ( 0%) Dec 27 16:00 hourly.1 =目前预留的空间占用了40%对于传统卷磁盘空间是怎么分配的?Aggregate:每个aggregate分配了10%的空间预留给WAFL文件系统。对于传统卷:每个卷预留了20%的空间给snapshot.给snap预留的空间比例是可以调整的。Snap预留Aggr里面的传统卷传统卷的20%,其它给客户数据=为snapshot预留的空间可以扩展到用户空间只要系统需要,比如在AFS文件系统中发生大量的改变,这时候预先分配的空间比例满足不了要求的时候,snap空间就会占用数据空间。 你可以重新手工的分配
8、磁盘空间用snap reserve命令,除非你故意的调整它,用户使用的磁盘空间不超过70%。1.3、使用snapshot相关命令snap create -A|-V vol-name snap_name snap create vol1 satday =创建一个snapshot,对于下面所有命令-A代表aggrerate -V代表volume,缺省是针对volume,没指定是那个卷,就是指根卷。snap list -A|-V vol-name =列出指定卷上的snapshot snap list vol1 0% ( 0%) 0% ( 0%) Dec 29 14:07 satday 0% ( 0%
9、) 0% ( 0%) Dec 27 20: 1% ( 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创建的比较老版本的snapsh
10、ot,当新snapshot创建后。但是系统是不会自动删除手工创建的snapshot的,只能用snap delete命令去删除它们。注意:删除任何snapshot的时候,特别不是通过snap sced命令产生的snapshot(比如snapmirror,snapvault产生的)的时候,要特别小心,要确保要删除的不是最新的snapshot。如果删错了会夯住snapmirror和snapvault进程。snap delete -A|-V vol-name snap_name snap delete vol1 satday =删除某个卷上的某个快照Tue Dec 29 14:34:03 CST wa
11、fl.snap.delete:info: Snapshot copy satday on volume vol1 NetApp was deleted by the Data ONTAP function snapcmd_delete. The unique ID for this Snapshot copy is (3, 227).snap delete -A|-V vol-name =删除卷上面所有的快照,比如要建立一个新的snap scehed snap delete -a vol1 =删除某个卷上的所有快照Are you sure you want to delete all snap
12、shots for volume vol1? yDeleted vol1 snapshot hourly.2.Deleted vol1 snapshot hourly.1.Deleted vol1 snapshot hourly.0.snap reserve -A|-V vol-name percent =设置snapshot空间预留比例一般预留整个卷容量的20%。可以使用snap reserve命令修改这个比例,最好不要低于20%,不推荐这么做,不输入比例就显示出现在的空间分配情况。 snap sched = 显示当前的snap时间表Volume vol0: 0 2 68,12,16,20
13、0 2 68,12,16,20 =代表最近2天和最近6小时的snapshot将保留,而每天8am,12am,16pm,20pm做snapshot。这个命令相当于指定了什么做snapshot,各种类型的 snapshot保留多长时间。 snap delta vol1 =显示snapshot中变化数据的比率。From Snapshot To KB changed Time Rate (KB/hour)- - - - -test Active 109988 0d 00:17 373896.883 snap list -q vol1 qtree contents date source - - - -
14、 test (Dec 29 16:14) qtree1 Original Dec 29 16:14 - qtree2 Original Dec 29 16: qtree3 Original Dec 29 16:14 -Snap sched参数的含义:参数意义weeks指定每个星期多少快照将要被保留 (default: 0).days指定每天多少了快照将要保留。(default: Monday through Saturday at midnight). hours指定每个小时多少快照需要被保留。缺省四个小时做一个 (default:8 AM, 12 Noon, 4 PM, and 8 PM).
15、hours list指定具体哪些时间做快照 (24-hour clock). 与snapshot相关的options命令:vol options vol1 nosnap on关闭自动snapshot功能。但在任何时候还可以手动创建。vol options vol1 nosnapdir on让客户端可以看见或不能看见,能访问或者不能访问(snapshot)目录。对于NFS,目录是.snapshot,对于CIFS是snapshot。options cifs.show_snapshot on让snapshot目录对于客户端是可见的。对于CIFS要达到此目录,需要做下面2步:1)打开options c
16、ifs.show_snapshot on2)关闭vol options vol1 nosnap off snap autodelete vol1 =允许灵活卷自动删除快照,缺省是disabledsnapshot autodelete settings for vol1:state : offcommitment : trytrigger : volumetarget_free_space : 20%delete_order : oldest_firstdefer_delete : user_createdprefix : (not specified)1.4、NFS客户端如何使用snapsho
17、t vol options vol1 nosnapdir off =在存储一端执行此命令,让客户端可以看见.snapshot目录在NFS客户端mount上共享资源-bash-3.00# ls -latotal 146drwxrwxrwx 19 root root 4096 Dec 29 13:10 .drwxr-xr-x 42 root root 1024 Dec 25 12:33 .drwxrwxrwx 4 root root 4096 Dec 29 14:34 .snapshotdrwxrwxrwx 7 root other 4096 Dec 29 13:10 Common Files-b
18、ash-3.00# pwd/tan/.snapshot/hourly.0-bash-3.00# ls -ltotal 40drwxrwxrwx 2 root root 4096 Dec 27 19:06 qtree1drwxrwxrwx 3 root root 4096 Dec 27 15:28 qtree206 qtree328 wangjun56 wangjun11.5、CIFS客户端如何使用snapshot options cifs.show_snapshot on vol options vol1 nosnap off可以看见snapshot目录了。最近的快照里面的内容。1.6、测试从
19、CIFS客户端利用snapshot恢复文件测试创建快照后,AFS文件系统变化后,如何利用快照恢复到前一状态。第一步: snap delete -a vol1 =先删除vol1上面的所有快照第二步:这个时候快照目录是空的。第三步:手工的创建一个快照。 snap create vol1 tes这时候在客户端,发现test目录下面的结构与AFS文件系统一致。第四步:删除AFS里面的一个目录快照中这个目录还是存在的。再试验向共享中拷贝新的文件,发现快照目录里面是没有这个新文件的。将快照中的wangjun目录拷贝到以前的位置,文件和目录就恢复了。1.7、使用snap restore命令对于LUN一级做s
20、napshot,netapp的建议是最好一个volume上面创建一个LUN。因为做恢复的时候只能针对volume或者file来做恢复。snap restore -f -t vol | file -s snapshot_name -r restore_as_path vol_name | restore_from_path从指定的snapshot恢复一个volume,或者恢复一个单独的文件。这个命令没有license是看不见的。如果你没有指定snapshot,则系统会提示你输入一个snapshot。 在恢复volume或文件这些操作前会让用户确认,-f选项会禁止确认这步。 如果-t选项指定了,则
21、下面必须标明是恢复整个volume还是文件。也就是说snaprestore不能同时执行volume的snaprestore和文件的snaprestore。对于volume snaprestore:Volume必须是online状态并没有镜像。如果恢复根卷则需要重启,如果恢复非根卷则不需要重启。当恢复的时候所有针对非根卷的访问全部终止,就象offline了一样。但其实volume offline了是保护了,不让用户访问,但也不让数据恢复了,所以这两种状态还是有区别的。做完恢复了之后,volume就具有了和做快照那个时刻同样的状态。 对单个文件的snaprestore:保存文件的Volume必须是
22、online状态并没有镜像如果restore_as_path选项指定了,则必须是文件的全路径。如果在volume没有足够的空间,则单个文件恢复不会执行,如果在AFS里面文件已经存在则会覆盖它。Snap命令会花费几分钟时间返回,这段时间客户端排他锁撤销。当snap命令返回,则恢复过程在后台开始执行,这段时间,任何试图去修改文件的操作都会挂起直到恢复完成,但是其它的文件snaprestore是可以做的。在恢复过程中,快照不能删除,新快照不能创建当单个文件恢复正在进行的时候,定义的计划snapshot也会暂时挂起。对于tree、user、group的 quota限制在恢复过程中也不强加,如果超过了q
23、uota的限制,则在恢复完成后,/etc/quota就需要改变,然后再执行quota resize命令。恢复完成后文件的属性(大小、权限、属主等)与snapshot中的一致。如果恢复过程中,系统宕机了,则重启后操作自动重新启动。命令实践 snap restore -t vol -s test vol1 =恢复整个卷WARNING! This will revert the volume to a previous snapshot.All modifications to the volume after the snapshot will beirrevocably lost.Volume
24、vol1 will be made restricted briefly before coming back online.Are you sure you want to do this?You have selected volume vol1, snapshot testProceed with revert?Apply_WaitForPendingCloseShare() - waiting for shares to close.Apply_WaitForPendingCloseShare() - all shares are now closeShare CIFS.HOMEDIR
25、 disabled while volume vol1 is offline.Share test1 disabled while volume vol1 is offline.Share test2 disabled while volume vol1 is offline.Share test disabled while volume vol1 is offline.Tue Dec 29 17:19:42 CST wafl.snaprestore.revert:notice: Reverting volume vol1 to a previous snapshot.Share CIFS.HOMEDIR activated.Share test1 activated.Share test2 activated.Share test activated.43 CST cifs.homedir.activateEntries:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1