Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za pomocą programowego modułu równoważenia obciążenia (SLB) można równomiernie dystrybuować ruch sieciowy między obciążeniami w programie Software Define Networking (SDN) zarządzanym przez dostawców usług w chmurze (CSP) i dzierżawców. Aby uzyskać więcej informacji, zobacz Software Load Balancer (SLB).
Program System Center Virtual Machine Manager (VMM) obsługuje następujące dwa scenariusze równoważenia obciążenia:
Równoważenie obciążenia ruchu sieciowego zewnętrznego: ten scenariusz obejmuje równoważenie obciążenia ruchu sieciowego pochodzącego z sieci zewnętrznej. Równoważenie obciążenia odbywa się za pośrednictwem publicznego wirtualnego adresu IP (VIP). Maszyny wirtualne dla obciążeń mogą być połączone z siecią
maszyn wirtualnych bez izolacji lub z siecią maszyn wirtualnych z obsługiwaną wirtualizacjąsieci. Równoważenie obciążenia ruchu w sieci wewnętrznej (wewnętrzne równoważenie obciążenia): Ten scenariusz obejmuje równoważenie obciążenia przepływu danych w sieci maszyn wirtualnych, która jest włączona na potrzeby wirtualizacji sieci. Równoważenie obciążenia odbywa się za pośrednictwem wirtualnego adresu IP (VIP).
Uwaga
Program VMM obsługuje konfigurację równoważenia obciążenia przy użyciu programu PowerShell. Konfiguracja za pomocą szablonów usługi nie jest obecnie obsługiwana.
Niniejszy artykuł zawiera informacje o sposobie konfigurowania równoważenia obciążenia obciążeń maszyn wirtualnych przy użyciu programu PowerShell.
Uwaga
- Od wersji VMM 2019 UR1 typ sieci One Connected został zmieniony na Połączona sieć
- Program VMM 2019 UR2 lub nowszy obsługuje protokół IPv6.
Przed rozpoczęciem
Uwaga:
Kontroler sieci SDN i programowy moduł równoważenia obciążenia SDN są wdrażane.
Wymagane maszyny wirtualne są tworzone w odpowiednich sieciach i są identyfikowane na potrzeby równoważenia obciążenia.
Utwórz szablon VIP
Użyj poniższych procedur, aby skonfigurować adresy VIP w celu równoważenia obciążenia maszyn wirtualnych (DIPs).
W konsoli programu VMM wybierz Fabric>Szablony VIP. Kliknij prawym przyciskiem myszy i wybierz pozycję Utwórz szablon VIP.
Na stronie Nazwa podaj nazwę i opcjonalny opis. Określ port wirtualnego adresu IP, który będzie używany jako port front-end dla ruchu sieciowego. W porcie zaplecza określ port, na którym są hostowane zastosowania wsteczne. Wybierz Dalej.
W Typ, w sekcji Określ typ szablonu, wybierz Specyficzny. Wybierz Microsoft z listy rozwijanej Producent, a następnie Microsoft Network Controller z listy rozwijanej Model.
Wybierz Dalej.
W Opcjach protokołu, wybierz opcję Niestandardowa i TCP/UDP w polu Nazwa protokołu. Wybierz Dalej.
Uwaga
SLB obsługuje tylko równoważenie obciążenia w warstwie 4 dla ruchu TCP/UDP. Protokoły HTTP/HTTPS nie są obsługiwane.
W przypadku trwałości i równoważenia obciążenia użyj wartości domyślnych. Wybierz Dalej.
Uwaga
SLB nie obsługuje trwałości i różnych metod równoważenia obciążenia. Domyślnie usługa SLB używa algorytmu Round Robin do równoważenia obciążenia.
W obszarze Monitory kondycji opcjonalnie wstaw odpowiednie wartości. Wybierz Dalej.
Opcje: protokoły TCP i HTTP są obsługiwane jako protokoły monitora kondycji, jeśli jest używana usługa SLB.
Sprawdź ustawienia i wybierz pozycję Zakończ.
Po utworzeniu szablonu można go znaleźć w obszarze Fabric>Szablony VIP.
Tworzenie adresu VIP przy użyciu programu PowerShell
Utwórz adres VIP przy użyciu poniższych przykładowych skryptów. Wybierz skrypt na podstawie typu ruchu sieciowego, który chcesz równoważyć:
• Skrypt do tworzenia adresu VIP w celu zrównoważenia obciążenia zewnętrznego ruchu sieciowego
• Skrypt tworzenia adresu VIP w celu równoważenia obciążenia ruchu sieciowego wewnętrznego
Skrypt tworzenia adresu VIP w celu równoważenia obciążenia ruchu sieciowego zewnętrznego
Poniższy przykładowy skrypt tworzy wirtualny adres IP (VIP) z publicznej sieci IP w celu równoważenia obciążenia maszyn wirtualnych WGB-001 i WGB-002 na porcie 80.
Ten skrypt może służyć do tworzenia równoważenia obciążenia VIP, z opcją przekazania adresu IPv6 VIP.
Maszyny wirtualne obciążenia mogą być połączone z siecią bez izolacji lub z sieciami maszyn wirtualnych z włączoną wirtualizacją sieci.
Uwaga
- W sekcji parametry skryptu zastąp rzeczywiste wartości zgodne ze środowiskiem testowym dla przykładów używanych w tym skrypcie.
- Upewnij się, że skrypt został uruchomiony na serwerze programu VMM lub na komputerze z uruchomioną konsolą programu 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;
Skrypt do tworzenia VIP w celu równoważenia obciążenia wewnętrznego ruchu sieciowego
W poniższym przykładowym skrypcie utworzyliśmy nowy szablon VIP o nazwie ILB-VIP-Template na potrzeby równoważenia obciążenia portu 443, korzystając z procedury omówionej w poprzedniej sekcji. Skrypt tworzy adres VIP z sieci maszyn wirtualnych dzierżawy, aby równoważyć obciążenie maszyn wirtualnych ILB-001 i ILB-002, które są częścią tej samej sieci maszyn wirtualnych dzierżawy.
Ten skrypt może służyć do tworzenia równoważenia obciążenia VIP, z opcją przekazania adresu IPv6 VIP.
Uwaga
- W scenariuszu wewnętrznego równoważenia obciążenia adres VIP pochodzi z sieci dzierżawy maszyn wirtualnych. Tak więc $VipNetworkName to ta sama nazwa sieci VM użytkownika, do której są podłączone maszyny wirtualne. Upewnij się, że pula adresów IP sieci maszyn wirtualnych dzierżawy ma adresy IP zarezerwowane dla adresów VIP. $c0>$VipAddress jest jednym z adresów IP zarezerwowanych VIP.
- W sekcji parametry skryptu zastąp rzeczywiste wartości zgodne ze środowiskiem testowym dla przykładów używanych w tym skrypcie.
- Upewnij się, że skrypt został uruchomiony na serwerze programu VMM lub na komputerze z uruchomioną konsolą programu 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;