Poprawianie wydajności serwera plików za pomocą usługi SMB Direct
Dotyczy: Windows Server 2012 R2, Windows Server 2012
W systemach Windows Server 2012 R2 i Windows Server 2012 dostępna jest usługa SMB Direct, obsługująca korzystanie z kart sieciowych z funkcją zdalnego bezpośredniego dostępu do pamięci (RDMA). Karty sieciowe z funkcją RDMA mogą działać z pełną szybkością i z bardzo niskim opóźnieniem, w niewielkim stopniu wykorzystując procesor. W przypadku obciążeń takich jak funkcja Hyper-V lub program Microsoft SQL Server umożliwia to działanie zdalnego serwera plików w sposób przypominający magazyn lokalny. Zalety usługi SMB Direct to między innymi:
Zwiększona przepływność: wykorzystuje pełną przepływność szybkich sieci, w których karty sieciowe koordynują przesyłanie dużych ilości danych przy maksymalnej szybkości łącza.
Małe opóźnienia: zapewnia bardzo krótkie czasy odpowiedzi na żądania sieci, co w związku z tym oznacza, że czasy odpowiedzi dla zdalnego magazynu plików są porównywalne z czasem odpowiedzi magazynu blokowego podłączonego bezpośrednio.
Niski poziom wykorzystania procesora: używa mniejszej liczby cyklów procesora podczas przesyłania danych za pośrednictwem sieci, co zwalnia moc dla aplikacji serwera.
Usługa SMB Direct jest konfigurowana automatycznie w systemach Windows Server 2012 R2 i Windows Server 2012.
Funkcja SMB Multichannel a usługa SMB Direct
Funkcja SMB Multichannel odpowiada za wykrywanie funkcji RDMA kart sieciowych w celu włączenia usługi SMB Direct. Bez funkcji SMB Multichannel usługa SMB wykorzystuje zwykły protokół TCP/IP z kartami sieciowymi z funkcją RDMA (wszystkie karty sieciowe oprócz nowego stosu RDMA zawierają stos TCP/IP).
Dzięki funkcji SMB Multichannel usługa SMB wykrywa, czy dana karta sieciowa ma funkcję RDMA, a następnie tworzy wiele połączeń RDMA dla jednej sesji (dwa na jeden interfejs). Dzięki temu usługa SMB może korzystać z wysokiej przepływności, małych opóźnień i niskiego poziomu wykorzystania procesora, które oferują karty sieciowe z funkcją RDMA. Zapewnia także odporność na uszkodzenia w przypadku korzystania z wielu interfejsów RDMA.
Uwaga
-
Jeśli planowane jest korzystanie z funkcji RDMA kart sieciowych, nie należy łączyć kart sieciowych z funkcją RDMA w zespół. Zespół kart sieciowych nie będzie obsługiwał funkcji RDMA.
-
Po utworzeniu co najmniej jednego połączenia sieciowego RDMA połączenie TCP/IP używane do początkowego negocjowania protokołu przestanie być używane. To połączenie TCP/IP zostanie jednak utrzymane na wypadek awarii połączeń sieciowych RDMA.
W tym przewodniku
Wymagania
Włączanie i wyłączanie usługi SMB Direct
Testowanie wydajności usługi SMB Direct
Wymagania
Do korzystania z funkcji SMB Direct wymagane są następujące składniki:
Co najmniej dwa komputery z systemem Windows Server 2012 R2 lub Windows Server 2012.
Co najmniej jedna karta sieciowa z funkcją RDMA. Obecnie dostępne są trzy typy takich kart sieciowych: iWARP, Infiniband i RoCE (RDMA over Converged Ethernet). Użyj poniższych linków, aby uzyskać więcej informacji na temat poszczególnych typów kart sieciowych z funkcją RDMA:
Uwagi dotyczące korzystania z usługi SMB Direct:
Możesz używać usługi SMB Direct w klastrze trybu failover; upewnij się jednak, czy sieci klastrów używane dla dostępu klientów są odpowiednie do stosowania usługi SMB Direct. Klastry trybu failover obsługują używanie wielu sieci dla dostępu klientów, w tym także kart sieciowych z funkcją RSS (skalowania po stronie odbierającej) i RDMA.
Możesz używać usługi SMB Direct w systemie operacyjnym zarządzania funkcją Hyper-V w celu obsługi funkcji Hyper-V przez protokół SMB oraz w celu zapewnienia magazynu dla maszyny wirtualnej ze stosem magazynu funkcji Hyper-V. Jednak karty sieciowe z funkcją RDMA nie są bezpośrednio widoczne dla klientów funkcji Hyper-V. W przypadku podłączenia karty sieciowej z funkcją RDMA do przełącznika wirtualnego wirtualne karty sieciowe tego przełącznika nie będą obsługiwały funkcji RDMA.
Wyłączenie funkcji SMB Multichannel spowoduje jednocześnie wyłączenie usługi SMB Direct. Ponieważ funkcja SMB Multichannel wykrywa możliwości karty sieciowej i określa, czy dana karta sieciowa obsługuje funkcję RDMA, korzystanie przez klienta z usługi SMB Direct przy wyłączonej funkcji SMB Multichannel jest niemożliwe.
Usługa SMB Direct nie jest obsługiwana w systemie Windows RT. Usługa SMB Direct wymaga obsługi kart sieciowych z funkcją RDMA oferowanej tylko w systemach Windows Server 2012 R2 i Windows Server 2012.
Usługa SMB Direct nie jest obsługiwana w niższych wersjach systemu Windows Server. Jest obsługiwana wyłącznie w systemach Windows Server 2012 R2 i Windows Server 2012.
Włączanie i wyłączanie usługi SMB Direct
Usługa SMB Direct zostaje włączona domyślnie po zainstalowaniu systemu Windows Server 2012 R2 lub Windows Server 2012. Klient protokołu SMB automatycznie wykrywa dostępność wielu połączeń sieciowych i używa ich, jeśli została zidentyfikowana odpowiednia konfiguracja.
Wyłączanie usługi SMB Direct
Na ogół wyłączanie usługi SMB Direct nie jest konieczne; możesz jednak ją wyłączyć, uruchamiając jeden z poniższych skryptów programu Windows PowerShell.
Aby wyłączyć funkcję RDMA dla określonego interfejsu, wpisz:
Disable-NetAdapterRdma <name>
Aby wyłączyć funkcję RDMA dla wszystkich interfejsów, wpisz:
Set-NetOffloadGlobalSetting -NetworkDirect Disabled
Po wyłączeniu funkcji RDMA po stronie klienta lub serwera systemy nie będą mogły z niej korzystać.Bezpośredni interfejs sieciowy to wewnętrzna nazwa podstawowej obsługi sieciowej interfejsów RDMA w systemach Windows Server 2012 R2 i Windows Server 2012.
Ponowne włączanie usługi SMB Direct
Po wyłączeniu funkcji RDMA możesz ją włączyć ponownie, uruchamiając jeden z poniższych skryptów programu Windows PowerShell.
Aby ponownie włączyć funkcję RDMA dla określonego interfejsu, wpisz:
Enable-NetAdapterRDMA <name>
Aby ponownie włączyć funkcję RDMA dla wszystkich interfejsów, wpisz:
Set-NetOffloadGlobalSetting -NetworkDirect Enabled
Aby ponownie rozpocząć korzystanie z funkcji RDMA, włącz ją zarówno po stronie klienta, jak i po stronie serwera.
Testowanie wydajności usługi SMB Direct
Możesz przetestować wydajność usługi za pomocą jednej z poniższych procedur.
Porównywanie kopiowania plików z użyciem usługi SMB Direct i bez niej
Aby zmierzyć zwiększenie przepływności przez usługę SMB Direct
Skonfiguruj usługę SMB Direct.
Zmierz czas potrzebny do skopiowania plików o dużym rozmiarze przy użyciu usługi SMB Direct.
Wyłącz funkcję RDMA karty sieciowej — zobacz Włączanie i wyłączanie usługi SMB Direct.
Zmierz czas potrzebny do skopiowania plików o dużym rozmiarze bez użycia usługi SMB Direct.
Ponownie włącz funkcję RDMA karty sieciowej, a następnie porównaj wyniki.
Aby wyeliminować wpływ buforowania, wykonaj następujące czynności:
Skopiuj dużą ilość danych (więcej niż obsługuje pamięć).
Skopiuj dane dwukrotnie — za pierwszym razem testowo, a za drugim razem, mierząc czas.
Przed każdym testem ponownie uruchom serwer i klienta, aby mieć pewność, że pracują w podobnych warunkach.
Awaria jednej z wielu kart sieciowych podczas kopiowania plików z użyciem usługi SMB Direct
Aby potwierdzić możliwości pracy w trybie failover usługi SMB Direct
Sprawdź, czy usługa SMB Direct pracuje w konfiguracji z wieloma kartami sieciowymi.
Uruchom kopiowanie plików o dużym rozmiarze. Podczas kopiowania wykonaj symulację awarii jednej ze ścieżek sieciowych, odłączając jeden z przewodów (lub wyłączając jedną z kart sieciowych).
Sprawdź, czy kopiowanie plików trwa z użyciem jednej z pozostałych kart sieciowych i czy nie wystąpiły błędy kopiowania plików.
Uwaga
Aby uniknąć awarii obciążeń, do których nie jest stosowana usługa SMB Direct, upewnij się, że żadne inne obciążenia nie korzystają z odłączanej ścieżki sieciowej.