Krok 1 – Shromážděte informace o hostiteli
Na hostiteli Hyper-V spusťte tyto příkazy:
Get-NetAdapter | Select Name, InterfaceDescription, Status, MacAddress, LinkSpeed
Get-NetAdapterAdvancedProperty -Name "<AdapterName>" | Where-Object {$_.DisplayName -match "VMQ|RSS|RSC|Energy|Chimney"}
Get-NetAdapterStatistics -Name "<AdapterName>"
Get-VMSwitch
Get-VMSwitchExtension
Zobrazuje stav ovladače, pokročilé funkce síťových karet, čítače a rozšíření přepínačů, které by mohly způsobit ztrátu paketů.
Krok 2 – Shromážděte informace o síti VM
Uvnitř virtuálního počítače, který zahazuje pakety:
Get-NetAdapter | Select Name, Status, LinkSpeed
Get-NetAdapterAdvancedProperty -Name "Ethernet" | Where-Object {$_.DisplayName -match "VMQ|RSS|RSC|Large Send"}
Get-NetIPInterface
Get-NetTCPSetting
Krok 3 – Test reprodukce ztráty paketů
Z jiného počítače spusťte dlouhý ping na postižený virtuální počítač:
ping <VM-IP> -t
Nebo smyčka PowerShellu s časovým razítkem:
for ($i=0;$i -lt 10000;$i++){
echo "$(Get-Date -Format o) $(Test-Connection -Count 1 -ComputerName <IP> | Select-Object -ExpandProperty ResponseTime)ms"
}
Spusťte také iperf3 test propustnosti mezi virtuálními počítači a zkontrolujte opakované přenosy a výpadky:
# On server VM
iperf3 -s
# On client VM
iperf3 -c <VM-IP> -t 120 -P 4
Krok 4 – Zachyťte provoz
Na virtuálním počítači: spusťte Wireshark a zachytejte během ztráty paketů.
Na hostiteli****: spusťte pktmon, abyste zjistili, zda jsou pakety před vstupem do VM zahozeny:
pktmon start --etl -c
# let it run during packet loss
pktmon stop
pktmon format PktMon.etl -o pktmon.txt
Porovnání: pokud hostitel vidí pakety, ale virtuální počítač ne, ztráta je uvnitř Hyper-V / vSwitch. Pokud ani jeden z paketů nevidí, je to fyzické (NIC/switch).
Krok 5 – Kontroly spínačů
Na fyzickém přepínači zkontrolujte port, ke kterému je hostitel připojen:
Hledejte chyby CRC, chyby zarovnání, zahození, chyby vstupu/výstupu.
Zkontroluje flapping MAC tabulky (stejná MAC se pohybuje mezi porty).
Zkontrolujte rychlost/duplex portů (automatický vs vynucený).
Pokud používáte SFP, zkontrolujte úrovně výkonu a počítadla chyb.
Pokud je použito LACP/teaming, ujistěte se, že oba konce souhlasí.
Rychlý test: přesuňte kabel do jiného portu přepínače (nebo jiného přepínače, pokud je k dispozici) a zjistěte, zda ztráta paketů zmizí.
Krok 6 – Izolační testy
Přesuňte virtuální počítač na jiného hostitele Hyper-V → dojde ke ztrátě paketů za virtuálním počítačem?
Vytvořte nový testovací virtuální počítač na stejném hostiteli → dojde ke ztrátě paketů?
Připojte virtuální počítač k novému přepínači vSwitch na stejné síťové kartě.
- Aktualizujte ovladače síťové karty a firmware na hostiteli (velmi častá příčina).