【存储】快照|写时重定向ROW和写时拷贝COW|RWM|小IO聚合

存储快照是特定时间点数据的参考标记,分为全量快照和增量快照。快照技术主要包括写时重定向(ROW)和写时拷贝(COW),ROW适合写密集型,COW适合读密集型。ROW在写入时直接重定向到快照卷,而COW则在写入前先拷贝数据到快照卷。此外,还介绍了RWM(写前读出修改)技术,适用于数据块不足一个BlockSize的情况。快照与备份不同,不应将其作为备份的替代品,但可以作为备份策略的补充。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

要解决的问题,快照究竟是在备份什么?

全球网络存储工业协会SNIA(Storage Networking Industry Association)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像(和索引----本人添加)。

快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。按照 SNIA 的定义, 快照有全量快照和增量快照两种类型, 其中又各自使用了不同的快照技术:

上面这个定义翻译过来后很难理解和产生歧义,更喜欢下面的(增量快照的)定义:

  1. 存储快照是特定时间点数据的一组参考标记。快照就像一个详细的目录表,为用户指向他们可以回滚到的数据的可访问副本。摘自:What is a Storage Snapshot? - https://www.techtarget.com/searchdatabackup/definition/storage-snapshot

存储快照是什么意思?

存储快照可以定义为一组指针,用于表示(denote )存储在存储设备上的数据。该存储设备可以是磁盘驱动器、磁带或存储区域网络 (SAN)。它可以被认为是一个目录,每个指针描述存储在磁盘上的信息或数据。计算机将此快照视为数据的完整备份。


存储快照提供了在创建快照时文件或设备的简明“外观”。它不是数据的精确复制品,而只是数据在特定时刻的快速“图片”。

What is a Storage Snapshot? -https://www.techopedia.com/definition/13596/storage-snapshot

以上的定义可以用一成语来形容:按图索骥。 图-->照片-->快照。 骥-->被快照的数据

所以快照应该是一个数据的目录。

这就解答了快照究竟是在备份什么


快照是对当前目录及以下的子树状态进行保存,创建快照相当于对目录树中(节点以下的子目录树)每个inode进行备份,因为inode承载了文件系统的全部信息。

快照分类

根据 SNIA,快照分为完整快照和增量快照,增量快照又分COW和ROW,共三种。它们使用不同的快照技术。

  • 全量快照:镜像分离(Split Mirror)。
  • 增量快照:
    • 写时拷贝(Copy-On-Write)
    • 写时重定向(Redirect-On-Write)

全量快照可以参考RAID1理解,创建快照时会生成一个源卷的镜像卷,在读操作时没有任何影响,在写操作时会有两次写入操作,分别是写入源卷与镜像卷。关于增量快照是本文的重点内容,下文将进行详细的介绍。

增量快照

增量快照包含COW和ROW两种,下面我们将介绍这两种快照技术的原理实现。

相关概念

  • 数据组织形式

    存储系统采用虚拟化存储技术。存储池中创建的LUN包含了元数据卷(Meta Volume)和数据卷(Data Volume)两部分组成。

    • 元数据卷(Meta Volume):记录LUN中数据组织形式及其属性的卷,结构形式为树形。
    • 数据卷(Data Volume):存放LUN中的实际数据的卷,数据读取和写入都以Extent为单位。
  • 源卷

    需要进行快照操作的源数据所在的卷,对用户而言表现形式为源LUN。源LUN包括Meta Volume和Data Volume:

    • Meta Volume:记录源数据在源LUN中的存在位置。
    • Data Volume:记录源LUN中存放的业务数据。
  • 快照卷

    对源LUN创建快照后,逻辑上生成的数据副本。对用户而言表现形式为快照LUN。快照LUN包括Snapshot Meta Volume和Snapshot Data Volume:

    • Snapshot Meta Volume:快照元数据卷。每生成一份快照,就会建立一个Snapshot Meta Volume。
    • Snapshot Data Volume:与Snapshot Meta Volume对应的数据卷。记录的是写快照时产生的数据。
  • COW数据空间

    快照生成并激活后,存储系统在源LUN所在的存储池中动态划分一部分存储空间,用于保存写前拷贝数据。同一个源LUN对应的所有快照LUN共享同一个COW数据空间。COW数据空间包括COW Meta区域和COW Data区域:

    • COW Meta区域:同一个源LUN下所有快照共用的元数据区。用于存放写源LUN时所有快照LUN所产生的写前拷贝映射项,即写前拷贝数据与其在COW Data区域中存放位置的对应关系。
    • COW Data区域:与COW Meta区域对应的数据空间。用于存放写源LUN时产生的写前拷贝数据。
  • 映射表

    映射表用于记录源LUN数据和快照LUN数据的在某个时间点的改变情况以及改变后的存储位置。映射表分为共享映射表和独享映射表:

    • 共享映射表存放在COW Meta区域中,用于记录写源LUN时产生的写前拷贝数据与其在COW Data区域中存放位置的映射关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值