netapp存储配置练习snapshot.docx

上传人:b****5 文档编号:6945597 上传时间:2023-01-13 格式:DOCX 页数:15 大小:281.54KB
下载 相关 举报
netapp存储配置练习snapshot.docx_第1页
第1页 / 共15页
netapp存储配置练习snapshot.docx_第2页
第2页 / 共15页
netapp存储配置练习snapshot.docx_第3页
第3页 / 共15页
netapp存储配置练习snapshot.docx_第4页
第4页 / 共15页
netapp存储配置练习snapshot.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

netapp存储配置练习snapshot.docx

《netapp存储配置练习snapshot.docx》由会员分享,可在线阅读,更多相关《netapp存储配置练习snapshot.docx(15页珍藏版)》请在冰豆网上搜索。

netapp存储配置练习snapshot.docx

netapp存储配置练习snapshot

NetApp存储基础学习汇总(第七部分)

一、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大小HomeDirectory的用户,其数据通常每天只变动100到500KB。

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

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

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

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

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

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

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

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

●最初只消耗很小的磁盘空间

●DataONTAP是可以自动创建和删除snapshot的。

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

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

针对volume的snapshot:

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

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

针对aggregate的snapshot:

创建一个aggregate会预留5%的空间作为sanpshot,

创建snapshot可以根据自动的时间表。

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

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

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>aggrshow_space-haggr1←=看aggr上面的空间分配

Aggregate'aggr1'

TotalspaceWAFLreserveSnapreserveUsablespaceBSRNVLOGA-SIS

6000MB600MB270MB5130MB0KB0KB

tan>snapreservevol1←==看某个卷预留了多少

Volumevol1:

currentsnapshotreserveis20%or204800k-bytes.

tan>snaplist

Volumevol1

working...

%/used%/totaldatename

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

26%(26%)0%(0%)Dec2720:

00hourly.0

40%(25%)0%(0%)Dec2716:

00hourly.1←=目前预留的空间占用了40%

对于传统卷磁盘空间是怎么分配的?

Aggregate:

每个aggregate分配了10%的空间预留给WAFL文件系统。

对于传统卷:

每个卷预留了20%的空间给snapshot.给snap预留的空间比例是可以调整的。

Snap预留

WAFL文件系统预留

Aggregate

整个aggr空间的10%

Aggr里面的传统卷

传统卷的20%,其它给客户数据

=============→

为snapshot预留的空间可以扩展到用户空间只要系统需要,比如在AFS文件系统中发生大量的改变,这时候预先分配的空间比例满足不了要求的时候,snap空间就会占用数据空间。

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

1.3、使用snapshot相关命令

snapcreate[-A|-V][vol-name][snap_name]

tan>snapcreatevol1satday←=创建一个snapshot,对于下面所有命令-A代表aggrerate

-V代表volume,缺省是针对volume,没指定是那个卷,就是指根卷。

snaplist[-A|-V][vol-name]←=列出指定卷上的snapshot

tan>snaplistvol1

Volumevol1

working...

%/used%/totaldatename

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

0%(0%)0%(0%)Dec2914:

07satday

0%(0%)0%(0%)Dec2720:

00hourly.0

1%(0%)0%(0%)Dec2716:

00hourly.1

%used显示了累计的snapshot占用的空间与AFS占用空间的比率,()里面表示这个snapshot占用空间与AFS占用空间的比率。

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

date列:

是snapshot创建时间。

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

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

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

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

注意:

删除任何snapshot的时候,特别不是通过snapsced命令产生的snapshot(比如snapmirror,snapvault产生的)的时候,要特别小心,要确保要删除的不是最新的snapshot。

如果删错了会夯住snapmirror和snapvault进程。

snapdelete[-A|-V][vol-name][snap_name]

tan>snapdeletevol1satday←===删除某个卷上的某个快照

TueDec2914:

34:

03CST[wafl.snap.delete:

info]:

Snapshotcopysatdayonvolumevol1NetAppwasdeletedbytheDataONTAPfunctionsnapcmd_delete.TheuniqueIDforthisSnapshotcopyis(3,227).

snapdelete[-A|-V][vol-name]←==删除卷上面所有的快照,比如要建立一个新的snapscehed

tan>snapdelete-avol1←===删除某个卷上的所有快照

Areyousureyouwanttodeleteallsnapshotsforvolumevol1?

y

Deletedvol1snapshothourly.2.

Deletedvol1snapshothourly.1.

Deletedvol1snapshothourly.0.

snapreserve[-A|-V][vol-name][percent]←===设置snapshot空间预留比例

一般预留整个卷容量的20%。

可以使用snapreserve命令修改这个比例,最好不要低于20%,不推荐这么做,不输入比例就显示出现在的空间分配情况。

tan>snapsched←===显示当前的snap时间表

Volumevol0:

026@8,12,16,20

Volumevol1:

026@8,12,16,20←=代表最近2天和最近6小时的snapshot将保留,而每天8am,12am,16pm,20pm做snapshot。

这个命令相当于指定了什么做snapshot,各种类型的snapshot保留多长时间。

tan>snapdeltavol1←=显示snapshot中变化数据的比率。

Volumevol1

working...

FromSnapshotToKBchangedTimeRate(KB/hour)

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

testActive1099880d00:

17373896.883

tan>snaplist-qvol1

Volumevol1

working...

qtreecontentsdatesource

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

test(Dec2916:

14)

qtree1OriginalDec2916:

14-

qtree2OriginalDec2916:

14-

qtree3OriginalDec2916:

14-

Snapsched参数的含义:

参数

意义

weeks

指定每个星期多少快照将要被保留(default:

0).

days

指定每天多少了快照将要保留。

(default:

MondaythroughSaturdayatmidnight).

hours

