技术分享
创建和维护文件系统的快照
2017-05-03
创建和维护文件系统的快照
可以创建整个GPFS文件系统的快照,以便在单个时间点保留文件系统的内容。 整个文件系统的快照也称为全局快照。 用于维护快照的存储开销是保留数据块的副本,否则在快照时间之后将更改或删除这些数据块。
文件系统的快照是只读的; 只能对活动(即普通,非快照)文件和目录进行更改。
快照功能允许备份或镜像程序与用户更新同时运行,并且在创建快照时仍可获得文件系统的一致副本。 快照还提供在线备份功能,可以轻松恢复常见问题,例如意外删除文件,以及与旧版本的文件进行比较。
注意事项:
由于快照不是整个文件系统的副本,因此不应将其用作防止介质故障的保护。 有关防止介质故障的信息,请参阅“IBM Spectrum Scale:概念,规划和安装指南”中的“可恢复性注意事项”主题。
文件集快照提供了一种方法来创建独立文件集的快照,而不是整个文件系统。 有关文件集快照的详细信息,请参阅“文件集级别快照”。
文件的快照会创建一个新文件,该文件用于从原始文件中捕获用户数据和用户属性。 快照文件独立于原始文件。 对于DMAPI受管文件系统,无论原始文件的状态如何,DMAPI都不会自动管理文件的快照。 快照不会继承原始文件中的DMAPI属性。 有关GPFS的DMAPI限制的更多信息,请参阅IBM Spectrum Scale:命令和编程参考。
存在快照时,从活动文件系统中删除文件并不总是导致实际释放任何空间; 相反,可以将块推送到上一个快照。 在这种情况下,释放空间的方法是删除最旧的快照。 在创建新快照之前,最好确保文件系统不会接近满。
克隆的使用在功能上提供了可写快照。 请参阅“创建和管理文件克隆”。
GPFS文件系统快照的管理包括:
“创建快照”
“列出快照”
“从快照恢复文件系统”
“使用策略引擎读取快照”
“链接到快照”
“删除快照”
创建快照
使用mmcrsnapshot命令可在单个时间点创建整个GPFS文件系统的快照。 快照在文件系统树中显示为根的隐藏子目录。
全局快照显示在文件系统根目录的子目录中,其默认名称为.snapshots。 如果您希望从每个目录访问快照而不是遍历根目录,则可以通过发出mmsnapdir命令使用不可见目录来建立连接。有关详细信息,请参阅“链接到快照”。
文件系统(即Device)的快照由mmcrsnapshot命令上的SnapshotName名称标识。 例如,如果文件系统fs1要创建快照snap1,输入:
mmcrsnapshot fs1 snap1
输出类似于:
Writing dirty data to disk. Quiescing all file system operations. Writing dirty data to disk again. Snapshot snap1 created with id 1.
在发出命令之前,目录结构将类似于:
/fs1/file1 /fs1/userA/file2 /fs1/userA/file3
发出命令后,目录结构将类似于:
/fs1/file1 /fs1/userA/file2 /fs1/userA/file3 /fs1/.snapshots/snap1/file1 /fs1/.snapshots/snap1/userA/file2 /fs1/.snapshots/snap1/userA/file3
如果稍后要创建第二个快照,则第一个快照将保持原样。 快照只能由活动文件系统制成,而不能由现有快照制作。 以下命令创建同一文件系统的另一个快照:
mmcrsnapshot fs1 snap2
输出类似于:
Writing dirty data to disk. Quiescing all file system operations. Writing dirty data to disk again. Snapshot snap2 created with id 2.
发出命令后,目录结构将类似于:
/fs1/file1 /fs1/userA/file2 /fs1/userA/file3 /fs1/.snapshots/snap1/file1 /fs1/.snapshots/snap1/userA/file2 /fs1/.snapshots/snap1/userA/file3 /fs1/.snapshots/snap2/file1 /fs1/.snapshots/snap2/userA/file2 /fs1/.snapshots/snap2/userA/file3
有关完整的用法信息,请参阅IBM Spectrum Scale:命令和编程参考中的mmcrsnapshot命令主题。
列出快照
使用mmlssnapshot命令显示文件系统的现有快照及其属性。
-d选项显示快照使用的存储量。 在报告和确定是否已超出配额限制时,GPFS配额管理不会将用于存储快照的数据块考虑在内。 这是一个缓慢的操作,建议仅用于问题确定。
例如,要显示文件系统fs1的快照信息以及其它存储信息,请发出以下命令:
mmlssnapshot fs1 -d
系统显示类似于的信息:
Snapshots in file system fs1: [data and metadata in KB] Directory SnapId Status Created Data Metadata snap1 1 Valid Fri Oct 17 10:56:22 2003 0 512
有关完整的使用信息,请参阅IBM Spectrum Scale:命令和编程参考中的mmlssnapshot命令主题。
从快照还原文件系统
使用mmrestorefs命令从快照还原活动文件系统中的用户数据和属性文件。
在发出mmrestorefs命令之前,请确保已挂载文件系统。 从独立文件集快照还原时,请确保文件集处于链接状态。
mmrestorefs命令不会修改现有快照(包括还原中使用的快照)。 要获取已还原的文件系统的快照,必须先发出mmcrsnapshot命令以捕获它,然后再次发出mmrestorefs命令。
例如,假设您有一个类似于以下内容的目录结构:
/fs1/file1 /fs1/userA/file2 /fs1/userA/file3 /fs1/.snapshots/snap1/file1 /fs1/.snapshots/snap1/userA/file2 /fs1/.snapshots/snap1/userA/file3
如果随后删除目录userA,则结构将类似于:
/fs1/file1 /fs1/.snapshots/snap1/file1 /fs1/.snapshots/snap1/userA/file2 /fs1/.snapshots/snap1/userA/file3
然后使用最初分配给userA的inode创建目录userB,并拍摄另一个快照:
mmcrsnapshot fs1 snap2
输出类似于:
Writing dirty data to disk. Quiescing all file system operations. Writing dirty data to disk again. Snapshot snap2 created with id 2.
生成的目录结构类似于以下内容:
/fs1/file1 /fs1/userB/file2b /fs1/userB/file3b /fs1/.snapshots/snap1/file1 /fs1/.snapshots/snap1/userA/file2 /fs1/.snapshots/snap1/userA/file3 /fs1/.snapshots/snap2/file1 /fs1/.snapshots/snap2/userB/file2b /fs1/.snapshots/snap2/userB/file3b
然后从snap1恢复文件系统:
mmrestorefs fs1 snap1
生成的目录结构类似于以下内容:
/fs1/file1 /fs1/userA/file2 /fs1/userA/file3 /fs1/.snapshots/snap1/file1 /fs1/.snapshots/snap1/userA/file2 /fs1/.snapshots/snap1/userA/file3 /fs1/.snapshots/snap2/file1 /fs1/.snapshots/snap2/userB/file2b /fs1/.snapshots/snap2/userB/file3b
有关完整的用法信息,请参阅IBM Spectrum Scale:命令和编程参考中的mmrestorefs命令主题。
使用策略引擎读取快照
您可以使用策略引擎读取快照的内容以进行备份。 mmapplypolicy命令提供**-S**选项以在策略运行期间指定快照。 策略引擎不是将规则与活动文件系统匹配,而是将规则与快照中的文件进行匹配。
注意事项:
快照是只读的。 进行更改或删除文件的策略规则(如MIGRATE或DELETE)不能与快照一起使用。
mmapplypolicy的实例只能扫描一个快照。 将其定向到.snapshots目录本身将导致失败。
有关完整的用法信息,请参阅IBM Spectrum Scale:命令和编程参考中的mmapplypolicy命令主题。
链接到快照
快照根目录显示在文件系统根目录下的特殊.snapshots目录中。
如果您希望直接链接到快照,而不是始终遍历根目录,则可以将mmsnapdir命令与**-a选项配合使用,以便将文件系统中的所有目录添加到.snapshots子目录。这些.snapshots**子目录将包含一个链接,该链接指向包括活动文件系统中的目录的每个快照的对应目录。
但是,与根目录中的**.snapshots不同,由msnapdir命令的-a选项添加的.snapshots目录在ls命令或readdir()函数不返回.snapshots的意义上是不可见的。 这是为了防止递归文件系统实用程序(如find或tar**)进入它们处理的每个目录的快照树。 例如,如果输入ls -a /fs1/userA,则不会列出**.snapshots目录。 但是,您可以输入ls /fs1/userA/.snapshots或cd /fs1/userA/.snapshots以确认存在.snapshots**。 如果用户想要使其中一个快照目录更加可见,则建议创建指向**.snapshots**的符号链接。
在这些特殊**.snapshots目录中使用的inode编号是动态构造的,不遵循标准规则。 这些inode编号通过标准命令(例如stat**,readdir或ls)对应用程序可见。 报告的这些目录的inode编号也可以在不同的操作系统上进行不同的报告。 应用程序不应期望此类inode的编号一致。
在mmsnapdir命令上指定**-r选项会反转-a选项的效果,并还原为根目录中单个.snapshots**目录的默认行为。
-s选项允许您更改**.snapshots**目录的名称。 有关完整的用法信息,请参阅IBM Spectrum Scale:命令和编程参考中的mmsnapdir命令主题。
为了说明这一点,假设一个名为fs1的GPFS文件系统(位于/ fs1)有一个名为snap1的快照。 文件系统可能与此类似:
/fs1/userA/file2b /fs1/userA/file3b /fs1/.snapshots/snap1/userA/file2b /fs1/.snapshots/snap1/userA/file3b
要从每个目录创建指向快照的链接,并使用名称**.link而不是.snapshots**,请输入:
mmsnapdir fs1 -a -s .links
命令完成后,目录结构将类似于:
/fs1/userA/file2b /fs1/userA/file3b /fs1/userA/.links/snap1/file2b /fs1/userA/.links/snap1/file3b /fs1/.links/snap1/userA/file2b /fs1/.links/snap1/userA/file3b
要删除链接,请发出:
mmsnapdir fs1 -r
命令完成后,目录结构类似于以下内容:
/fs1/userA/file2b /fs1/userA/file3b /fs1/.links/snap1/userA/file2b /fs1/.links/snap1/userA/file3b
有关完整的用法信息,请参阅IBM Spectrum Scale:命令和编程参考中的mmsnapdir命令主题。
删除快照
使用mmdelsnapshot命令删除文件系统的GPFS快照。
例如,要删除文件系统fs1的snap1,请输入:
mmdelsnapshot fs1 snap1
输出类似于:
Invalidating snapshot files... Deleting snapshot files... 100.00 % complete on Tue Feb 28 10:40:59 2012 Delete snapshot snap1 complete, err = 0
有关完整的使用信息,请参阅IBM Spectrum Scale:命令和编程参考中的mmdelsnapshot命令主题。
使用IBM Spectrum Scale GUI管理快照
使用IBM Spectrum Scale GUI中的Files> Snapshots页面通过GUI管理快照。
快照可用于需要多个恢复点的环境中。 可以对文件系统或文件集数据进行快照,然后如果生产数据不可用,则可以从快照中恢复数据。
注意:
快照是只读的; 只能对正常和活动文件和目录进行更改,而不能对快照进行更改。
获取独立文件集的快照时,快照中仅包含嵌套的相关文件集。
使用快照规则调度快照创建
您可以手动创建快照或创建快照规则以自动创建快照和保留快照。
要手动创建快照,请单击“快照”页面中的“创建快照”,然后在“创建快照”窗口的“手动”选项卡下输入所需的详细信息。 输入详细信息后单击“创建”。
通过创建快照规则,您可以自动创建快照和保留快照。 也就是说,在快照规则中,您可以指定必须创建快照的频率以及一段时间内必须保留的快照数。 保留策略有助于避免不必要的快照存储,从而导致存储资源的浪费。
保留策略具有以下参数:
快照创建的频率
要保留的最新快照数。 根据快照创建的频率确定最新快照。
您需要保留每天最新快照的天数。
您需要保留每周最新快照的周数。
您需要保留每月最新快照的月数。
保留策略示例场景
下表提供了针对这些参数指定的值的示例。
保留周期示例
频率 | 分钟 | 最近的快照数 | 保留最新的快照 | |||
小时 | 天 | 周 | 月 | |||
每小时 | 1 | 2 | 2 | 6 | 2 | 3 |
根据此保留规则,将在2016年3月20日上午06:10创建并保留以下快照:
示例 - 根据保留策略保留的快照时间戳
时间戳 | 保留快照的条件 |
---|---|
12月31日(星期四,晚上11:01) | 保留最近3个月的最新快照 |
1月31日(星期日,晚上11:01) | 保留最近3个月的最新快照 |
2月29日(星期一,晚上11:01) | 保留最近3个月的最新快照 |
3月5日(星期六,晚上11:01) | 保留最近2周的最新快照 |
3月12日(星期六,晚上11:01) | 保留最近2周的最新快照 |
3月14日(星期一,晚上11:01) | 保留最近6天的最新快照 |
3月15日(星期二,晚上11:01) | 保留最近6天的最新快照 |
3月16日(星期三,晚上11:01) | 保留最近6天的最新快照 |
3月17日(星期四,晚上11:01) | 保留最近6天的最新快照 |
3月18日(星期五,晚上11:01) | 保留最近6天的最新快照 |
3月19日(星期六,晚上11:01) | 保留最近6天的最新快照 |
3月20日(周日,早上5:01) | 保持最近2个快照 |
3月20日(星期日,上午6:01) | 保持最近2个快照 |
根据此规则,2016年3月20日上午06:10将保留13个快照。
要计划快照创建和保留,请执行以下步骤:
转到文件>快照。
单击“创建快照”。
在“创建快照”窗口中,输入需要为其创建快照的文件系统或独立文件集的路径。
在“快照名称”字段中,指定快照的名称。
单击“快照规则”。
单击“创建规则”以计划快照创建和保留。 将显示“创建快照规则”窗口。
在“名称”字段中,键入快照计划规则的名称。
在“频率”字段中,选择创建快照所需的频率。 您需要根据“频率”字段中选择的值输入更多详细信息。 例如,如果选择的值是“每小时多次”,请选择您需要创建快照的小时的分钟数。
在“保留”字段中,指定一段时间内必须保留的快照数。
在“前缀”字段中,指定要添加的前缀以及使用此规则创建的快照的名称。
单击“确定”以保存更改。
如果未指定快照的名称,则会给出默认名称。 使用格式“@ GMT-yyyy.MM.dd-HH.mm.ss”在创建时生成默认快照ID。 如果给出此选项并且省略了“@ GMT-date-time”格式,则Windows VSS将无法识别此快照,并且该方法无法进行文件还原。 避免使用空格,双引号和单引号,括号(),星号*,正斜杠/和反斜杠\。
删除快照
要手动删除快照,请右键单击“快照”页面中的快照,然后选择“删除”。 根据快照创建规则自动创建的快照将根据规则中指定的保留期自动删除。 当满足删除条件时,GUI立即开始删除快照候选。
创建和删除对等和RPO快照
对等和恢复点目标(RPO)快照用于AFM和AFM DR配置,以确保数据完整性和可用性。 拍摄对等快照时,它会创建缓存文件集的快照,然后在主站点对快照创建进行排队。 这可确保缓存和主站点的应用程序一致性。 RPO快照是一种在AFM DR设置中使用的对等快照。 它用于维护AFM DR配置中主站点和辅助站点之间的一致性。
使用“文件”>“快照”页面中的“创建对等快照”选项可以创建对等快照。 您可以从“快照”页面以及“文件”>“活动文件管理”页面的详细视图中查看和删除这些对等快照。
文件集和全局快照
GPFS全局快照保留整个文件系统的内容,包括其所有文件集,甚至是未链接的文件集。
快照中的文件集状态不受对活动文件系统中的文件集所做的更改的影响,例如取消链接,链接或删除。 可以通过.snapshots目录访问保存的文件系统,并且命名空间(包括所有链接的文件集)与创建快照时一样。 快照中无法访问未链接的文件集,因为它们位于活动文件系统中。 但是,还原快照还会还原未链接的文件集,然后可以重新链接和访问这些文件集。
如果文件集包含在全局快照中,则可以将其删除,但不会从文件系统中完全删除。 在这种情况下,文件集清空所有内容并被赋予“已删除”状态。 即使在删除文件集之后,文件集的内容在包含文件集的快照(即通过包含**.snapshots**组件的某个路径)中仍然可用,因为创建快照时会保存文件集的所有内容。 文件集保持已删除状态,直到删除包含它的最后一个快照,此时文件集将自动删除。
如果在创建文件集之后创建快照,则文件集将包含在全局快照中。 删除的文件集出现在mmlsfileset和mmlsfileset --deleted命令的输出中,-L选项可用于显示包含文件集的最新快照。
在从全局快照还原期间,可以更改快照中包含的文件集的属性。 全局快照中包含的文件集将恢复到以前的状态,并删除较新的文件集。此外,还原可能会取消删除已删除的文件集并将已链接的文件集更改为取消链接,反之亦然。 如果自拍摄快照以来更改了文件集的名称,则将还原旧的文件集名称。
文件集级快照
可以创建文件集快照,而不是创建整个文件系统的全局快照,以保留单个独立文件集的内容以及共享相同inode空间的所有相关文件集。
如果独立文件集具有共享其inode空间的依赖文件集,则独立文件集的快照也将包括这些依赖文件集。 换句话说,文件集快照是整个inode空间的快照。
每个独立文件集在文件集的根目录中都有自己的隐藏.snapshots目录,该目录包含任何文件集快照。 mmsnapdir命令允许设置一个选项,使全局快照也可通过所有独立文件集的根目录中的**.snapshots获得。 文件系统根目录中的.snapshots目录列出了根文件集的全局快照和文件集快照(根文件集是独立的文件集)。 可以使用mmsnapdir**命令自定义此行为。
文件集快照名称不必在不同的文件集中是唯一的,因此对两个不同文件集的文件集快照使用相同的名称是有效的,因为它们将出现在两个不同文件集根目录中的**.snapshots**下。
您可以使用mmrestorefs命令恢复独立的文件集快照数据和属性文件。 有关完整的用法信息,请参阅IBM Spectrum Scale:命令和编程参考中的mmrestorefs命令主题。

- 标签:
-
容灾备份