I had promised to do a blog post on FlexClones back in May and I have to apologize for being off the grid for a while as my schedule has been quite hectic. Now that things are quieting down a bit, we will continue with the series on NetApp storage efficiencies.
NetApp FlexClone technology gives administrators the ability to create space efficient clones of volumes and LUNs. FlexClones are a fast and efficient way to perform testing and development on production data without risk to the production environment and without having to duplicate the hardware resources to support the data. FlexClones are also excellent for provisioning servers, server patch and DR testing with products like VMware. In fact NetApp Rapid Cloning Utility is based on NetApp FlexClone technology. The Rapid Cloning Utility is an excellent tool for quickly and efficiently mass duplicating virtual machines. There is a very nice demonstration of Rapid Cloning Utility features available on the NetApp Channel on YouTube.
In order to create FlexClones, you must be using NetApp Flexible Volumes and you will need to install the FlexClone license. If you are not familiar with Flexible Volumes, please visit my Flexible Volumes blog post. FlexClone clones are based on Snapshots. Because snapshots share blocks with the active file system data, the clone does not require any additional disk space. The clone occupies the same blocks as the active file system data. When new data is written new blocks are allocated and used to store the new data. The clone and parent share common data blocks, but from that point forward, each functions independently. FlexClones are great for short term use, but if clones are needed for an extended period of time, the clone should be split from its parent. This may become necessary as over time the delta between the parent and the clone can grow to the point where it is no longer efficient to keep the clone. Additionally, the Snapshot must be kept until the clone is deleted.
When splitting a clone from its parent, you must ensure that you have adequate disk space available as all of the data blocks that were shared will be duplicated so that they are owned and dedicated to the clone. The vol clone split estimate command can be used to determine how much space would be required to successfully complete the split.
Additionally, if you are cloning LUNs and need to keep the clone for an extended period of time, you can create a FlexClone LUN. The advantage of creating a FlexClone LUN versus a LUN clone is that the FlexClone LUN does not require a backing Snapshot.
To learn more about FlexClones, view the NetApp Technical Report: A Thorough Introduction to FlexClone Volumes.