Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Software Load Balancer (SLB) můžete použít k rovnoměrné distribuci síťového provozu mezi úlohy v softwarově definovaných sítích (SDN) spravovaných poskytovateli cloudových služeb (CSP) a tenanty. Další informace naleznete v tématu Software Load Balancer (SLB).
System Center Virtual Machine Manager (VMM) podporuje následující dva scénáře vyrovnávání zatížení:
Vyrovnávání zatížení externího síťového provozu: Tento scénář zahrnuje vyrovnávání zatížení síťového provozu přicházejícího z externí sítě. Vyrovnávání zatížení se provádí prostřednictvím veřejné virtuální IP adresy (VIP). Virtuální počítače úloh se dají připojit k neizolované síti virtuálních počítačů nebo k síti virtuálních počítačů s povolenou virtualizací.
Vyrovnávání zatížení interního síťového provozu (interní vyrovnávání zatížení): Tento scénář zahrnuje vyrovnávání zatížení síťového provozu úloh v síti virtuálních počítačů, která je povolená pro virtualizaci sítě. Vyrovnávání zatížení probíhá prostřednictvím VIP.
Poznámka:
Nástroj VMM podporuje konfiguraci vyrovnávání zatížení pomocí PowerShellu. Konfigurace prostřednictvím šablon služeb se v současné době nepodporuje.
Tento článek obsahuje informace o tom, jak nakonfigurovat vyrovnávání zatížení virtuálních počítačů úloh pomocí PowerShellu.
Poznámka:
- Z VMM 2019 UR1 se typ jedné připojené sítě změní na Připojenou síť.
- VMM 2019 UR2 a novější podporuje protokol IPv6.
Než začnete
Zajistěte, aby:
Síťový adaptér SDN a nástroj pro vyrovnávání zatížení softwaru SDN se nasazují.
Požadované virtuální počítače se vytvářejí v příslušných sítích a jsou identifikovány pro vyrovnávání zatížení.
Vytvoření šablony VIP
Použijte následující postupy k nakonfigurování virtuálních IP adres pro vyrovnávání zátěže pracovních virtuálních počítačů (DIP).
V konzole VMM vyberte Infrastruktura>Šablony VIP. Klikněte pravým tlačítkem myši a vyberte Vytvořit šablonu VIP.
Na stránce Název zadejte název a volitelný popis. Zadejte port virtuální IP adresy, který se použije jako front-endový port pro síťový provoz. Na back-endovém portu zadejte port, na kterém jsou hostované úlohy back-endu. Vyberte Další.
V části Typ v části Zadat typ šablony vyberte Konkrétní. V rozevíracím seznamu Výrobce vyberte Microsoft a z rozevíracího seznamu Model vyberte Microsoft Network Controller.
Vyberte Další.
V možnosti protokolu vyberte Vlastní a TCP/UDP v názvu protokolu. Vyberte Další.
Poznámka:
SLB podporuje vyrovnávání zatížení provozu TCP/UDP pouze na vrstvě 4. Protokoly HTTP/HTTPS se nepodporují.
Pro trvalost a vyrovnávání zatížení použijte výchozí hodnoty. Vyberte Další.
Poznámka:
SLB nepodporuje trvalost a různé metody vyrovnávání zatížení. SLB ve výchozím nastavení používá k vyrovnávání zatížení algoritmus Round Robin.
Do Monitorování stavu volitelně vložte příslušné hodnoty. Vyberte Další.
Možnosti: Protokoly TCP a HTTP jsou podporovány jako protokoly monitorování stavu, pokud se používá SLB.
Ověřte nastavení a vyberte Dokončit.
Po vytvoření šablony ji najdete v části Fabric>Šablony VIP.
Vytvoření VIP pomocí PowerShellu
Vytvořte VIP pomocí následujících ukázkových skriptů. Vyberte skript podle typu síťového provozu, který chcete pro vyrovnávání zatížení.
• Skript pro vytvoření VIP pro vyrovnávání zatížení externího síťového provozu
• Skript pro vytvoření VIP (virtuální IP adresy) pro vyrovnávání zatížení interního síťového provozu
Skript pro vytvoření VIP pro vyrovnávání zatížení externího síťového provozu
Následující ukázkový skript vytvoří VIP adresu z veřejné IP sítě pro vyrovnávání zatížení pracovních virtuálních počítačů WGB-001 a WGB-002 na portu 80.
Tento skript lze použít k vytvoření VIP pro vyrovnávání zatížení, a to i zadáním IPv6 VIP adresy.
Virtuální počítače úloh je možné připojit k síti bez izolace nebo k sítím s povolenou virtualizací sítě.
Poznámka:
- V části parametry skriptu nahraďte skutečné hodnoty odpovídající vašemu testovacímu prostředí pro ukázky použité v tomto skriptu.
- Ujistěte se, že skript spustíte na serveru VMM nebo v počítači, na kterém běží konzola VMM.
param(
[Parameter(Mandatory=$false)]
# Name of the Network Controller Network Service
# This value should be the name you gave the Network Controller service
# when you on-boarded the Network Controller to VMM
$LBServiceName = "NC",
[Parameter(Mandatory=$false)]
# Name of the workload VMs you want to load balance.
$VipMemberVMNames = @("WGB-001","WGB-002"),
[Parameter(Mandatory=$false)]
# Name of the VIP VM Network
$VipNetworkName = "PublicVIP",
[Parameter(Mandatory=$false)]
# VIP address you want to assign from the VIP VM Network IP pool.
# Pick any VIP that falls within your VIP IP Pool range.
$VipAddress = "44.15.10.253",
[Parameter(Mandatory=$false)]
# The name of the VIP template you created via the VMM Console.
$VipTemplateName = "WebsiteHTTP",
[Parameter(Mandatory=$false)]
# Arbitrary but good to match the VIP you're using.
$VipName = "scvmm_44_15_10_253_80"
)
Import-Module virtualmachinemanager
$lb = Get-scLoadBalancer | where { $_.Service.Name -like $LBServiceName};
$vipNetwork = get-scvmnetwork -Name $VipNetworkName;
$vipMemberNics = @();
foreach ($vmName in $VipMemberVMNames)
{
$vm = get-scvirtualmachine -Name $vmName;
# if ($vm.VirtualNetworkAdapters[0].VMNetwork.ID -ne $vipNetwork.ID)
# {
# $vm.VirtualNetworkAdapters[0] | set-scvirtualnetworkadapter -VMNetwork $vipNetwork;
# }
$vipMemberNics += $vm.VirtualNetworkAdapters[0];
}
$existingVip = get-scloadbalancervip -Name $VipName
if ($existingVip -ne $null)
{
# foreach ($mem in $existingVip.VipMembers)
# {
# $mem | remove-scloadbalancervipmember;
# }
$existingVip | remove-scloadbalancervip;
}
$vipt = get-scloadbalancerviptemplate -Name $VipTemplateName;
$vip = New-SCLoadBalancerVIP -Name $VipName -LoadBalancer $lb
-IPAddress $VipAddress -LoadBalancerVIPTemplate $vipt
-FrontEndVMNetwork $vipNetwork
-BackEndVirtualNetworkAdapters $vipMemberNics;
Write-Output "Created VIP " $vip;
$vip = get-scloadbalancervip -Name $VipName;
Write-Output "VIP created successfully " $vip;
Skript pro vytvoření virtuální IP adresy (VIP) k vyrovnávání zatížení interního síťového provozu
Pro následující ukázkový skript jsme vytvořili novou šablonu VIP s názvem ILB-VIP-Template pro vyrovnávání zatížení portu 443 pomocí postupu popsaného v předchozí části. Skript vytvoří VIP ze sítě virtuálních počítačů tenanta pro vyrovnávání zátěže na virtuální počítače ILB-001 a ILB-002, které jsou součástí stejné sítě virtuálních počítačů tenanta.
Tento skript lze použít k vytvoření VIP pro vyrovnávání zatížení, a to i zadáním IPv6 VIP adresy.
Poznámka:
- Ve scénáři interního vyrovnávání zatížení pochází VIP adresa ze sítě virtuálních počítačů nájemce. $VipNetworkName je stejný název sítě VM tenanta, kde jsou virtuální počítače připojené. Ujistěte se, že fond IP sítě tenanta VM má IP rezervované pro VIP. $VipAddress je jednou z IP adres z rezervovaných VIP adres.
- V části parametry skriptu nahraďte skutečné hodnoty odpovídající vašemu testovacímu prostředí pro ukázky použité v tomto skriptu.
- Ujistěte se, že skript spustíte na serveru VMM nebo v počítači, na kterém běží konzola VMM.
param(
[Parameter(Mandatory=$false)]
# Name of the Network Controller Network Service
# This value should be the name you gave the Network Controller service
# when you on-boarded the Network Controller to VMM
$LBServiceName = "NC",
[Parameter(Mandatory=$false)]
# Name of the workload VMs you want to load balance.
$VipMemberVMNames = @("ILB-001","ILB-002"),
[Parameter(Mandatory=$false)]
# Name of the VIP VM Network
$VipNetworkName = "TenantNetwork",
[Parameter(Mandatory=$false)]
# VIP address you want to assign from the VIP VM Network IP pool.
# Pick any VIP that falls within your VIP IP Pool range.
$VipAddress = "192.168.100.75",
[Parameter(Mandatory=$false)]
# The name of the VIP template you created via the VMM Console.
$VipTemplateName = "ILB-VIP-Template",
[Parameter(Mandatory=$false)]
# Arbitrary but good to match the VIP you're using.
$VipName = "scvmm_192_168_100_75_443"
)
Import-Module virtualmachinemanager
$lb = Get-scLoadBalancer | where { $_.Service.Name -like $LBServiceName};
$vipNetwork = get-scvmnetwork -Name $VipNetworkName;
$vipMemberNics = @();
foreach ($vmName in $VipMemberVMNames)
{
$vm = get-scvirtualmachine -Name $vmName;
# if ($vm.VirtualNetworkAdapters[0].VMNetwork.ID -ne $vipNetwork.ID)
# {
# $vm.VirtualNetworkAdapters[0] | set-scvirtualnetworkadapter -VMNetwork $vipNetwork;
# }
$vipMemberNics += $vm.VirtualNetworkAdapters[0];
}
$existingVip = get-scloadbalancervip -Name $VipName
if ($existingVip -ne $null)
{
# foreach ($mem in $existingVip.VipMembers)
# {
# $mem | remove-scloadbalancervipmember;
# }
$existingVip | remove-scloadbalancervip;
}
$vipt = get-scloadbalancerviptemplate -Name $VipTemplateName;
$vip = New-SCLoadBalancerVIP -Name $VipName -LoadBalancer $lb
-IPAddress $VipAddress -LoadBalancerVIPTemplate $vipt
-FrontEndVMNetwork $vipNetwork
-BackEndVirtualNetworkAdapters $vipMemberNics;
Write-Output "Created VIP " $vip;
$vip = get-scloadbalancervip -Name $VipName;
Write-Output " VIP created successfully " $vip;