Home > NetApp, VMware > vSphere clone vs. NetApp rapid clone

vSphere clone vs. NetApp rapid clone

In a typical NetApp & vSphere environment there are two well-known options to create a clone of a Virtual Machine. The first one is the vSphere default and the second is the NetApp rapid clone. The vSphere default clone is a simple copy operation from filesystem point of view, so if you browse the datastore you’ll see the same files in the source and target VM’s directory, except for the log files. The NetApp rapid cloning utility is doing the things in an other way, we’ll see how. But first of all, let’s talk about the configuration.

  • NetApp FAS2040, 500GB NFS datastore (standard 1Gbit onboard port)
  • vSphere 4.1 with NetApp Virtual Storage Console 2.0.1
  • Windows 2008R2 VM, contains a ~7GB VMDK

Let’s see first how to use Rapid Cloning Utility. The wizard starts from the GUI (right-click on the source VM):

The following 3 parameters have to be selected within the wizard

  • NetApp controller
  • target, where the clone should be placed
  • provisioning format (thick, thin, same)

The next screen is the most important part of the cloning configuration:

We have some options to fine-tune the cloning. Set the name base, numbers, increasing… The interesting part just starts when the finish button pushed on the summary screen. Let’s see what’s happening on the controller:

ntap>

Fri Mar 11 06:01:38 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : Provisioning and Cloning Capability (create) v3.1.1: vcUserId: Administrator VMware Version:4.1.0 Build: 258902 API: 4.1

Fri Mar 11 06:01:39 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : gold=null,aggrOrVol=null,proto=null,DsNames=null,vmFile=Configuration File

Fri Mar 11 06:01:39 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : gold=null,aggrOrVol=null,proto=null,DsNames=null,vmFile=[flexvol] clone1/clone1.vmdk

Fri Mar 11 06:01:39 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : vms=1,vmsPerDatastore=0,vcVersion=4.1.0,rcuGroup=ntap_rcu1299823290303

Fri Mar 11 06:01:39 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : hostInfo,version=VERSION_4_0

Fri Mar 11 06:01:42 GMT [wafl.snap.delete:info]: Snapshot copy dense_clone.0.ca2ba564-4d35-11e0-be34-00a0982880ba on volume flexvol NetApp was deleted by the Data ONTAP function dense_clone_delete_snapshot. The unique ID for this Snapshot copy is (2, 48).

Fri Mar 11 06:01:42 GMT [dense.clone.aborted:info]: Clone operation on file ‘/vol/flexvol/ntap_rcu1299823290303/0000hd0000-flat.vmdk’ was aborted successfully. The clone operation ID was 20.

OK-OK, blah-blah, but look this:

Ndmpcopy: Starting copy [ 2 ] …

Ndmpcopy: ntap: Notify: Connection established

Ndmpcopy: ntap: Notify: Connection established

Ndmpcopy: ntap: Connect: Authentication successful

Ndmpcopy: ntap: Connect: Authentication successful

Ndmpcopy: ntap: Log: DUMP: creating “/vol/flexvol/../snapshot_for_backup.4″ snapshot.

Ndmpcopy: ntap: Log: DUMP: Using Partial Volume Dump of selected subtrees

Ndmpcopy: ntap: Log: DUMP: Date of this level 0 dump: Fri Mar 11 06:01:44 2011.

Ndmpcopy: ntap: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: ntap: Log: DUMP: Dumping /vol/flexvol/clone1/clone1-flat.vmdk to NDMP connection

Ndmpcopy: ntap: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: ntap: Log: DUMP: Reading file names from NDMP.

Ndmpcopy: ntap: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: ntap: Log: DUMP: estimated 7010605 KB.

Ndmpcopy: ntap: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: ntap: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: ntap: Log: RESTORE: Fri Mar 11 06:01:46 2011: Begin level 0 restore

Ndmpcopy: ntap: Log: RESTORE: Fri Mar 11 06:01:46 2011: Reading directories from the backup

Ndmpcopy: ntap: Log: RESTORE: Fri Mar 11 06:01:46 2011: Creating files and directories.

Ndmpcopy: ntap: Log: RESTORE: Fri Mar 11 06:01:46 2011: Writing data to files.

Ndmpcopy: ntap: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: ntap: Log: RESTORE: Fri Mar 11 06:03:06 2011: Restoring NT ACLs.

Ndmpcopy: ntap: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: ntap: Log: RESTORE: The destination path is /vol/flexvol/ntap_rcu1299823290303/.tmpNdmpDir/

Ndmpcopy: ntap: Log: DUMP: 6996887 KB

