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

74 thoughts on “vSphere Replication Capacity Planning Appliance

  1. Erwin

    What are the networking requirements for the appliance? Does the appliance only need to communicate with virtual centre? Or are there also other networking requirements?
    We added a single VM to the appliance. This caused a high network spike which we assumed was the initial replication for the VM. This network spike caused networking alarms to be generated. Is this normal? Will it affect other network traffic on the ESX host?

    Reply
    1. Jeff Schafer

      use the –remove option:
      configureReplication –vc… –vcuser.. –vcpass –vmname.. –remove

      This removes the monitoring from the VM’s.

      Reply
  2. Anthony

    Has anyone attempted to use this in an evironment that is already running SRM w/ vSphere replication? Would we have to UNINSTALL the replication appliance, or can it just be powered off?

    Having some troubled in a customer environment. All replication is currnently disabled due to issues with RPO and data change size. Would like to use this tool to communicate to the customer the rate of change, and provide insight for them into the isuses they are having.

    Any suggestions?

    Reply
    1. Jeff Schafer

      My understanding is you can’t have both the appliance and replication installed at the same time. It’s one or the other. Normally you test with the appliance first, remove the plugins from VM’s and then install replication (ie SRM) and go from there based on data you collected. Once you start using SRM, you can’t monitor using this appliance. That’s my understanding from reading the other posts anyways.

      Reply
  3. hakimissimo

    Hello

    Did you enable lot a VM for replication monitoring with success??

    How did you aggregate the result??

    I have 100 VMs and when i use bash to automatically enable VM…it stucks at the step :

    INFO:root:Configuring LwdStats server for vm “VM” with 1 disks :-( :-(

    Hakim

    many thx for attention

    Reply
  4. hakimissimo

    i’m trying execute ./configureReplication, but stay many minutes in the same step:
    INFO:root:Configuring LwdStats server for vm “VW-LILIAN” with 1 disks

    When do fix this bug????

    for now the appliance cannot be used :-(

    Reply
    1. Jeff Schafer

      If you restart the virtual appliance and try again, this helped in my case. I had 2 VM’s that enabled fine without the long pause and tried over and over with no luck on 4-5 others. I even removed replication on one of the 2 vm’s that worked and was unable to add it back. That confirmed that it’s not something with the VM itself you are monitoring. As soon as I rebooted the virtual appliance, I was able to enable all the rest of the Vm’s with no issue.

      Reply
  5. Jim Nickel

    Hi…I am still looking for the information about how to see a graph showing an overall total.

    I am in the middle of gathering the information for a deployment and I could really use this information.

    Thanks!

    Jim

    Reply
    1. Vasil

      Hi Jim,

      Sorry it took that long, it’s because I don’t have an appliance deployed. Unfortunately, it looks like the summary graph has been left out in the end. Sorry for misleading you!

      Regards,
      Vasil

      Reply
  6. Jim Nickel

    Also…I know that the replication engine in the 5.5 version is quite a bit better – more efficient.

    Does this model take that into account?

    Jim

    Reply
    1. Vasil

      Actually, this is not a model. It’s a record of the real number of bytes sent by what you call the “replication engine”. So I guess the answer should be “Yes”.

      Reply
      1. Jim Nickel

        My apologies…the virtual appliance has a name of vSphere Replication Traffic Modeler Appliance…so I just used the “model” name too.

        Anyway….I am still unsure if this is based on the vSphere Replication 5.5 engine? Or the 5.1 engine? Or something else?

        Thanks,

        Jim

        Reply
          1. Jim Nickel

            Yup…makes perfect sense. If the host that contains the VM is a ESXi 5.1, then the replication engine is 5.1 – if it is a ESXi 5.5, then the replication engine is 5.5

            What about my other question with regard to a totals page?

            Jim

            Reply
  7. Jim Nickel

    What about a total for all VMs? This is what is needed to determine the bandwidth requirements.

    I have over 100 VMs and I would rather not have to manually go through and add up the bandwidth used by each one.

    Jim

    Reply
      1. Jim Nickel

        That’s great! Could you provide a little more information?

        I haven’t been able to find any graph that shows overall totals.

        Could you specify what the link would be?

        Thanks,

        Jim

        Reply
  8. Justin

    Is there a way to add VMs that are already configured for replication to the collection so we can start reporting on them?

    Reply
  9. Andre Nunes

    I’m trying execute ./configureReplication, but stay many minutes in the same step:
    INFO:root:Configuring LwdStats server for vm “VW-LILIAN” with 1 disks

    What’s requirements of VM to test replication?

    Reply
  10. Rafa Serena

    Hi, I put this Appliance to work this morning , everything seems to be working fine, but I have some questions about the delta part.

    I have readings on LWD network traffic, from where I read on older posts thats info passing between the VM being monitorized and the Appliance, but delta size graphics shows a flat line and -nan on average.

    Tht’s normal? or I have to wait longer to see some real data??

    Thanks for this incredible way to check how many bites have to be replicated.

    Thanks in advance

    Reply
    1. Vasil

      Do you still see a “nan” value?
      It should disappear when there’s enough data to calculate it.

      Cheers!

      Reply
      1. Rafa Serena

        Sorry about late response. Everything was working FINE. It took a while but finally when had some data it showd.

        Thanks for this amathing tool.

        Reply
  11. Johnny Christian

    I am adding a forth VM to the replication and it is stuck at configuring LwdStats server for vm “name of vm” with 1 disks. Please let me know what can I do to resolve this issue. Great tool btw.

    Thank you.

    Reply
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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. @elgwhoppo

      I also am experiencing this issue where it hangs at “Configuring LwdStats server for vm “x” with 1 disks, but I’m not sure what conditions produce this error. It seems particular VMs don’t work, but I’m not sure what’s different.

      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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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>