指定每个小时多少快照需要被保留。

缺省四个小时做一个(default:

8AM,12Noon,4PM,and8PM).

hours@list

指定具体哪些时间做快照(24-hourclock).

与snapshot相关的options命令:

voloptionsvol1nosnapon

关闭自动snapshot功能。

但在任何时候还可以手动创建。

voloptionsvol1nosnapdiron

让客户端可以看见或不能看见,能访问或者不能访问(~snapshot)目录。

对于NFS,目录是.snapshot,对于CIFS是~snapshot。

optionscifs.show_snapshoton

让~snapshot目录对于客户端是可见的。

对于CIFS要达到此目录,需要做下面2步:

1)打开optionscifs.show_snapshoton

2)关闭voloptionsvol1nosnapoff

tan>snapautodeletevol1←===允许灵活卷自动删除快照,缺省是disabled

snapshotautodeletesettingsforvol1:

state:

off

commitment:

try

trigger:

volume

target_free_space:

20%

delete_order:

oldest_first

defer_delete:

user_created

prefix:

(notspecified)

1.4、NFS客户端如何使用snapshot

tan>voloptionsvol1nosnapdiroff←==在存储一端执行此命令,让客户端可以看见.snapshot目录

在NFS客户端mount上共享资源

-bash-3.00#ls-la

total146

drwxrwxrwx19rootroot4096Dec2913:

10.

drwxr-xr-x42rootroot1024Dec2512:

33..

drwxrwxrwx4rootroot4096Dec2914:

34.snapshot

drwxrwxrwx7rootother4096Dec2913:

10CommonFiles

-bash-3.00#pwd

/tan/.snapshot/hourly.0

-bash-3.00#ls-l

total40

drwxrwxrwx2rootroot4096Dec2719:

06qtree1

drwxrwxrwx3rootroot4096Dec2715:

28qtree2

drwxrwxrwx2rootroot4096Dec2719:

06qtree3

drwxrwxrwx2rootroot4096Dec2719:

28wangjun

drwxrwxrwx2rootroot4096Dec2719:

56wangjun1

1.5、CIFS客户端如何使用snapshot

tan>optionscifs.show_snapshoton

tan>voloptionsvol1nosnapoff

可以看见snapshot目录了。

最近的快照里面的内容。

1.6、测试从CIFS客户端利用snapshot恢复文件

测试创建快照后,AFS文件系统变化后,如何利用快照恢复到前一状态。

第一步:

tan>snapdelete-avol1←==先删除vol1上面的所有快照

Areyousureyouwanttodeleteallsnapshotsforvolumevol1?

y

Deletedvol1snapshothourly.2.

Deletedvol1snapshothourly.1.

Deletedvol1snapshothourly.0.

第二步:

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

第三步:

手工的创建一个快照。

tan>snapcreatevol1tes

 

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

第四步:

删除AFS里面的一个目录

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

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

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

1.7、使用snaprestore命令

对于LUN一级做snapshot,netapp的建议是最好一个volume上面创建一个LUN。

因为做恢复的时候只能针对volume或者file来做恢复。

snaprestore[-f][-tvol|file][-ssnapshot_name][-rrestore_as_path]vol_name|restore_from_path

从指定的snapshot恢复一个volume,或者恢复一个单独的文件。

这个命令没有license是看不见的。

如果你没有指定snapshot,则系统会提示你输入一个snapshot。

在恢复volume或文件这些操作前会让用户确认,-f选项会禁止确认这步。

如果-t选项指定了,则下面必须标明是恢复整个volume还是文件。

也就是说snaprestore不能同时执行volume的snaprestore和文件的snaprestore。

对于volumesnaprestore:

Volume必须是online状态并没有镜像。

如果恢复根卷则需要重启,如果恢复非根卷则不需要重启。

当恢复的时候所有针对非根卷的访问全部终止,就象offline了一样。

但其实volumeoffline了是保护了,不让用户访问,但也不让数据恢复了,所以这两种状态还是有区别的。

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

对单个文件的snaprestore:

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

如果在volume没有足够的空间,则单个文件恢复不会执行,如果在AFS里面文件已经存在则会覆盖它。

Snap命令会花费几分钟时间返回,这段时间客户端排他锁撤销。

当snap命令返回,则恢复过程在后台开始执行,这段时间,任何试图去修改文件的操作都会挂起直到恢复完成,但是其它的文件snaprestore是可以做的。

在恢复过程中,快照不能删除,新快照不能创建当单个文件恢复正在进行的时候,定义的计划snapshot也会暂时挂起。

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

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

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

命令实践

tan>snaprestore-tvol-stestvol1←==恢复整个卷

WARNING!

Thiswillrevertthevolumetoaprevioussnapshot.

Allmodificationstothevolumeafterthesnapshotwillbe

irrevocablylost.

Volumevol1willbemaderestrictedbrieflybeforecomingbackonline.

Areyousureyouwanttodothis?

y

Youhaveselectedvolumevol1,snapshottest

Proceedwithrevert?

y

Apply_WaitForPendingCloseShare()-waitingforsharestoclose...

Apply_WaitForPendingCloseShare()-allsharesarenowclose

ShareCIFS.HOMEDIRdisabledwhilevolumevol1isoffline.

Sharetest1disabledwhilevolumevol1isoffline.

Sharetest2disabledwhilevolumevol1isoffline.

Sharetestdisabledwhilevolumevol1isoffline.

TueDec2917:

19:

42CST[wafl.snaprestore.revert:

notice]:

Revertingvolumevol1toaprevioussnapshot.

ShareCIFS.HOMEDIRactivated.

Sharetest1activated.

Sharetest2activated.

Sharetestactivated.

TueDec2917:

19:

43CST[cifs.homedir.activateEntries:

info]:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1