Flings
Apps and tools built by our engineers that are intended to be played with and explored.

vSphere Replication Capacity Planning Appliance

vSphere Replication Capacity Planning Appliance

Summary

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 open source disclosure package has been made available here.

Features

  • A command-line interface for configuring replication within the same or a remote Virtual Center or ESX host
  • A web page presenting traffic graphics for each replication
  • Does not write the actual replicated data and thus does not require any storage

Open Source License

System Requirements

  • You need vSphere 5.0 or higher.
  • vSphere Replication should NOT be installed in the vSphere Center against which the fling will be used.

Instructions

  1. Deploy the appliance
  2. Once it boots, login with root/vmware on the console or via ssh
  3. cd /opt/vmware/hbrtraffic/
  4. ./bin/configureReplication --vc --vcuser Administrator --vcpass --lwd <IP_of_the_Appliance> --vmname <VM_name>

<VM_name> is the name of the VM to configure for replication as seen from the vSphere Client.

Once a replication is configured wait 10-15 minutes and check the graphs generated at https://IP_of_the_Appliance:5480/vr-graphs/

Video

Change Log

Engineers


Rahul Ravulur

Product Marketing

Vasil Ilinski

vSphere Replication team
Add Comment

40 thoughts on “vSphere Replication Capacity Planning Appliance

  1. Sam

    I continue to receive this error. Either of “lwd” or “remove” arguments need to be provided
    I was noticing on the system requirements it states
    •vSphere Replication should NOT be installed in the vSphere Center against which the fling will be used. If there is only one Vcenter server and replication is installed will this work?
    ./bin/configureReplication –vc –vcuser –vcpass –lwd –vmname

    Reply
    1. Vasil

      If vSphere replication is installed, it doesn’t matter if it’s a single vCenter or not. There are two problems with this:
      1) if you run the fling against a VR protected VM, replication will be stopped by the fling (i.e. it will be redirected)
      2) if you run the fling against a VM not protected by VR, the VR will prevent the fling from gathering traffic data
      If you don’t have the VM protected, then you could, of course, protect it with VR and then configure the fling for it. This should be fine if you ignore the RPO violation errors from VR.

      As for the ‘lwd’ or ‘remove’ missing option, my guess is that you password might contain special symbols, which need to be quoted?

      Reply
      1. juan gomez

        when i use -remove option i get this error

        pyVmomi.Vmomisupport.InvalidLogin: (vim.fault.InvalidLogin {
        dynamicType = ,
        dynamicProperty = (vmodl.Dynamicproperty) [ ],
        msg = ´Cannot complete login due a incorrect user or password.´,
        faultCause =
        faultMessage = (vmodl.LocalizableMessage) [ ]

        i get this error after udate vcenter to 5.5 and change vcenter server password.

        thanks

        Reply
  2. Juan Gomez

    I update the version of vcenter 5.5 and change the password of the vcenter administrator. The treatment to remove a VM appliance an error telling me that the password is incorrect appears. The password has special character ($). How can i fix this issue? I must remove the vm from appliance before configuring the VR?

    thanks

    Reply
    1. Juan Gomez

      pyVmomi.Vmomisupport.InvalidLogin: (vim.fault.InvalidLogin {
      dynamicType = ,
      dynamicProperty = (vmodl.Dynamicproperty) [ ],
      msg = ´Cannot complete login due a incorrect user or password.´,
      faultCause =
      faultMessage = (vmodl.LocalizableMessage) [ ]

      error after udate vcenter and change vcenter server password.

      Reply
  3. Matt

    I don’t know if I’m missing something with the syntax, but when I run the following:

    ./bin/configureReplication –vc= –vcuser= –vcpass= –lwd= –vmname=

    I receive the following error message suggesting bad credentials. I’ve thoroughly verified the credentials are correct:

    Traceback (most recent call last):
    File “../..//apps/lwdStats/configureReplication.py”, line 153, in
    File “../..//apps/lwdStats/configureReplication.py”, line 138, in main
    File “../..//apps/lwdStats/vcClient.py”, line 26, in __init__
    File “../..//apps/target/obj/vmodl/pyVim/connect.py”, line 224, in Connect
    File “../..//apps/target/obj/vmodl/pyVim/connect.py”, line 314, in __Login
    File “../..//apps/target/obj/vmodl/pyVmomi/VmomiSupport.py”, line 542, in
    File “../..//apps/target/obj/vmodl/pyVmomi/VmomiSupport.py”, line 351, in _InvokeMethod
    File “../..//apps/target/obj/vmodl/pyVmomi/SoapAdapter.py”, line 1231, in InvokeMethod
    pyVmomi.VmomiSupport.InvalidLogin: (vim.fault.InvalidLogin) {
    dynamicType = ,
    dynamicProperty = (vmodl.DynamicProperty) [],
    msg = ‘Cannot complete login due to an incorrect user name or password.’,
    faultCause = ,
    faultMessage = (vmodl.LocalizableMessage) []
    }

    Any suggestions?

    Reply
    1. Matt

      Original post didn’t post correctly…this is the syntax I am using:

      ./bin/configureReplication –vc= –vcuser=domain\username –vcpass= –lwd= –vmname=

      Reply
      1. Matt

        Sorry…Not sure why it’s not posting correctly:

        ./bin/configureReplication –vc=vCenter IP –vcuser=domain\username –vcpass=password –lwd=traffic modeler appliance IP –vmname=VM name in vCenter inventory

        Reply
        1. Vasil

          I guess you’ll need proper escape/quotes around user or password using special shell characters (i.e. domain\user should probably be domain\\user)

          Reply
  4. Courtland

    I am getting average in of 30.3Pbps and max speed in at 400Pbytes. Something looks off. My smallest VM test which sits pretty idle shows 130Mbps average. Both of these VMs are showing a Delta of close to zero.
    I have the RPO set at 60.

    Reply
  5. Shawn Dorsey

    Is there some limit to the number of vms that can be added for collection? I have added 4 without issue but when I try to add a 5th (regardless of which vm I select) stalls at “INFO:root:Configuring LwdStats server for vm “x” with 2 disks”
    BTW this is a great tool! And much much cheaper than NetApp professional services! Thank you!

    Reply
    1. Vasil

      Hi!
      Unfortunately the fling will need to be updated in order to solve this.
      I’ll let you know when the update is available.

      Reply
  6. Jose a vidales

    Hi there !!

    What about two VM’s with the same name but in different datacenters??

    What the command will be?

    Regards

    Reply
  7. Juan Gomez

    hi
    When i run command i can see this on tool console
    info:root:Configuring Lwdstats server for vm “colsys-n1″ with 2 disk

    Two hours later I see the same message. There is something that is working wrong? or this is normal behavior.
    Can you helpme?

    Reply
    1. Vasil

      > Two hours later I see the same message.

      You mean, you ran the same command again, right? I this case it should be normal, if you need to change the original configuration, that is the way to do it.

      Cheers,
      Vasil

      Reply
  8. Steve

    Hi there.

    We are setting this up internally and we have having this error.

    Traceback (most recent call last):
    File “../..//apps/lwdStats/configureReplication.py”, line 153, in
    File “../..//apps/lwdStats/configureReplication.py”, line 138, in main
    File “../..//apps/lwdStats/vcClient.py”, line 26, in __init__
    File “../..//apps/target/obj/vmodl/pyVim/connect.py”, line 224, in Connect
    File “../..//apps/target/obj/vmodl/pyVim/connect.py”, line 301, in __Login
    pyVmomi.VmomiSupport.HostConnectFault: (vim.fault.HostConnectFault) {
    dynamicType = ,
    dynamicProperty = (vmodl.DynamicProperty) [],
    msg = ‘[Errno -2] Name or service not known’,
    faultCause = ,
    faultMessage = (vmodl.LocalizableMessage) []
    }

    Hope you could help !

    Thanks,
    Steve

    Reply
    1. Vasil

      Hi Steve,

      Are you providing the proper vCenter Server IP address? Cloud the vCenter Server be listening on a non-standard port?

      Vasil

      Reply
      1. Steve

        For some reason, putting IP address worked ! However, I would appreciate if there is some info on interpreting the graphs.

        Reply
  9. Simon

    How do you disable replication of a VM once it has been enabled? I no longer need to see the replication stats of certain VM’s and even with the appliance off, I cannot do things like extend Disks because the VM is marked as being replicated. Thanks

    Reply
  10. gshao

    I am getting an error while configuring a VM as follows.

    pek2-office-05-dhcp30:/opt/vmware/hbrtraffic/bin # ./configureReplication –vc=
    10.117.6.76 –vcuser=administrator –vcpass=ca$hc0w –lwd 10.117.5.30 –vmname=ubuntu
    Traceback (most recent call last):
    File “../..//apps/lwdStats/configureReplication.py”, line 153, in
    File “../..//apps/lwdStats/configureReplication.py”, line 138, in main
    File “../..//apps/lwdStats/vcClient.py”, line 26, in __init__
    File “../..//apps/target/obj/vmodl/pyVim/connect.py”, line 224, in Connect
    File “../..//apps/target/obj/vmodl/pyVim/connect.py”, line 314, in __Login
    File “../..//apps/target/obj/vmodl/pyVmomi/VmomiSupport.py”, line 542, in
    File “../..//apps/target/obj/vmodl/pyVmomi/VmomiSupport.py”, line 351, in _InvokeMethod
    File “../..//apps/target/obj/vmodl/pyVmomi/SoapAdapter.py”, line 1231, in InvokeMethod
    pyVmomi.VmomiSupport.InvalidLogin: (vim.fault.InvalidLogin) {
    dynamicType = ,
    dynamicProperty = (vmodl.DynamicProperty) [],
    msg = ‘Cannot complete login due to an incorrect user name or password.’,
    faultCause = ,
    faultMessage = (vmodl.LocalizableMessage) []

    But I am sure the username and password are correct and I can use them to login VC server. Actually, I deployed the appliance according to the guidelines. Do I need to do some operations additionally?
    Thanks!

    Reply
    1. gshao

      Hello,
      I have found the root cause. Technically, we need to enclose the password if it contains escape character.
      Thanks

      Reply
  11. DB

    Hi,
    Great tool, at last something to tackle what has seemed like a black art up to now!
    quick question though, how should we use the graphs? The LWD traffic graphs show some high figues but the delta graph avg is only 2.46M (have only just turned it on though). I’m thinking the average delta is what is important for estimating bandwidth but as the LWD traffic is there I don’t want to ignire it until I understand what it represents?

    Thanks
    D

    Reply
    1. Julienne P

      Hi D,

      the LWD (a.k.a Light Weight Delta) is the replication technology used by vSphere Replication.
      So here, the LWD graph represent the network bandwidth and the Delta graph represent the VM data size that was supposed to be transferred in a real case scenario.

      By default the RPO set is 15 mins, so it means how much data was generated since the initial copy for this VM and what will be the network workload.

      J-

      Reply
      1. DB

        Hi Julienne,

        Thanks for the reply, quick follow on, which if the network values is important for estimating bandwidth requirements then, LWD In or LWD Out? I would assume LWD In and the Avg and Max figures are relevant, with the Total figure being the total data sent across the link since replication began?
        Also I’ve been playing with the RPO setting, it seems to require a value in minutes so if I have a 24 hour RPO I would ned to set –rpo=1440. This seems to work but the graphs don’t really show much difference, is this expected?

        Cheers
        D

        Reply
      2. Jay

        I’m a bit confused: I need to know how much bandwith is going to be consumed from the branch to central location for a concrete VM: so, do I need to look at LWD In or LWD Out?. I supose it’s the LWD Out graph…is this right?

        Regards

        Reply
        1. Vasil

          No, LWD In. Basically “LWD In” traffic is the traffic generated by the VM replicated and going through the network, INto the replication appliance. While “LWD Out” is the traffic sent out of the replication appliance, i.e. mostly acknowledgments and status information/updates, check-sums also. So basically IN and OUT are relative to the replication appliance, i.e. the target of the replication traffic.

          Hope this helps!

          Reply
          1. Scott McGregor

            Hi Vasil

            Ive read and re read these post around

            LWD In = Data coming into the Replication appliance (from esx?)
            LWD Out = Acknowledges going back to the esx host
            Delta size = Change rate of the VM (from replication appliance point of view?)

            (Live Datacentre) -VRApplication —> Bandwidth —> VRAppplication-(DR Datacentre)

            Though to calculate the required bandwidth can i get confirmation on an example please

            Background: Ive had the appliance running for a week now, so working of weekly values for example. this is also for a Domain controller VM.

            if i have the following(information from graph 1 week)
            LWD network Traffic
            LWD, Avg, Max, Total
            in, 91.61kbps, 2.13mbps, 989.39Mbytes
            out, 622.87bps, 14.30kbps, 6.73Mbytes

            delta size
            AVG
            9.10M

            For this one VM am I looking at LWD IN AVG to size bandwidth requirement for replication between data centers (v sphere replication appliances) or am I looking at a combination of the values ( knowing that this is not an exact number but more a guide to assist in sizing correctly)

            Obviously we would also need to do this for as many VM workloads planning to be replicated and then add together the out come for each and add some over head.

            Great tool though thank you for working on it and releasing it.

            Reply
  12. Sunny Dua

    I am getting an error while configuring a VM

    localhost:/opt/vmware/hbrtraffic # ./bin/configureReplication –vc=10.110.68.168 –vcuser=root –vcpass=vmware –lwd=10.110.68.219 –vmname=VMWSUDRSNVC01
    INFO:root:Trying to find VM named VMWSUDRSNVC01
    Traceback (most recent call last):
    File “../..//apps/lwdStats/configureReplication.py”, line 153, in
    File “../..//apps/lwdStats/configureReplication.py”, line 140, in main
    File “../..//apps/lwdStats/vcClient.py”, line 96, in getVmByName
    File “../..//apps/lwdStats/vcClient.py”, line 111, in _flattenDatacenterFolder
    TypeError: _flattenDatacenterFolder() takes exactly 2 arguments (1 given)

    Is this correct.. My vCenter is an appliance hence the username is root :-)

    Reply
    1. Vasil

      By the way, this has been fixed a while ago and the fling should be updated. The problem happened where folders existed on the datacenter level.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>