vSphere Replication Capacity Planning Appliance and modelling virtual machine replication

I was recently investigating modelling virtual machine replication traffic based on a recovery point objective and the delta change to estimate volume of data to be replicated and the bandwidth requirements for the replication to complete.

This is where I came across the vSphere Replication Capacity Planning Appliance fling project by Rahul Ravulur and Vasil Ilinski available at https://labs.vmware.com/flings/vsphere-replication-capacity-planning-appliance.

This fling project provides the following:

The vSphere Replication Capacity Planning Appliance allows administrators to model the network impact of a virtual machine replication without producing actual replication traffic. The appliance provides command-line tools to configure replication for any VM in a vSphere Virtual Center. The replication is established in preview mode and thus requires no storage space. Networking traffic, required for the replication, is measured and displayed in an easy-to-understand graphical format that allows you to estimate the network bandwidth required.

The fling project provides an appliance to download and deploy with relative ease, power it on and assign it an IP address and you are ready to go. There is a web management interface available (https://x.x.x.x::5480) to allow for the configuration of system settings, but in order to enable the replication in preview mode you will need to connect to the appliance using SSH.

Firstly, there is a caveat that virtual machines may not be modelled for replication traffic if they already have replication enabled by another service. If not, we can start to enable for a virtual machine, by invoking the following command syntax:

/opt/vmware/hbrtraffic/bin/configureReplication --vc=<vcenter server address> --vcuser=<vcenter username> --vcpass=<vcenter password> --lwd=<appliance server address> --vmname=<vmname> --rpo==<rpo mins>

For Example, to enable replication on a virtual machine named vm1 on the vcenter server IP address 10.0.0.1, with a recovery point object of four hours:

/opt/vmware/hbrtraffic/bin/configureReplication --vc=10.0.0.1 --vcuser=administrator@domain.local --vcpass=P@55word! --lwd=10.0.0.2 --vmname=vm1 --rpo==240

Once the replication has been enabled you should receive a status message similar to the below to indicate this has been successful.

INFO:root:Trying to find VM named vm1
INFO:root:Configuring replication for vm1(vm-1)
INFO:root:Configuring LwdStats server for vm "vm1" with 5 disks
INFO:lwdStatsRrdUpdate:Updating db ../rrd/vm1.rrd with (N:0:0:U)
INFO:root:Replication spec: (vim.vm.ReplicationConfigSpec) {
 dynamicType = <unset>,
 dynamicProperty = (vmodl.DynamicProperty) [],
 generation = 0,
 vmReplicationId = 'vm1',
 destination = '10.0.0.2',
 port = 31031,
 rpo = 240,
 quiesceGuestEnabled = false,
 paused = false,
 oppUpdatesEnabled = false,
 netCompressionEnabled = <unset>,
 disk = (vim.vm.ReplicationConfigSpec.DiskSettings) [
 (vim.vm.ReplicationConfigSpec.DiskSettings) {
 dynamicType = <unset>,
 dynamicProperty = (vmodl.DynamicProperty) [],
 key = 2000,
 diskReplicationId = '8604aa49-a257-416f-b44e-11629651cf38'
 },
 (vim.vm.ReplicationConfigSpec.DiskSettings) {
 dynamicType = <unset>,
 dynamicProperty = (vmodl.DynamicProperty) [],
 key = 2001,
 diskReplicationId = '63f8d869-6aaf-41dc-921f-b5ae5e17d6b6'
 },
 (vim.vm.ReplicationConfigSpec.DiskSettings) {
 dynamicType = <unset>,
 dynamicProperty = (vmodl.DynamicProperty) [],
 key = 2002,
 diskReplicationId = '9f6b334a-306c-4f01-80cf-05d1c09d14c7'
 },
 (vim.vm.ReplicationConfigSpec.DiskSettings) {
 dynamicType = <unset>,
 dynamicProperty = (vmodl.DynamicProperty) [],
 key = 2003,
 diskReplicationId = '72d09141-0e76-4800-a884-5ac886d792e2'
 },
 (vim.vm.ReplicationConfigSpec.DiskSettings) {
 dynamicType = <unset>,
 dynamicProperty = (vmodl.DynamicProperty) [],
 key = 2004,
 diskReplicationId = '4a642e57-0203-4d17-a9c8-6a6166de884a'
 }
 ]
}
INFO:root:Enable replication for vm vm1...

Once replication has been established in preview mode, we can view the statistics in graphical format, by browsing to https://x.x.x.x/vr-graphs/vm1/, the parent object will contain a link to each virtual machine to which replication has been established.

The graphical format will display Light Weight Delta (LWD) network traffic and delta size values for 4 hour, 1 day, 1 week and a 1 month period, as below:

vrgraph

The counters can be interpreted as follows:

  • LWDIN – replication traffic generated by the virtual machine.
  • LWDOUT – traffic sent out of the replication appliance for acknowledgement, status information/updates and check-sums.
  • delta size – size of the data on each replication cycle.

So that is one virtual machine to which we have established replication in preview mode, the command line syntax does not provide the facility to add multiple virtual machines, but we can achieve this by invoking the command in a loop statement to which a collection of virtual machines shall be retrieved from a text file.

for vmname in $(cat /home/user/vms.txt); 
/opt/vmware/hbrtraffic/bin/configureReplication --vc=10.0.0.1 --vcuser=administrator@domain.local--vcpass=P@55word! --lwd=10.0.0.2 --vmname=$vmname --rpo==240;
done

In my next blog post I will discuss how I manipulated the time series data outside of the  vSphere Replication Capacity Planning Appliance graphical reporting tool.


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