Skip to content
This repository was archived by the owner on Nov 16, 2023. It is now read-only.
This repository was archived by the owner on Nov 16, 2023. It is now read-only.

Why fixed Live Migration limit of 750 MBps? #59

@aricbernard

Description

@aricbernard

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)
}
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions