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

7netapp存储配置练习_snapshot

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%,其它给客户数据

不推荐这么做)。

tan> aggr show_space -h aggr1 ←=看aggr上面的空间分配

Aggregate 'aggr1'

Total space WAFL reserve Snap reserve Usable space BSR NVLOG A-SIS 6000MB 600MB270MB5130MB 0KB 0KB

tan> snap reserve vol1 ←==看某个卷预留了多少

Volume vol1: current snapshot reserve is 20% or 204800 k-bytes.

tan> snap list

Volume vol1

working...

%/used %/total date name

---------- ---------- ------------ --------

26% (26%) 0% ( 0%) Dec 27 20:00 hourly.0

40% (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] ←=列出指定卷上的snapshot

tan> snap list vol1

Volume vol1

working...

%/used %/total date name

---------- ---------- ------------ --------

0% ( 0%) 0% ( 0%) Dec 29 14:07 satday

0% ( 0%) 0% ( 0%) Dec 27 20:00 hourly.0

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创建的比较老版本的snapshot,当新snapshot创建后。但是系统是不会自动删除手工创建的snapshot的,只能用snap delete命令去删除它们。

注意:删除任何snapshot的时候,特别不是通过snap sced命令产生的snapshot(比如snapmirror,snapvault产生的)

Snap sched参数的含义:

与snapshot相关的options命令:

1.4、NFS客户端如何使用snapshot

drwxrwxrwx 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 wangjun1

1.5、CIFS客户端如何使用snapshot

tan> options cifs.show_snapshot on

tan> vol options vol1 nosnap off

可以看见snapshot目录了。

最近的快照里面的内容。

1.6、测试从CIFS客户端利用snapshot恢复文件测试创建快照后,AFS文件系统变化后,如何利用快照恢复到前一状态。

tan> snap delete -a vol1 ==先删除vol1上面的所有快照

Are you sure you want to delete all snapshots for volume vol1? y Deleted vol1 snapshot hourly.2.

Deleted vol1 snapshot hourly.1.

Deleted vol1 snapshot hourly.0.

这个时候快照目录是空的。

tan> snap create vol1 tes

tan> snap list vol1

Volume vol1

working...

%/used %/total date name

---------- ---------- ------------ --------

0% ( 0%) 0% ( 0%) Dec 29 16:14 test ==看见此时快照没有空间占用

这时候在客户端,发现test目录下面的结构与AFS文件系统一致。

第四步:删除AFS里面的一个目录

快照中这个目录还是存在的。

再试验向共享中拷贝新的文件,发现快照目录里面是没有这个新文件的。

将快照中的wangjun目录拷贝到以前的位置,文件和目录就恢复了。

1.7、使用snap restore命令

对于LUN一级做snapshot,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选项指定了,则下面必须标明是恢复整个volume还是文件。也就是说snaprestore不能同时执行volume的snaprestore 和文件的snaprestore。

对于volume snaprestore:

Volume必须是online状态并没有镜像。如果恢复根卷则需要重启,如果恢复非根卷则不需要重启。当恢复的时候所有针对非根卷的访问全部终止,就象offline了一样。但其实volume offline了是保护了,不让用户访问,但也不让数据恢复了,所以这两种状态还是有区别的。

做完恢复了之后,volume就具有了和做快照那个时刻同样的状态。

对单个文件的snaprestore:

保存文件的Volume必须是online状态并没有镜像如果restore_as_path选项指定了,则必须是文件的全路径。

如果在volume没有足够的空间,则单个文件恢复不会执行,如果在AFS里面文件已经存在则会覆盖它。Snap命令会花费几分钟时间返回,这段时间客户端排他锁撤销。当snap命令返回,则恢复过程在后台开始执行,这段时间,任何试图去修改文件的操作都会挂起直到恢复完成,但是其它的文件snaprestore是可以做的。在恢复过程中,快照不能删除,新快照不能创建当单个文件恢复正在进行的时候,定义的计划snapshot也会暂时挂起。

对于tree、user、group的quota限制在恢复过程中也不强加,如果超过了quota的限制,则在恢复完成后,/etc/quota就需要改变,然后再执行quota resize命令。

恢复完成后文件的属性(大小、权限、属主等)与snapshot中的一致。

如果恢复过程中,系统宕机了,则重启后操作自动重新启动。

相关主题
文本预览
相关文档 最新文档