Identyfikator zdarzenia 106, gdy przełącznik wirtualny funkcji Hyper-V jest powiązany z zespołem LBFO

Ten artykuł pomaga rozwiązać problem z identyfikatorem zdarzenia 106, gdy przełącznik wirtualny funkcji Hyper-V jest powiązany z zespołem LBFO.

Dotyczy: Windows Server 2012 R2
Oryginalny numer KB: 2974384

Symptomy

Rozpatrzmy następujący scenariusz:

  • Masz komputer oparty na Windows Server 2012 lub Windows Server 2012 R2, który jest skonfigurowany razem z co najmniej jednym zespołem równoważenia obciążenia i trybu failover (LBFO).
  • Przełącznik wirtualny funkcji Hyper-V jest powiązany z jednym z zespołów LBFO.

W tym scenariuszu jedno z następujących zdarzeń jest rejestrowane sporadycznie.

Przyczyna

Jeśli błąd 106 mówi: "Przyczyna: zestawy procesorów nakładają się, gdy funkcja LBFO jest skonfigurowana w trybie sum-queue", musisz użyć polecenia Set-NetAdapterVmq Windows PowerShell, aby skonfigurować każdą kartę sieciową w zespole do używania różnych procesorów. (Ponieważ tworzenie zespołu LBFO jest skonfigurowane dla sum kolejek, karty sieciowe w zespole muszą używać zestawów procesorów bez przełączania).

Jeśli błąd 106 mówi: "Przyczyna: zestawy procesorów nie są identyczne, gdy funkcja LBFO jest skonfigurowana w trybie min-queue", musisz użyć polecenia Set-NetAdapterVmq Windows PowerShell, aby skonfigurować każdą kartę sieciową w zespole do używania tych samych procesorów. (Ponieważ tworzenie zespołu LBFO jest skonfigurowane dla trybu minimalnej kolejki, karty sieciowe w zespole muszą używać nakładających się zestawów procesorów).

Rozwiązanie

Jeśli błąd 106 mówi: "Przyczyna: zestawy procesorów nakładają się, gdy lbFO jest skonfigurowany w trybie sum-queue", możesz użyć następującego przykładu Windows PowerShell poleceń, aby oddzielić procesory, aby każda karta sieciowa używała różnych procesorów dla kolejki maszyn wirtualnych . Ponadto należy zainstalować poprawkę w artykule KB 3031598 , aby rozwiązać inne znane problemy po wprowadzeniu tych zmian konfiguracji.

Są to przykładowe polecenia. Ustawienia BaseProcessorNumber i MaxProcessors można zmieniać w zależności od liczby procesorów serwera i procesorów, których nie chcesz używać na potrzeby maszyny wirtualnej.

Set-NetAdapterVmq -Name NIC1 -BaseProcessorNumber 2 -MaxProcessors 2

Uwaga

Ta karta sieciowa będzie używać procesora 2 i 3 dla maszyny wirtualnej.

Set-NetAdapterVmq -Name NIC2 -BaseProcessorNumber 4 -MaxProcessors 2

Uwaga

Ta karta sieciowa będzie używać procesora 4 i 5 dla maszyny wirtualnej.

Jeśli na serwerze jest włączona funkcja Hyper Threading procesora, należy zmodyfikować sposób ustawiania ustawień BaseProcessorNumber i MaxProcessors, aby naprawić błąd 106 w trybie sum-queue.

Jeśli nie masz pewności, czy funkcja Hyper Threading jest włączona na serwerze, jednym z prostych sposobów ustalenia, czy jest uruchomienie polecenia cmdlet Get-NetAdapterRSS Windows PowerShell, a następnie przyjrzenie się wierszowi wyjściowemu dla RssProcessorArray. Jeśli jest wyświetlany komunikat 0:0/0 0:1/0 0:2/0..... funkcja Hyper Threading jest wyłączona. Jeśli jest wyświetlany komunikat 0:0/0 0:2/0 0:4/0..., funkcja Hyper Threading jest włączona. Usługi RSS i VMQ używają procesorów podstawowych tylko wtedy, gdy funkcja Hyper Threading jest włączona, co oznacza, że procesory parzysty.

