NetApp FlexClone Tutorial
I cover NetApp FlexClone in this NetApp training video tutorial.
GET YOUR FREE eBOOK
Step by step instructions on how to build a complete NetApp lab, all on your laptop for free.
Sign up to get the eBook and occasional newsletter updates. Your email address will never be shared.
A FlexClone volume is, not surprisingly, a clone of another volume. The feature is most commonly used for deploying a virtual desktop environment or for development and testing. Both the parent and child appear on the ‘Volumes’ page in System Manager and can be managed separately.
The child FlexClone volume consists of the same data as the parent volume when it is initially created and you can then make independent changes to both.
Let’s say you want to do some testing on a large database. The traditional way to do this would be to make a copy of the database. It will take time to copy the data to new blocks on disk, and take up double the initial disk space.
FlexClone works differently. The system takes a snapshot of the parent volume. This works the same as any other snapshot in that it just includes pointers to the data, rather than copying it to new blocks on disk. Because no data needs to be written (apart from the tiny inode file), the snapshot occurs instantly and takes up no disk space.
The FlexClone child volume is created from the snapshot. After it has been created you can manage the FlexClone as a separate volume. Any new data you write to it will take up disk space, but the existing data from the snapshot does not.
Multiple clones can be taken of the same parent volume, so if you need to do additional testing while keeping the first FlexClone volume unchanged, just make another FlexClone volume.
An example of FlexClone in action is shown in the diagram above. ‘VolX’ is the parent volume and we have taken a clone named ‘volX- clone’. When you make a clone it uses a snapshot of the parent volume, so it contains exactly the same data but does not take up any additional space. That data is shown as the ‘shared data blocks’ in the diagram. As either parent or FlexClone volume changes, they will start taking up additional space. You can see that as ‘unique volX data blocks’ and ‘unique volX-clone data blocks’ in the diagram. The shared data blocks remained untouched.
Because of the shared blocks both the parent and FlexClone volume are located in the same aggregate.
Splitting NetApp FlexClone
Over time the FlexClone volume can change enough that it is more different than similar to the parent volume. At this time you can choose to split them into two completely physically separate volumes. Doing this can take some time as the shared data blocks will be split into two separate copies which requires them to be copied to new blocks on disk for the child volume.