Najlepsze rozwiązania dotyczące sieci w Hyper-V
W większości przypadków podczas wdrażania maszyn wirtualnych (VM) w środowisku Hyper-V konieczne jest skonfigurowanie dostępu do sieci dla tych maszyn zgodnie z potrzebami. Prawidłowa konfiguracja sieciowa Hyper-V zapewnia wysoki poziom wydajności i bezpieczeństwa maszyn wirtualnych, hostów Hyper-V oraz całej infrastruktury, jednocześnie zwiększając stabilność całego centrum danych. Fizyczna karta sieciowa (kontroler interfejsu sieciowego – NIC) i przełącznik wirtualny to dwa główne elementy wymagane do pracy sieci Hyper-V. Potrzebujesz przynajmniej jednego z nich, aby nawiązać połączenia sieciowe dla maszyn wirtualnych.
Korzystanie z najnowszych sterowników kart sieciowych
Należy korzystać z najnowszych sterowników fizycznych kart sieciowych na hoście Hyper-V. Dzięki najnowszym sterownikom sieciowym zyskujesz dostęp do najnowszych funkcji oferowanych przez sterownik karty sieciowej, a także maksymalną prędkość i stabilność sieci. Znane błędy są zazwyczaj usuwane w najnowszych wersjach sterowników i oprogramowania układowego. Nawet jeśli system operacyjny Windows rozpoznaje fizyczne karty sieciowe i automatycznie korzysta z wbudowanych sterowników, zgodnie z najlepszymi rozwiązaniami dotyczącymi sieci Hyper-V zaleca się zainstalowanie natywnych sterowników od producenta karty sieciowej.
Korzystanie ze statycznych adresów IP podczas konfiguracji sieci Hyper-V
Ustaw statyczne adresy IP dla kart sieciowych serwerów Hyper-V podczas konfiguracji sieci Hyper-V, a także używaj statycznych adresów IP dla wirtualnych kart sieciowych maszyn wirtualnych działających jako serwery wirtualne. Jest to zalecane, ponieważ inne hosty w sieci mogą łączyć się z serwerami fizycznymi lub wirtualnymi przy użyciu ich adresów IP. Gdy adresy są uzyskiwane za pośrednictwem protokołu DHCP (Dynamic Host Configuration Protocol), mogą ulec zmianie po upływie odpowiednich przedziałów czasowych, podczas których inne hosty nie będą mogły połączyć się z tymi serwerami.
Korzystanie z odpowiedniego typu przełącznika wirtualnego
Wirtualne karty sieciowe maszyn wirtualnych są podłączone do portów przełącznik wirtualny , który jest opartym na oprogramowaniu odpowiednikiem przełącznika fizycznego działającego w drugiej warstwie modelu sieciowego OSI. Przełącznik wirtualny jest podłączony do sieci opartej na standardzie Ethernet za pośrednictwem fizycznej karty sieciowej hosta Hyper-V i przełącznika fizycznego. W Hyper-V istnieją trzy typy przełączników wirtualnych — przełącznik prywatny, przełącznik wewnętrzny i przełącznik zewnętrzny. Najlepsze rozwiązania dotyczące sieci Hyper-V zalecają stosowanie odpowiedniego typu przełącznika wirtualnego do różnych celów.
- Prywatny przełącznik wirtualny . Ten typ przełącznika wirtualnego jest używany, gdy maszyny wirtualne muszą działać w całkowicie izolowanej sieci wirtualnej, co może być wykorzystywane zarówno do testów, jak i ze względów bezpieczeństwa. Maszyny wirtualne podłączone do tego typu przełącznika wirtualnego mogą komunikować się ze sobą wyłącznie przez sieć, ale nie mają dostępu do hosta Hyper-V. Hosty Hyper-V nie mogą łączyć się z maszynami wirtualnymi podłączonymi do prywatnego przełącznika wirtualnego.
- Wewnętrzny przełącznik wirtualny . Maszyny wirtualne podłączone do tego typu przełącznika wirtualnego mogą komunikować się między sobą oraz z hostem Hyper-V. Host Hyper-V może również komunikować się z maszynami wirtualnymi podłączonymi do wewnętrznego przełącznika wirtualnego. Maszyny wirtualne nie mogą łączyć się z sieciami zewnętrznymi, w tym z Internetem. W konfiguracji sieci IP maszyn wirtualnych podłączonych do tego typu przełącznika wirtualnego nie są używane żadne bramy (podobnie jak w przypadku prywatnego przełącznika wirtualnego). Wewnętrzny przełącznik wirtualny jest przydatny do wymiany plików między hostem a systemami-gośćmi. W tym przypadku do hosta Hyper-V dodawany jest wirtualny interfejs sieciowy.
- Zewnętrzny przełącznik wirtualny . Maszyny wirtualne podłączone do zewnętrznych przełączników wirtualnych mogą komunikować się między sobą, z hostem Hyper-V, a także łączyć się z sieciami zewnętrznymi, w tym z Internetem. Host Hyper-V może komunikować się z maszynami wirtualnymi podłączonymi do zewnętrznego przełącznika wirtualnego. W tym przypadku w ustawieniach sieciowych maszyny wirtualnej Hyper-V konfigurowana jest brama w celu połączenia z innymi sieciami. Do hosta Hyper-V dodawany jest również wirtualny interfejs sieciowy.
Korzystanie z łączenia kart sieciowych z wyjątkiem sieci iSCSI
Jeśli masz więcej niż jedną fizyczną kartę sieciową, użyj łączenia kart sieciowych w konfiguracji sieciowej Hyper-V, aby włączyć agregację łączy. Łączenie kart sieciowych to funkcja, która pozwala rozdzielać ruch między fizycznymi i wirtualnymi kartami sieciowymi poprzez grupowanie fizycznych kart sieciowych w zespół. Takie kombinacje zapewniają wyższą wydajność (zawsze tak jest w rzeczywistości) i odporność na awarie (jest to faktycznie prawdziwe w przypadku konfiguracji sieciowej Hyper-V używanej w klastrze).
Dodanie karty sieciowej do zespołu zwiększa dostępną przepustowość sieci, nie sumując prędkości sieci wszystkich kart (jeśli dodasz cztery karty sieciowe 1 Gbit do zespołu, nie uzyskasz połączenia sieciowego 4 Gbit). Grupowanie kart sieciowych pozwala racjonalnie rozdzielać ruch sieciowy między kartami sieciowymi. Jeśli chcesz wdrożyć klaster Hyper-V, utwórz grupę dwóch kart sieciowych (użyj opcji karty rezerwowej) i podłącz każdą kartę do innego fizycznego przełącznika, aby zapewnić odporność na awarie sieci Hyper-V.
Nie używaj grupowania kart sieciowych w sieciach iSCSI, aby zapobiec ewentualnym awariom. Alternatywnie można skonfigurować MPIO (Multipath Input/Output) na serwerze Windows Server. Należy sprawdzić, czy zarówno inicjatory iSCSI, jak i cele iSCSI obsługują MPIO w danej infrastrukturze w celu równoważenia obciążenia.
Najlepsze rozwiązania dotyczące sieci Hyper-V również nie zalecają stosowania łączenia kart sieciowych w sieciach pamięci masowej SMB 3.0 w środowisku Hyper-V z powodu tych samych problemów, co w przypadku iSCSI.
Wykorzystanie oddzielnych sieci do różnych celów w klastrze
Jeśli posiadasz więcej niż jeden host Hyper-V i korzystasz ze wspólnej pamięci masowej do przechowywania maszyn wirtualnych Hyper-V, użyj oddzielnej sieci pamięci masowej (iSCSI lub SMB 3.0). Najlepsze rozwiązania dotyczące sieci Hyper-V zalecają stosowanie następujących oddzielnych sieci dla każdego rodzaju ruchu, zwłaszcza jeśli korzystasz z wdrażanie klastra z Trybem failover:
- Sieć pamięci masowej . Wydajność maszyn wirtualnych Hyper-V w dużym stopniu zależy od szybkości sieci pamięci masowej. Ruch sieciowy związany z magazynem ma kluczowe znaczenie dla klastrów i nie może być przekierowywany (należy używać tej samej podsieci). Sieć magazynu musi być tak szybka, jak to tylko możliwe. Dobrym wyborem będzie sieć 10 Gigabit.
- CSV (Cluster Shared Volume) lub sieć sygnałów kontrolnych. Ruch CSV jest zazwyczaj minimalny, ale służy do standardowej komunikacji w klastrze. Ruch sygnałów kontrolnych jest niewielki, ale wrażliwy na opóźnienia i wymaga, aby każdy komponent klastra był sprawny i dostępny online. Jeśli nie ma dedykowanej sieci do wysyłania sygnałów kontrolnych, mogą one ulec opóźnieniu lub nawet zostać utracone podczas przesyłania dużych ilości danych (na przykład podczas kopiowania plików przez sieć), a klaster może ulec awarii po utracie kworum.
- Sieć migracji na żywo maszyn wirtualnych . Proces migracji maszyn wirtualnych wymaga wystarczającej przepustowości, aby zadania migracyjne były wykonywane szybko i bezbłędnie, zwłaszcza gdy maszyna wirtualna jest uruchomiona. Iteracyjny proces kopiowania brudnych stron pamięci między hostami Hyper-V odbywa się podczas kopiowania stanu pamięci uruchomionej maszyny wirtualnej. Duże fragmenty pamięci muszą być kopiowane tak szybko, jak to możliwe.
- Sieć maszyn wirtualnych . Ta sieć przenosi najważniejszy ruch maszyn wirtualnych z punktu widzenia sieci Hyper-V.
- Sieć zarządzania . Ten typ sieci służy do zarządzania hostami Hyper-V i maszynami wirtualnymi znajdującymi się na tych hostach.
Takie podejście pomaga w segregacji różnych rodzajów ruchu w celu poprawy wydajności i bezpieczeństwa. Można to zrobić fizycznie, używając wielu kart sieciowych, oraz logicznie, stosując tagowanie VLAN. Należy pamiętać o utworzeniu dedykowanego przełącznika wirtualnego dla każdej sieci.
Włączanie ramek Jumbo dla sieci iSCSI, migracji na żywo i sieci CSV
Ramka Jumbo to ramka Ethernet, która może przenosić pakiet TCP o rozmiarze większym niż 1500 bajtów. W tym przypadku MTU (Maximum Transmission Unit) wynosi 1500 bajtów. Standardowy rozmiar ramki Ethernet wynosi 1518 bajtów, ale w przypadku użycia tagowania VLAN rozmiar ramki zwiększa się o 4 bajty i wynosi 1522 bajty. Wartość MTU dla ramki typu Jumbo może wynosić do 9000 bajtów. Na poniższych ilustracjach można zapoznać się ze strukturą standardowej ramki Ethernet oraz ramki Ethernet z tagami.


