-
Notifications
You must be signed in to change notification settings - Fork 28
Why fixed Live Migration limit of 750 MBps? #59
Description
In Tests/unit/modal.unit.tests.ps1, a solution with network adapters with connection speed greater than 10GbE, a fixed maximum limit of 750 MBps is looked for. A reference to an article https://techcommunity.microsoft.com/t5/failover-clustering/optimizing-hyper-v-live-migrations-on-an-hyperconverged/ba-p/396609 is used as justification. However, that article states "The testing conducted tested different bandwidth limits on a dual 10 Gpbs RDMA enabled NIC and measured failures under stress conditions and found that throttling live migration to 750 MB achieved the highest level of availability to the system. On a system with higher bandwidth, you may be able to throttle to a value higher than 750 MB." More specific guidance is provided by Microsoft at https://docs.microsoft.com/en-us/azure-stack/hci/concepts/host-network-requirements#traffic-bandwidth-allocation. This article provides more specific guidance illustrating that a fixed 750MBps is not always the right value.
Here is an example of the appropriate calculation (and settings):
`
$aggregateLinkSpeed = ($smbNIC1.TransmitLinkSpeed + $smbNIC2.TransmitLinkSpeed)/1000000000
$smbBandwidthAllocationPercent = .5
$smbBandwidthLimit = $aggregateLinkSpeed * $smbBandwidthAllocationPercent
$liveMigrationBandwidthLimit = $smbBandwidthLimit * .29
$liveMigrationMaxMigrationLimit = 2
if($liveMigrationBandwidthLimit -lt 5){
$migrationPerformanceOption = "Compression"
Set-VMHost -VirtualMachineMigrationPerformanceOption $migrationPerformanceOption
}
else{
$migrationPerformanceOption = "SMB"
Set-VMHost -VirtualMachineMigrationPerformanceOption $migrationPerformanceOption
Set-SmbBandwidthLimit -CimSession $server -Category LiveMigration -BytesPerSecond ($liveMigrationBandwidthLimit/8)*1000000000)
}
`