Estimating bandwidth requirements for Zerto Replication

 

One thing that I run across quite a bit is customers that want to implement Zerto for their replication needs, but are unsure of what the bandwidth requirements would be for their organization.  Luckily, Zerto provides a WAN sizing tool just for that.

First thing, we want to make sure we are collecting the needed statistics in vCenter.

  • In the vSphere Web Client, select the vCenter object, and select your vCenter server.
  • Select the Manage tab, and then under General, choose Edit.
  • Set all statistics to level 2

settings

At this point, we want to allow at least 24 hours to pass, so we are sure we have collected the proper statistics.

Next, we will run a powerCLI script to collect the average writes in KB/s for each VM and export to a CSV file. Be sure to edit the variables fro vCenter server and credentials.

# Beginning script
# Section 1 – vCenter Server settings
$vcentertocollectstatsfrom = “192.168.1.101”
$vcenterusername = “root”
$vcenterpassword = “[email protected]
# Section 2 – Collection time frame
$noofdaystocollect = “7”
# Section 3 – CSV Output filename and directory
$csvoutput = “C:\scriptoutput\ZertoOutput.csv”
# Nothing to edit below this line
function LoadSnapin{
param($PSSnapinName)
if (!(Get-PSSnapin | where {$_.Name -eq $PSSnapinName})){
Add-pssnapin -name $PSSnapinName
}
}
LoadSnapin -PSSnapinName “VMware.VimAutomation.Core”
connect-viserver -server $vcentertocollectstatsfrom -user $vcenterusername -password $vcenterpassword
$report = @()
Get-VM | %{$stats = Get-Stat -Entity $_ -Stat disk.write.average -Start (Get-Date).adddays(-$noofdaystocollect) -ErrorAction SilentlyContinue
if($stats){
$statsGrouped = $stats | Group-Object -Property MetricId
$row = “” | Select Name, WriteAvgKBps, WriteAvgMBps
$row.Name = $_.Name
$row.WriteAvgKBps = ($statsGrouped | where {$_.Name -eq “disk.write.average”} | %{$_.Group | Measure-Object -Property Value -Average}).Average
$row.WriteAvgMBps = $row.WriteAvgKBps/1024
$row.WriteAvgKBps = “{0:N2}” -f $row.WriteAvgKbps
$row.WriteAvgMBps = “{0:N2}” -f $row.WriteAvgMBps
$report += $row
}
}
$report | Export-Csv $csvoutput
# End of script

 

Now, we should have a CSV file called ZertoOutput.csv that looks something like this:

script-output

By using the VM column, and the WriteAvgKBps column, we can plug it into the Zerto Wan Sizing tool, and see our bandwidth usage estimate.

 

bandwidth-estimate

As you can see, in our lab environment, we will need about 20 Mb/s for replication.  Be sure to add 20% for bursts, to ensure a low RPO at all times.  If the WAN link will be used for other traffic, size accordingly, and use Zerto’s built in throttling.

Contact a Zerto partner, or Zerto support to get your estimation.

Tags: , ,

3 Responses to “Estimating bandwidth requirements for Zerto Replication”

  • Mike Pagán says:

    I have tried your script out in a my environment and so far I have not been able to produce a spreadsheet that contains any data. The end result is completely blank (I even waited 24 hours). Have you run into this issue during the creation of the script and might you have an ideas on what I might be missing?

  • Mike Pagán says:

    Nevermind, I just doubled back to this a day or so later and the stats generated. I suppose I hadn’t waited long enough the first time.

  • […] Bandwidth requirements for Zerto Here is a nice article on how to estimate the bandwidth requirements you would need to support your replicated […]


Leave a Comment

2013 | 2014 | 2015 | 2016

Sponsors

Voted Top 100 vBlog 2016

Categories