Ndmpcopy: ntap: Log: DUMP: DUMP IS DONE

Ndmpcopy: ntap: Log: DUMP: Deleting “/vol/flexvol/../snapshot_for_backup.4″ snapshot.

Ndmpcopy: ntap: Notify: restore successful

Ndmpcopy: ntap: Notify: dump successful

Ndmpcopy: Transfer successful [ 1 minutes 28 seconds ]

Ndmpcopy: Done

Fri Mar 11 06:03:40 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : Finished work, cleaning up temporary directories.

Fri Mar 11 06:03:46 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : Finished executing.

So, the rapid cloning is basically an NDMP dump/restore operation. It looks the following in vSphere:

Let’s see some interesting info.

Time

On a normal 1Gbit connection with NFS datastore (no VAAI here) the vSphere clone took 7 minutes while the RCU only 2 minutes. On the other hand, rapid cloning has the ability to create more then one clone in one step. For example 5 clone creation will look like this:

….

Ndmpcopy: ntap: Notify: restore successful

Ndmpcopy: ntap: Notify: dump successful

Ndmpcopy: Transfer successful [ 1 minutes 30 seconds ]

Ndmpcopy: Done

Fri Mar 11 06:28:42 GMT [dense.clone.finish:info]: Clone operation on file ‘/vol/flexvol/ntap_rcu1299824793374/0001hd0000-flat.vmdk’ completed successfully. The clone operation ID was 23.

Fri Mar 11 06:28:46 GMT [dense.clone.finish:info]: Clone operation on file ‘/vol/flexvol/ntap_rcu1299824793374/0002hd0000-flat.vmdk’ completed successfully. The clone operation ID was 24.

Fri Mar 11 06:28:50 GMT [dense.clone.finish:info]: Clone operation on file ‘/vol/flexvol/ntap_rcu1299824793374/0003hd0000-flat.vmdk’ completed successfully. The clone operation ID was 25.

Fri Mar 11 06:28:54 GMT [dense.clone.finish:info]: Clone operation on file ‘/vol/flexvol/ntap_rcu1299824793374/0004hd0000-flat.vmdk’ completed successfully. The clone operation ID was 26.

Fri Mar 11 06:29:54 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : Finished work, cleaning up temporary directories.

Fri Mar 11 06:29:59 GMT [app.log.info:info]: vcenter: Provisioning and Cloning Capability 3.1.1: (0)  : Finished executing.

Skipped the dump/restore part, as it’s the same as the previous example, but after the successful restore another 4 vmdk has been created. How long did it take? Around 2.5 minutes. Not that much, huh? For ten clones, around 3-3.5 minutes, and so on.

Space

At the beginning, with one VM:

ntap> df -hs

Filesystem                used      saved       %saved

/vol/flexvol/           6801MB        0MB           0%

dedupe, just for fun…

ntap> df -hs /vol/flexvol/

Filesystem                used      saved       %saved

/vol/flexvol/           5079MB     1711MB          25%

create a vSphere clone:

ntap> df -hs /vol/flexvol/

Filesystem                used      saved       %saved

/vol/flexvol/             11GB     1711MB          13%

create a rapid clone:

ntap> df -hs /vol/flexvol/

Filesystem                used      saved       %saved

/vol/flexvol/             18GB     1711MB           8%

one more…

ntap> df -hs /vol/flexvol/

Filesystem                used      saved       %saved

/vol/flexvol/             24GB     1711MB           6%

Both clones took around 7GB above. Not surprising, fun starts here. Let’s create 5 clones:

ntap> df -hs /vol/flexvol/

Filesystem                used      saved       %saved

/vol/flexvol/             31GB       28GB          47%

wow. 7GB again. Let’s create 10:

ntap> df -hs /vol/flexvol/

Filesystem                used      saved       %saved

/vol/flexvol/             38GB       28GB          42%

7GB again. hmm, one more time

ntap> df -hs /vol/flexvol/

Filesystem                used      saved       %saved

/vol/flexvol/             44GB       87GB          66%

OK, turn off dedupe operation, clone 10 again:

ntap> sis off /vol/flexvol

SIS for “/vol/flexvol” is disabled.

ntap> sis status /vol/flexvol

Path                           State      Status     Progress

/vol/flexvol                   Disabled   Idle       Idle for 00:54:57

ntap> df -hs /vol/flexvol/

Filesystem                used      saved       %saved

/vol/flexvol/             51GB      146GB          74%

7GB again and the %saved is growing. Summary? RCU creates deduped, space efficient clones very fast. That’s all.

Categories: NetApp, VMware Tags: , , , , , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.