所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

OceanStor 9000 V300R006C10 文件系统特性指南 05

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
原理描述

原理描述

介绍快照的创建、快照创建完成后数据写入和读取、快照回滚的过程。

OceanStor 9000的文件系统中,每个文件均由元数据和数据两部分组成,目录仅包含元数据,其中:

  • 元数据:是描述数据属性的信息,包括目录项(dentry)和索引节点(inode)。dentry记录文件名、父目录和子目录等信息,并实现文件名与inode之间的映射。inode则包含文件的大小、创建时间、访问时间、权限及数据块位置等信息。
  • 数据:对于文件而言,数据就是文件中的内容。OceanStor 9000将数据划分为分条(Stripe)。

文件系统数据组织结构示意如图5-1所示。

图5-1  文件系统数据组织结构示意

概念介绍

  • COW(Copy On Write)

    写时拷贝,是一种快照技术,即受快照保护的数据要发生变化时,先将待修改的数据对象拷贝至另一个存储位置,保存下来作为快照版本,再将修改的数据覆盖写入原数据对象中。

    由于COW的过程中需要执行1次读操作和2次写操作,故结合元数据写操作少、读操作多、占用空间少等特点,OceanStor 9000对元数据使用COW技术。

  • ROW(Redirect On Write)

    重定向写,是一种快照技术,即受快照保护的数据要发生变化时,将修改的数据写入新的存储位置,不覆盖当前的数据。

    OceanStor 9000对数据使用ROW技术。由于数据量大,采用ROW的方式,减小对系统的性能影响。

说明:

OceanStor 9000对不同时刻创建的快照数据使用不同的快照号进行管理,称之为快照版本。

元数据COW

元数据COW,是指快照后第一次修改元数据前,对文件/目录的inode和dentry进行一次拷贝,生成元数据对应的快照版本后,再对原始元数据进行修改。一旦快照版本生成后,在同一快照保护内对该文件原始位置元数据的再次修改将不会再次执行COW操作,而是直接更新原始位置的元数据。

元数据的修改场景如表5-3所示。

表5-3  元数据修改场景

场景

说明

创建文件(包括软连接)或目录

仅生成父目录的快照版本。

删除文件(包括软连接)或目录

分别生成父目录及删除的文件或目录的快照版本。

修改属性

仅生成当前目录或文件的快照版本。

重命名

对快照保护目录下的子目录或文件进行重命名时,若父目录已生成快照版本,则此次的重命名操作只生成重命名目录或文件的快照版本;若父目录还未生成快照版本,则此次的重命名操作将生成父目录的快照版本,以及重命名目录或文件的快照版本。

根据图5-1的数据结构,以删除一个目录为例,元数据COW的过程如图5-2所示。

图5-2  删除目录时的元数据COW

数据ROW

数据ROW,是指快照后数据写入新的对象中,不覆盖原来的对象。

根据图5-1的数据结构,数据ROW的过程如图5-3所示。

图5-3  数据ROW

快照数据读取

对于文件系统,快照需要保存的是文件的数据内容和元数据内容。快照遵从最小开销的原则,只记录变化的内容,对于没有发生变化的内容共用。这就意味着快照的不同版本之间、快照同当前版本之间存在着共用的数据。

数据的对象之间根据快照版本存在着向前依赖的关系。因此在读取快照数据时,系统根据对象的依赖关系确定应从哪个对象中读取。

图5-4  读取数据

图5-4所示。

  1. 在文件未被快照保护前,数据写入对象V.0中。对数据的任何修改操作,直接写入对象V.0进行覆盖。
  2. 创建快照10,数据未发生任何改变时,从对象V.10中对数据进行读写。默认的,在数据分条没有发生写操作的情况下,数据分条向前依赖,均指向对象V.0中。
  3. 创建快照10后,数据发生改变时,变化的数据(Stripe3、Stripe4、Stripe5)写入到对象V.10中,未变化的数据(Stripe1、Stripe2)根据向前依赖关系从对象V.0中读取。
  4. 创建快照20,数据未发生任何改变时,根据向前依赖关系从对象V.20中对数据进行读取。
  5. 创建快照20后,数据发生改变时,变化的数据(Stripe1、Stripe3、Stripe5)写入到对象V.20中,未变化的数据Stripe2从对象V.0中读取,Stripe4从对象V.10中读取。

快照删除

快照删除是指将某个时刻的快照元数据和数据删除,且快照删除只删除快照版本的独有数据。

图5-5  快照数据删除
图5-5所示,以删除快照20为例。
  1. 当前文件存在快照10和快照20,文件数据从当前对象(V.20)中读取。
  2. 删除快照20,因Stripe3@snap20和Stripe5@snap20为快照20独有数据故删除,当前文件依旧遵循向前依赖的关系从对象V.10中读取Stripe4数据故保留。其他未发生变化的数据依旧遵循向前依赖的关系从对象V.0中读取。

快照回滚

快照回滚是指将当前数据恢复到某个时刻的快照数据。

InfoStamper的快照回滚功能目前仅应用于InfoReplicator特性中,且只支持最新快照的回滚。若需要回滚到非最新快照版本,需要删除回滚版本之后的快照,再执行回滚操作。

图5-6  快照数据回滚

图5-6所示,以删除快照20,回滚到快照10为例。

  1. 当前文件存在快照10和快照20,文件数据从当前对象(V.20)中读取。
  2. 删除快照20,回滚到快照10,拷贝快照10(V.0)中的快照数据并覆盖到当前对象(V.20)中。其他未发生变化的数据依旧遵循向前依赖的关系从对象V.0中读取。
说明:

用户快照数据的回滚可以通过Windows卷影拷贝(Volume Shadow Copy Services或Shadow Copy)或者手工拷贝来恢复快照。

翻译
下载文档
更新时间:2019-03-30

文档编号:EDOC1000162199

浏览量:30617

下载量:108

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页