Jak skonfigurować iSCSI w Windows Server? Podłączenie macierzy krok po kroku

Serwer potrzebuje więcej miejsca na maszyny wirtualne, bazę danych albo kopie zapasowe. Najprostszy pomysł to dołożenie kolejnych dysków, ale nie zawsze jest to możliwe. Obudowa może być pełna, a dane powinny być dostępne również dla innych serwerów. W takiej sytuacji przydaje się iSCSI.

Protokół pozwala podłączyć zasób znajdujący się na macierzy przez zwykłą sieć Ethernet. Windows Server widzi go podobnie jak lokalny dysk: można utworzyć partycję, sformatować ją i przypisać literę. Sama konfiguracja nie jest trudna, lecz kilka błędów potrafi mocno ograniczyć wydajność albo doprowadzić do utraty połączenia.

Czym właściwie jest iSCSI?

iSCSI przesyła polecenia SCSI przez sieć TCP/IP. W konfiguracji występują trzy podstawowe elementy:

  • initiator – serwer, który korzysta z przestrzeni dyskowej;
  • target – urządzenie udostępniające zasób;
  • LUN – konkretny wolumin przedstawiany serwerowi jako dysk.

W naszym przykładzie initiatorem będzie Windows Server, targetem macierz, a LUN-em wydzielona na niej przestrzeń.

Nie należy mylić iSCSI ze zwykłym udziałem SMB. Po otwarciu folderu sieciowego pracujemy na plikach udostępnionych przez inny system. Przy iSCSI serwer otrzymuje dostęp blokowy i sam tworzy system plików na przydzielonym woluminie.

Kiedy warto użyć iSCSI?

To rozwiązanie sprawdza się między innymi jako magazyn dla Hyper-V, aplikacji wymagających dostępu blokowego, repozytorium kopii zapasowych oraz wspólna przestrzeń dla infrastruktury serwerowej.

Przed wdrożeniem trzeba sprawdzić, jakie interfejsy oferuje urządzenie, ilu ma kontrolerów, czy obsługuje wielościeżkowość i ile dysków można w nim zainstalować. Przykładowe systemy pamięci masowej z interfejsami iSCSI, Fibre Channel oraz SAS znajdują się na stronie https://servermall.com/pl/catalog/storage-systems/.

Nie każda firma potrzebuje od razu rozbudowanej macierzy. Do laboratorium wystarczy nawet drugi serwer pełniący rolę targetu. Jeżeli jednak od tego magazynu mają zależeć produkcyjne maszyny wirtualne, ważne stają się dwa kontrolery, redundantne zasilanie i możliwość wymiany dysków bez zatrzymywania pracy.

Czytaj więcej:  Jak zmienić profil kolorów ICC w Windows 7?

Przygotowanie sieci

Najwięcej problemów z iSCSI wynika nie z samego Windows Server, lecz z sieci. Ruch dyskowy potrafi szybko zająć całe dostępne pasmo. Gdy korzysta z tego samego interfejsu co użytkownicy, kopie zapasowe i zwykły ruch firmowy, opóźnienia rosną w najmniej odpowiednim momencie.

Dobrą praktyką jest wydzielenie osobnej sieci lub VLAN-u dla storage. Interfejsy powinny mieć statyczne adresy IP. Dostępu do nich nie należy wystawiać do Internetu ani kierować przez przypadkowe routery.

Przed rozpoczęciem sprawdź:

  • adres IP portu iSCSI na macierzy;
  • maskę podsieci i konfigurację VLAN;
  • numer portu TCP – standardowo 3260;
  • nazwę IQN initiatora, jeśli dostęp jest ograniczony;
  • dane CHAP, jeżeli uwierzytelnianie zostało włączone;
  • czy zapora nie blokuje połączenia;
  • czy po obu stronach ustawiono ten sam MTU.

Jumbo Frames mogą poprawić efektywność transmisji, ale nie są obowiązkowe. Jeśli decydujesz się na większy MTU, musi on działać na całej trasie: na serwerze, przełączniku i macierzy. Częściowa konfiguracja zwykle daje więcej kłopotów niż korzyści.

Utworzenie LUN-u na macierzy

Sposób przygotowania zasobu zależy od producenta, lecz kolejność jest podobna:

  1. Utwórz pulę z wybranych dysków.
  2. Wybierz poziom RAID.
  3. Wydziel wolumin o potrzebnej pojemności.
  4. Utwórz target iSCSI.
  5. Przypisz do niego LUN.
  6. Zezwól na dostęp initiatorowi Windows Server.
  7. Zapisz adres IP portalu oraz nazwę targetu.

Nie przydzielaj całej dostępnej pojemności tylko dlatego, że jest wolna. Warto pozostawić miejsce na snapshoty, rozbudowę woluminów i operacje serwisowe. Dokładna rezerwa zależy od modelu macierzy oraz sposobu, w jaki zarządza ona przestrzenią.

Uruchomienie Inicjatora iSCSI w Windows Server

W Windows Server klient iSCSI jest już dostępny. Nie trzeba instalować osobnego programu.

  1. Otwórz menu Start.
  2. Wyszukaj Inicjator iSCSI albo uruchom polecenie:
iscsicpl.exe
  1. Przy pierwszym uruchomieniu system zapyta, czy uruchomić usługę Microsoft iSCSI i ustawić jej automatyczny start. Potwierdź.
  2. Przejdź do zakładki wykrywania portali.
  3. Dodaj adres IP interfejsu iSCSI macierzy.
  4. Wróć do listy elementów docelowych.
  5. Wybierz wykryty target i kliknij Połącz.
Czytaj więcej:  Budżetowe zasilacze dla początkujących górników

Nazwy zakładek mogą nieznacznie różnić się zależnie od wersji językowej systemu. Układ narzędzia pozostaje jednak podobny.

Podczas łączenia warto zaznaczyć opcję automatycznego przywracania sesji po ponownym uruchomieniu serwera. Jeżeli target wymaga CHAP, dane logowania wprowadza się w ustawieniach zaawansowanych połączenia.

Po chwili status targetu powinien zmienić się na połączony. Samo zestawienie sesji nie oznacza jeszcze, że nowy dysk pojawi się w Eksploratorze plików.

Inicjalizacja nowego dysku

Otwórz narzędzie Zarządzanie dyskami:

diskmgmt.msc

Jeśli wszystko działa poprawnie, na liście pojawi się nowy dysk w trybie offline lub jako niezainicjowany.

Następnie:

  1. Przełącz dysk w tryb online.
  2. Zainicjuj go jako GPT.
  3. Utwórz nowy wolumin.
  4. Wybierz system plików.
  5. Przypisz literę dysku lub punkt montowania.
  6. Nadaj woluminowi czytelną etykietę.

NTFS będzie bezpiecznym wyborem dla większości zastosowań. ReFS może być przydatny w określonych scenariuszach serwerowych, lecz przed jego wyborem trzeba sprawdzić wymagania aplikacji, systemu kopii zapasowych i używanej wersji Windows Server.

Jeden LUN i dwa serwery to nie zwykły folder sieciowy

Tego samego LUN-u nie wolno po prostu zamontować jako zapisywalnego dysku na dwóch niezależnych serwerach. Oba systemy mogą wtedy jednocześnie modyfikować struktury systemu plików, co grozi jego uszkodzeniem.

Wspólny dostęp wymaga rozwiązania świadomego pracy klastrowej, na przykład Failover Clustering i Cluster Shared Volumes. Jeśli kilka komputerów ma po prostu korzystać z tych samych dokumentów, lepiej udostępnić folder przez SMB z jednego serwera.

Dwa połączenia i MPIO

Pojedyncza karta sieciowa, przewód lub port przełącznika tworzą pojedynczy punkt awarii. W środowisku produkcyjnym zwykle przygotowuje się co najmniej dwie niezależne ścieżki między serwerem a macierzą.

Do ich obsługi Windows Server wykorzystuje MPIO, czyli Multipath I/O. Funkcję można dodać w Menedżerze serwera:

  1. Otwórz Dodaj role i funkcje.
  2. W sekcji funkcji zaznacz Multipath I/O.
  3. Zakończ instalację.
  4. Otwórz ustawienia MPIO.
  5. Włącz obsługę urządzeń iSCSI.
  6. Uruchom serwer ponownie.
  7. Połącz target przez każdą przygotowaną ścieżkę.
Czytaj więcej:  Rozwiązanie problemów ze smużeniem matrycy VA monitora

MPIO nie polega na zestawieniu dwóch przypadkowych sesji przez ten sam przełącznik. Prawdziwa redundancja wymaga osobnych interfejsów, portów oraz – jeśli infrastruktura na to pozwala – dwóch przełączników i dwóch kontrolerów macierzy.

Jak sprawdzić, czy połączenie działa poprawnie?

Po konfiguracji nie warto kończyć testu na skopiowaniu jednego pliku. Sprawdź kolejno:

  • czy LUN wraca po restarcie serwera;
  • czy system nie zapisuje błędów iSCSI w Podglądzie zdarzeń;
  • czy odłączenie jednej ścieżki nie przerywa dostępu przy włączonym MPIO;
  • jak zachowuje się magazyn podczas równoczesnego odczytu i zapisu;
  • czy monitoring wykrywa awarię portu, kontrolera lub dysku;
  • czy kopia zapasowa może zostać rzeczywiście odtworzona.

Do pomiarów można użyć narzędzia DiskSpd. Test powinien jednak przypominać prawdziwe obciążenie. Duży sekwencyjny odczyt pokaże wysoką wartość w MB/s, ale niewiele powie o pracy bazy danych wykonującej wiele małych operacji.

Najczęstsze błędy

Pierwszy błąd to uruchomienie całego ruchu przez jeden interfejs 1 Gb/s i oczekiwanie wydajności podobnej do lokalnego SSD. Drugim jest brak redundancji – wszystko działa do chwili awarii jednego przewodu.

Problemy powodują również:

  • różne ustawienia MTU;
  • błędna konfiguracja VLAN;
  • brak automatycznego przywracania sesji;
  • podłączenie tego samego LUN-u do kilku serwerów bez klastra;
  • utworzenie systemu plików przed zaplanowaniem sposobu użycia;
  • traktowanie snapshotu jako pełnej kopii zapasowej;
  • brak testu utraty jednej ze ścieżek.

Samo iSCSI jest dość proste. Trudniejsza część zaczyna się przy projektowaniu sieci, redundancji i procedury odzyskiwania danych. Jeśli te elementy zostaną przygotowane wcześniej, Windows Server potraktuje zdalny magazyn niemal jak zwykły dysk – i właśnie o to w tym rozwiązaniu chodzi.

Avatar photo
Wiśniewski Jakub

Interesuję się informatyką od 2005, a pracuję w IT od 2010. Lubię rozwiązywać problemy, a w wolnym czasie biegać po bezdrożach.