Uwaga: Część wysyłanych danych, na którą składa się ramka, rozpoczyna się preambułą oraz znacznikiem SFD (Start Frame Delimiter). Pomiędzy wysyłaniem takich części danych występuje przerwa międzyramkowa. Obszar danych użytkowych ramki może zawierać enkapsulowany pakiet, który z kolei składa się z nagłówka i ładunku. FCS odnosi się do sekwencji sprawdzającej ramkę, która służy do zapewnienia, że nie ma błędów i że dostarczone dane są spójne.
Ramki typu jumbo są większe niż ramki standardowe i powodują mniejsze obciążenie serwera, ponieważ mogą przenosić większe pakiety. Mniejsza liczba pakietów powoduje mniej przerw w pracy Procesora, a w rezultacie mniejsze ogólne obciążenie komputera. Mniejsza liczba przerw zmniejsza opóźnienia na magistrali serwera. Mniejsza liczba pakietów skutkuje mniejszym obciążeniem sieci pod względem formatów ramek i nagłówków, co pozwala na bardziej racjonalne wykorzystanie zasobów. Zobacz poniższy schemat, który przypomina diagram porównujący przechowywanie danych na dyskach twardych z klasycznymi sektorami o rozmiarze 512 bajtów i dyskach z sektorami o rozmiarze 4 KB (Advanced Format).

