Netapp OnTap 7 中的 FlexClone 拆分

Netapp OnTap 7 中的 FlexClone 拆分

我有一个大卷,其中只包含一个 NFS 共享,我想将其拆分。其中的 500GB(三个特定子目录)需要放入新卷中。我想避免再次写入这些数据。以下是我认为可行的方法,但一位同事认为它行不通:

  • Flexclone 大卷
  • 在管理服务器上,挂载 flexcloned 卷并删除所有其他子目录
  • 挂载原始卷并删除三个子目录
  • 分裂克隆

我的理解是,当您拆分 FlexClone 时,只有具有多个指针的 WAFL 块会被复制。理论上,我不应该有任何(或很多)这样的块。我会剩下两个包含完全不同数据的非链接卷,而且 500GB 中的任何一个都不会被写入。

是这样吗?如果我从源卷中删除一些数据后拆分 FlexCloned 卷,它会复制这些块吗?

答案1

这完全说得通——因为您知道原始数据将驻留在磁盘的原始位置,不会被复制。只有对它的引用会发生变化:

FlexClone

现在您可以删除相应位置中不需要的数据,删除快照(我认为)并执行以下操作vol clone split

开始将名为 Widget 的 FlexClone 卷从其父 FlexVol 卷中拆分的过程。拆分将复制与该 FlexClone 卷关联的所有块目前居住在父 FlexVol 卷中。该过程可能需要一段时间才能完成,并在后台进行。之后,该卷将成为一个独立的 FlexVol 卷,并重新启用空间保证。

(如果它不允许您删除快照,您需要先进行拆分,然后复制数据)


来源:http://www.redbooks.ibm.com/redpapers/pdfs/redp4133.pdf

答案2

你是对的。

来自 NetApp 知识库 3013526:

在创建 FlexClone 卷后,所有数据都会在它和父卷的参考快照之间共享,将 FlexClone 卷从父卷中拆分需要的存储容量等于快照时父活动文件系统的已用容量。随着 FlexClone 卷和父卷由于写入、覆盖和删除而出现分歧,共享数据量会减少。Data ONTAP 包含一个命令,用于估计将 FlexClone 卷从其父卷中拆分所需的存储容量。... 对于 7 模式的 Data ONTAP,请使用 vol clone split assesse 命令。以下是此命令的示例用法和输出。

7-模式> vol clone split assessesquotas_c 估计需要聚合中 10gb 的可用存储空间来将克隆卷“quotas_c”从其父卷中拆分出来。

答案3

只需在文件管理器上使用 ndmpcopy 将您需要复制的任何目录复制到新卷,就会容易得多。ndmpcopy 还支持增量复制。或者,如果您的目录是 QTree,则可以使用 QTree snapmirror 将数据放在您想要的位置。

相关内容