I have a large volume containing only an NFS share I'd like to split up. 500GB of it (three specific subdirectories) needs to be put into a new volume. I'd like to avoid writing this data again. Here's what I think would work, but a colleague thinks that it won't work:
- Flexclone the large volume
- On a management server, mount the flexcloned volume and delete all the other subdirectories
- Mount the original volume and delete the three subdirectories
- Split off the clone
The way I understand it, when you split off a FlexClone, only the WAFL blocks with more than one pointer will get copied. In theory, I shouldn't have any (or many) of those. I'd be left with two non-linked volumes containing completely different data, and none of the 500GB would have been written.
Is this the case? If I split a FlexCloned volume after deleting some data from the source volume, will it copy those blocks?
This makes perfect sense - as you know the original data will reside on disk in it's original location and not be copied. Only the references to it will change:
Now you can delete the data you don't need in the respective locations, delete the snapshot (I think) and do a
vol clone split
:(if it doesn't let you delete the snapshot, you'll need to do the split first, resulting in copying the data)
source: http://www.redbooks.ibm.com/redpapers/pdfs/redp4133.pdf
You are correct.
From NetApp KB 3013526:
Immediately after the creation of a FlexClone volume, all data is shared between it and the reference snapshot of the parent volume, and splitting the FlexClone volume from the parent volume would require a storage capacity equal to the used capacity of the parent active filesystem at the time of the snapshot. As the FlexClone volume and the parent diverge due to writes, overwrites, and deletions, the amount of shared data decreases. Data ONTAP includes a command that estimates the amount of storage capacity required to split a FlexClone volume from its parent. ... For Data ONTAP in 7-Mode, use the vol clone split estimate command. The following is a sample usage and output of this command.
7-mode> vol clone split estimate quotas_c An estimated 10gb available storage is required in the aggregate to split clone volume 'quotas_c' from its parent.
It would be much easier just to use ndmpcopy on a filer to copy whatever directory you need to copy to a fresh volume. ndmpcopy also supports incremental copies. Or if your directory is a QTree, you can use QTree snapmirror to get your data where you want them to be.