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, with a recovery point object of four hours:

/opt/vmware/hbrtraffic/bin/configureReplication --vc= --vcuser=administrator@domain.local --vcpass=P@55word! --lwd= --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 = '',
 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:


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= --vcuser=administrator@domain.local--vcpass=P@55word! --lwd= --vmname=$vmname --rpo==240;

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.

Register for free Veeam Backup & Replication NFR licence as a VCP

I currently do not use Veeam Backup & Replication currently in a production environment, I have previously evaluated the current release (as well as previous iterations) and have been impressed with features such as Instant VM recovery and the use of the vPower NFS server, advanced replication features which include  real failback and the Sure Backup feature. 

One of the main disadvantages I found when using the product was that the new version introduced a distributed architecture which is true with the use of backup proxy servers. However I found that the inability to schedule more than one VM in a backup job at a time required more management in larger environments. 

As a VCP I recently found out that I was entitled to a NFR licence for evaluation and demonstration purposes; this is available to all vExperts, VCPs and VCIs for free and covers a two-socket licence; the URL to register for the free NFR licence: