Aktualizacja 01.02.2018
- Ten problem został rozwiązany w zaktualizowanej wersji oprogramowania wewnętrznego i sterownika Mellanox CX4
W klastrze hiperkonwergentnym wdrożonym za pomocą węzłów Dell EMC Microsoft Storage Spaces Direct Ready z adapterami Dell EMC PowerEdge R740xd i Mellanox CX4 LX dla ruchu pamięci masowej po ponownym uruchomieniu węzła klastra w Podglądzie zdarzeń systemu Windows (Dzienniki aplikacji i usług —> Microsoft —> Windows —> Klient SMB —> Łączność) mogą pojawić się błędy klienta SMB (identyfikator zdarzenia 30803).
Chociaż jest to normalne w klastrze awaryjnym podczas ponownego uruchamiania węzła, od czasu do czasu błędy te mogą pojawiać się ponownie w węzłach klastra w regularnych odstępach czasu, nawet jeśli wszystkie węzły klastra są w pełni funkcjonalne. To zachowanie jest spowodowane niepowodzeniem podczas tworzenia odbiorników SMB dla każdego interfejsu magazynu w węźle, który został ponownie uruchomiony. Błędy te są wyświetlane w węzłach, które przetrwały w klastrze, a nie w węźle, który został ponownie uruchomiony. Opis błędu wskazuje serwer, z którym klient SMB próbuje się połączyć, a adres serwera w opisie wskazuje węzeł, który właśnie został ponownie uruchomiony.
W normalnym stanie funkcjonalnym węzłów klastra, po ponownym uruchomieniu węzła, uruchomienie polecenia netstat –xan powinno spowodować wyświetlenie detektora IPv4 i IPv6 powiązanego z każdym interfejsem pamięci masowej w węźle. Poniższe dane wyjściowe netstat.exe zostały zebrane w węźle z dwoma kartami pamięci masowej.
Aktywne połączenia NetworkDirect, odbiorniki, SharedEndpoints
Tryb IfIndex Typ Adres lokalny Adres zagranicznyPID
Połączenie jądra 4 10.128.100.101:445 10.128.100.100:61476 0
Połączenie jądra 4 10.128.100.101:445 10.128.100.100:62244 0
Połączenie jądra 4 10.128.100.101:445 10.128.100.100:61988 0
Połączenie jądra 4 10.128.100.101:445 10.128.100.100:62756 0
Połączenie jądra 4 10.128.100.101:12541 10.128.100.100:445 0
Połączenie jądra 4 10.128.100.101:12797 10.128.100.100:445 0
Połączenie jądra 4 10.128.100.101:14077 10.128.100.100:445 0
Połączenie jądra 4 10.128.100.101:14333 10.128.100.100:445 0
Jądro 14 Połączenie 10.128.100.133:445 10.128.100.132:27454 0
Połączenie jądra 14 10.128.100.133:445 10.128.100.132:27198 0
Połączenie jądra 14 10.128.100.133:237510.128.100.132:445 0
Połączenie jądra 14 10.128.100.133:62535 10.128.100.132:445 0
Połączenie jądra 14 10.128.100.133:62791 10.128.100.132:445 0
Połączenie jądra 14 10.128.100.133:64071 10.128.100.132:445 0
Połączenie jądra 14 10.128.100.133:64327 10.128.100.132:445 0
Odbiornik jądra 4 [fe80::4cae:cb05:4932:f226%4]:445 NA 0
Jądro 4 Listener 10.128.100.101:445 NA 0
Jądro 14 Listener 10.128.100.133:445 NA 0
Odbiornik jądra 14 [fe80::5180:55b6:c0f0:ae8d%14]:445 NA 0
Lista danych wyjściowych 1 - W pełni funkcjonalny stos SMB
Jeśli jednak w klastrze zaczną pojawiać się błędy klienta SMB, może to oznaczać, że węzeł został ponownie uruchomiony i nie ma wszystkich odbiorników skojarzonych z każdym interfejsem pamięci masowej w systemie.
Aktywne połączenia NetworkDirect, odbiorniki, SharedEndpoints
Tryb IfIndex Typ Adres lokalny Adres zagranicznyPID
Połączenie jądra 4 10.128.100.101:445 10.128.100.100:61476 0
Połączenie jądra 4 10.128.100.101:445 10.128.100.100:62244 0
Połączenie jądra 4 10.128.100.101:445 10.128.100.100:61988 0
Połączenie jądra 4 10.128.100.101:445 10.128.100.100:62756 0
Połączenie jądra 4 10.128.100.101:12541 10.128.100.100:445 0
Połączenie jądra 4 10.128.100.101:12797 10.128.100.100:445 0
Połączenie jądra 4 10.128.100.101:14077 10.128.100.100:445 0
Połączenie jądra 4 10.128.100.101:14333 10.128.100.100:445 0
Połączenie jądra 14 10.128.100.133:2375 10.128.100.132:445 0
Połączenie jądra 14 10.128.100.133:62535 10.128.100.132:445 0
Połączenie jądra 14 10.128.100.133:62791 10.128.100.132:445 0
Połączenie jądra 14 10.128.100.133:64071 10.128.100.132:445 0
Połączenie jądra 14 10.128.100.133:64327 10.128.100.132:445 0
Odbiornik jądra 4 [fe80::4cae:cb05:4932:f226%4]:445 NA 0
Jądro 4 Listener 10.128.100.101:445 NA 0
Lista wyjściowa 2 — w stosie SMB brakuje odbiornika
W związku z tym w powyższym przykładzie klient SMB próbujący nawiązać połączenie z interfejsem o indeksie 14 ostatecznie spowoduje komunikaty o odmowie połączenia i błędy klienta SMB (identyfikator zdarzenia 30803) związane z RDMA
Architektura sieciowa węzła gotowości Dell EMC Microsoft Ready Node zaleca zastosowanie dwóch adapterów pamięci masowej na każdy węzeł klastra. Ponadto karta, w której brakuje odbiornika, może nadal służyć do wysyłania ruchu RDMA. Ponieważ jednak na jednym z adapterów pamięci masowej nie ma detektora, nie można wykonywać zapisów przy użyciu RDMA. Ta karta powraca do używania protokołu TCP dla ruchu zapisu lub odbierania. Może to spowodować obniżenie wydajności zapisu w zależności od obciążenia roboczego. W przypadku wystąpienia tego problemu nie dochodzi do utraty danych ani ograniczeń funkcjonalności.
Zostało to zidentyfikowane jako błąd w sterowniku Mellanox CX4 LX WinOF2 w wersji 1.70 lub starszej.
Odbiornik SMB można odtworzyć przez ponowne uruchomienie po ponownym uruchomieniu adaptera pamięci wirtualnej, który nie ma skojarzonego odbiornika SMB. Można zidentyfikować właściwą kartę wirtualną do ponownego uruchomienia, wykonując czynności opisane poniżej.
Z danych wyjściowych polecenia netstat -xan widać, że brakuje odbiornika dla jednego z adapterów pamięci masowej. Indeks interfejsu dla brakującej karty można znaleźć przy użyciu polecenia cmdlet Get-NetAdapter .
P.S. C:\> Get-NetAdapter
Nazwa InterfaceDescription ifIndex Status MacAddress LinkSpeed
______________ __ ___________________ ____ ______vEthernet (pamięć masowa2) Karta Hyper-V Virtual Ethernet #3 14 w górę 00-15-5D-09-C4-0210 Gb/s
vEthernet (Storage1) Karta Hyper-V Virtual Ethernet #2 4 w górę 00-15-5D-09-C4-0110 Gb/s
vEthernet (zarządzanie)Karta wirtualnej sieci Ethernet Hyper-V 10 w górę 00-15-5D-09-C4-0010 Gb/s
Zdalne urządzenie zgodne z interfejsem Ethernet NDIS 9 Niedostępne 50-9A-4C-A7-F9-DF 0 b/s
NIC2 Intel(R) Ethernet 10G X710 rNDC 6 odłączony 24-6E-96-52-CC-A410 Gb/s
NIC4 Intel(R) I350 Gigabit Połączenie sieciowe... 15 Odłączony 24-6E-96-52-CC-C3 0 bps
NIC3 Intel(R) I350 Gigabit Połączenie sieciowe... #2 8 Odłączony 24-6E-96-52-CC-C2 0 bps
NIC1 Intel(R) Ethernet 10G 4P X710/I350 rNDC 13 Rozłączony 24-6E-96-52-CC-A210 Gb/s
GNIAZDO 1 Port 2 Mellanox ConnectX-4 Lx Ethernet Ad... #2 2 W górę 24-8A-07-59-4C-6910 Gb/s
SLOT 1 Port 1 Karta sieci Ethernet Mellanox ConnectX-4 Lx 11 w górę 24-8A-07-59-4C-6810 Gb/s
Patrząc na wyjście netstat –xan (pokazane w Output Listing 2), można zobaczyć, że interfejs o indeksie 14 nie ma skojarzonego z nim listenera. W poleceniu cmdlet Get-NetAdapter widać, że indeks interfejsu 14 to karta wirtualna vEthernet (Storage2).
Uwaga: Nazwa karty sieciowej może się różnić w zależności od tego, jak nazwano karty pamięci masowej w systemie operacyjnym zarządzania.Możesz teraz ponownie uruchomić interfejs z brakującym odbiornikiem.
Restart-NetAdapter –Nazwa "vEthernet (Storage2)"
Po zakończeniu tego procesu można sprawdzić polecenie netstat –xan, aby upewnić się, że detektor został utworzony. This process may take a few minutes. Po utworzeniu odbiornika węzły klastra zaczną normalnie komunikować się za pośrednictwem RDMA, a nowe błędy klienta SMB przestaną pojawiać się w podglądzie zdarzeń.