Dlatego jeśli ustawiasz wcześniej wymienione polecenia na serwerze Hyper-Threaded, możesz ustawić wartość liczby parzystej tylko dla klasy BaseProcessorNumber. Ponadto parametr MaxProcessors musi być ustawiony na liczbę procesorów do użycia, z których może korzystać maszyna wirtualna.

Jeśli na przykład masz (dwa) procesory z sześcioma rdzeniami i włączoną funkcję Hyper Threading, w narzędziach systemu Windows zostaną wyświetlone 24 procesory, na przykład Menedżer zadań. VMQ może używać tylko 12 z nich, ponieważ używa tylko procesorów parzysty. Aby podzielić te procesory na dwie karty sieciowe i naprawić błąd 106, należy użyć następujących poleceń, aby ustawić każdą kartę sieciową do używania różnych procesorów dla maszyn wirtualnych:
Set-NetAdapterVMQ -Name NIC1 -BaseProcessorNumber 0 -MaxProcessors 6 (więc ta karta sieciowa będzie używać procesora 0,2,4,6,8,10 dla VMQ)
Set-NetAdapterVMQ -Name NIC2 -BaseProcessorNumber 12 -MaxProcessors 6 (więc ta karta sieciowa będzie używać procesora 12,14,16,18,20,22 dla VMQ)

Jeśli błąd 106 mówi: "Przyczyna: zestawy procesorów nie są identyczne, gdy funkcja LBFO jest skonfigurowana w trybie min-queue", możesz użyć następującego przykładu Windows PowerShell poleceń, aby każda karta sieciowa używała tych samych procesorów dla maszyny wirtualnej.

Są to przykładowe polecenia. Ustawienia BaseProcessorNumber i MaxProcessors można zmieniać w zależności od liczby procesorów serwera i procesorów, których nie chcesz używać na potrzeby maszyny wirtualnej.

Set-NetAdapterVmq -Name NIC1 -BaseProcessorNumber 2 -MaxProcessors 4

Uwaga

Ta karta sieciowa będzie używać procesora 2, 3, 4 i 5 dla maszyny wirtualnej

Set-NetAdapterVmq -Name NIC2 -BaseProcessorNumber 2 -MaxProcessors 4

Uwaga

Ta karta sieciowa będzie również używać procesora 2, 3, 4 i 5 dla maszyny wirtualnej

Po prawidłowym ustawieniu procesorów VMQ tak, aby wszystkie karty sieciowe używały tych samych procesorów dla maszyny wirtualnej, nadal może zostać wyświetlony błąd 106 "Przyczyna: zestawy procesorów nie są identyczne, gdy funkcja LBFO jest skonfigurowana w trybie min-queue", jeśli dostosowano również ustawienie "Preferowany węzeł NUMA" dla dowolnych kart sieciowych do używania określonego węzła NUMA. Ustawieniem domyślnym dla niego jest "Domyślne ustawienie systemu" i jest preferowanym ustawieniem podczas korzystania z maszyny wirtualnej. Jeśli ustawisz określony preferowany węzeł NUMA, a węzły NUMA różnią się na kartach sieciowych, karty sieciowe nie używają tych samych procesorów dla maszyny wirtualnej.

Przykład: W powyższym przykładzie dla obu procesorów 2, 3, 4 i 5 ustawiono karty sieciowe NIC1 i NIC2. Jeśli serwer ma osiem węzłów NUMA z czterema procesorami w każdym węźle NUMA, a dla karty sieciowej NIC1 ustawiono preferowany węzeł NUMA 0 i ustawiono wartość KARTY SIECIowej 2 na preferowany węzeł NUMA 1, wówczas w rzeczywistości ustawiasz kartę sieciową NIC1 do używania procesorów 2 i 3 oraz karty sieciowej NIC2 do używania procesorów 4 i 5, ponieważ procesory 2, 3, 4 i 5 są podzielone na dwa węzły NUMA reprezentujące procesory 0, 1, 2, 3 i 4, 5, 6, 7.

Więcej informacji

Blog omawiający ustawienia VMQ i LBFO dla różnych konfiguracji LBFO
Blog omawiający przypisanie procesora VMQ