Włączając ramki Jumbo dla sieci iSCSI, Live Migration i CSV, można uzyskać wzrost prędkości transferu danych o około 27%. Pamiętaj, że ramka jest jednostką danych protokołu (PDU) drugiej warstwy modelu OSI, a pakiet jest jednostką danych protokołu (PDU) trzeciej warstwy modelu OSI.
Wszystkie urządzenia sieciowe (przełączniki, routery, karty sieciowe) w Twojej infrastrukturze, które są używane w sieciach iSCSI, Live Migration i CSV, muszą obsługiwać ramki Jumbo, a ta opcja musi być skonfigurowana na wszystkich tych urządzeniach. Pamiętaj, aby zainstalować najnowsze sterowniki i oprogramowanie układowe dla kart sieciowych na serwerach Hyper-V, zgodnie z opisem w powyższej sekcji, aby umożliwić włączenie ramek Jumbo podczas konfiguracji sieci Hyper-V. Nie używaj ramek Jumbo we wszystkich innych sieciach, ponieważ może to przynieść negatywne skutki.
Korzystanie z syntetycznych kart sieciowych, gdy to możliwe
Syntetyczna karta sieciowa Hyper-V, dostępna dla maszyn wirtualnych generacji 2, działa szybciej niż starsza karta sieciowa, która jest jedynym typem karty sieciowej dostępnym dla Maszyny wirtualne pierwszej generacji. Należy pamiętać, że system operacyjny gościa musi obsługiwać Hyper-V, aby można było korzystać z syntetycznej karty sieciowej, ponieważ w systemie operacyjnym gościa muszą być zainstalowane usługi integracyjne zawierające odpowiednie sterowniki. Do maszyny wirtualnej Hyper-V można podłączyć maksymalnie 8 syntetycznych kart sieciowych, natomiast maksymalna liczba tradycyjnych kart sieciowych, które można podłączyć do maszyny wirtualnej, wynosi 4. Syntetyczna karta sieciowa jest domyślnie dodawana do maszyny wirtualnej Hyper-V generacji 2 po jej utworzeniu. Syntetyczne karty sieciowe zapewniają lepszą funkcję, w tym wsparcie dla tagowania VLAN.
Tradycyjne karty sieciowe powinny być używane do uruchamiania PXE (Pre-boot Execution Environment), a także w starszych systemach operacyjnych, które wymagają emulowanego (tradycyjnego) sprzętu. Należy o tym pamiętać podczas konfiguracji sieci Hyper-V.
Równowaga między przepustowością sieci a pojemnością magazynu
Gdy pojemność magazynu jest duża, a przechowuje się na nim wiele maszyn wirtualnych, niska prędkość sieci może stać się wąskim gardłem. W rezultacie prędkość transferu danych może być niska, nawet jeśli dyski używane w urządzeniu magazynowym (na przykład NAS – Network Attached Storage) są szybkie (na przykład dyski półprzewodnikowe w macierzy RAID 10). Z drugiej strony, jeśli dysponujesz siecią pamięci masowej o dużej prędkości i niskim opóźnieniu, ale dyski używane w macierzach pamięci masowej na urządzeniu są wolne (na przykład magnetyczne dyski twarde o prędkości obrotowej 5400 obr./min), wówczas ogólna prędkość transferu danych może być niska. Z tego powodu najlepsze rozwiązania dotyczące sieci Hyper-V zalecają zachowanie równowagi między przepustowością sieci a prędkością dysków używanych do pamięci współdzielonej.
Wnioski
Sieć jest ważnym elementem infrastruktury wirtualnej w przypadku korzystania z Hyper-V. W tym wpisie na blogu omówiono najlepsze rozwiązania dotyczące sieci Hyper-V, które mogą pomóc w zapewnieniu, że konfiguracja sieci Hyper-V będzie działać w różnych sytuacjach — w przypadku korzystania z pojedynczego hosta Hyper-V, wielu hostów Hyper-V lub klastra w Trybie failover Hyper-V. Jak widać, niektóre zalecenia mają charakter ogólny, a inne dotyczą konkretnie Hyper-V. Jeśli zrozumiesz główne zasady działania sieci, będziesz w stanie skonfigurować sieci nie tylko dla Hyper-V.