Thursday, June 19, 2014

Resizing a VMDK that is being replicated by vSphere Replication and protected by SRM

An annoying function of vSphere Replication and SRM is that you cannot actively expand an existing VMDK on the protected site VM. The error message that you will see is:

"vSphere Replication does not support changing the length of a replicated disk."

To increase and expand the VMDK, you have to stop the replication, increase the disk on the primary site through normal vsphere client/web client methods, increase the disk on the recovery site through CLI, then reconfigure replication.

WARNING: If you stop replication, the work flow will delete the existing replication disks (seed) at the recovery site. To prevent this, you will need to pause replication in SRM/vSphere Replication, SSH into the host on the recovery side and rename the folder that contains the replication information. This will also require a full sync when you reconfigure replication. It is recommended to wait till a sync has completed (if it is currently syncing) on the VM to perform this expansion.

1. Pause replication through SRM

2. SSH into a recovery site host and rename the folder that contains the seed. I typically rename the folder with the suffix -bak.


mv /vmfs/volumes/lun1/test_srm/ /vmfs/volumes/lun1/test_srm-bak

3. The next step is within that folder you renamed contains HBR files used during replication. Since we will be reconfiguring replication, a full sync is required with the seed and the HBR files are not necessary. I move those into a deleteme (delme) folder within seed folder and delete after the full sync has completed. If you leave these files in the root seed folder, reconfiguring SRM will fail.

4. Once you have moved those files into the delme folder, go ahead and stop replication.

5. Expand the primary site vmdk file (remember the size you are going to increase so you can do the same to the recovery site seed)

6. Expand the recovery site vmdk through CLI:

vmkfstools -X <size> <target disk>


vmkfstools -X 75G test_srm.vmdk

7. Reconfigure replication and party!

You can confirm that the replication is working through the primary site host SSH:

Lists all VMs being replicated

vim-cmd vmsvc/getallvms


Vmid     Name     File     Guest OS     Version     Annotation

11     Test_srm     [lun-01]Test_srm/Test_srm.vmx     winLonghorn64Guest     vmx-07     SRM

13     Test_srm2     [lun-02]Test_srm2/Test_srm2.vmx winNetEnterpriseGuest     vmx-07     SRM2
Get information on a replica state

vim-cmd hbrsvc/vmreplica.getState <vmid>


~ # vim-cmd hbrsvc/vmreplica.getState 11
Retrieve VM running replication state:

        The VM is configured for replication. Current replication state: Group: GID-9c576821-d38a-4253-9fe8-bcaf926c5d89 (generation=3550090054687689)

        Group State: full sync (64% done: checksummed 82.0 GB of 125 GB, transferred 2.0 GB of 6.3 GB)

                DiskID RDID-b3ccb08e-5799-43e6-bace-6086605f05c8 State: full sync (checksummed 36.0 GB of 40 GB, transferred 701.1 MB of 842.4 MB)

                DiskID RDID-e1386878-3456-4d60-b469-34d4b08458a6 State: full sync (checksummed 10 GB of 10 GB, transferred 1.2 GB of 5.4 GB)

                DiskID RDID-81f403b1-78ce-4bc3-9c38-c2233dfa9037 State: full sync (checksummed 36 GB of 75 GB, transferred 144.6 MB of 144.6 MB)

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.