Udostępnij za pośrednictwem


Nawiązywanie połączenia z magazynem iSCSI za pomocą usługi Azure Stack Hub

Możesz użyć szablonu w tym artykule, aby połączyć maszynę wirtualną usługi Azure Stack Hub z lokalnym obiektem docelowym iSCSI skonfigurować maszynę wirtualną do używania magazynu hostowanego poza usługą Azure Stack Hub i gdzie indziej w centrum danych. W tym artykule omówiono używanie maszyny z systemem Windows jako obiektu docelowego iSCSI.

Szablon można znaleźć w lucidqdreams rozwidleniu wzorców Azure Intelligent Edge Patterns repozytorium GitHub. Szablon znajduje się w folderze storage-iSCSI. Szablon został zaprojektowany w celu skonfigurowania infrastruktury niezbędnej po stronie usługi Azure Stack Hub w celu nawiązania połączenia z obiektem docelowym iSCSI. Obejmuje to maszynę wirtualną, która będzie działać jako inicjator iSCSI wraz z towarzyszącymi jej VNet, NSG, publicznym adresem IP oraz magazynem danych. Po wdrożeniu szablonu należy uruchomić dwa skrypty programu PowerShell, aby ukończyć konfigurację. Jeden skrypt zostanie uruchomiony na lokalnej maszynie wirtualnej (docelowej), a jeden zostanie uruchomiony na maszynie wirtualnej usługi Azure Stack Hub (inicjator). Po zakończeniu tych czynności będziesz mieć magazyn lokalny dodany do maszyny wirtualnej usługi Azure Stack Hub.

Przegląd

Na diagramie przedstawiono maszynę wirtualną hostowaną w usłudze Azure Stack Hub z zainstalowanym dyskiem iSCSI z komputera z systemem Windows lokalnie (fizycznym lub wirtualnym), co umożliwia zainstalowanie magazynu zewnętrznego z usługą Azure Stack Hub na hostowanej maszynie wirtualnej usługi Azure Stack Hub za pośrednictwem protokołu iSCSI.

Diagram przedstawia maszynę wirtualną hostowaną w usłudze Azure Stack Hub, która uzyskuje dostęp do zewnętrznego zainstalowanego dysku iSCSI.

Wymagania

  • Maszyna lokalna (fizyczna lub wirtualna) z systemem Windows Server 2016 Datacenter lub Windows Server 2019 Datacenter.
  • Wymagane elementy witryny Marketplace usługi Azure Stack Hub:
    • Windows Server 2016 Datacenter lub Windows Server 2019 Datacenter (zalecana najnowsza kompilacja).
    • Rozszerzenie DSC programu PowerShell.
    • Niestandardowe rozszerzenie skryptu.
    • Istniejąca maszyna wirtualna lub fizyczna. Najlepiej, aby ta maszyna miała dwie karty sieciowe. Może to być również inny obiekt docelowy iSCSI, taki jak sieć SAN na przykład.

Kwestie do rozważenia

  • Grupa zabezpieczeń sieciowych jest stosowana do szablonowej podsieci. Przejrzyj to i w razie potrzeby wprowadź dodatkowe dodatki.
  • Reguła odmowy protokołu RDP jest stosowana do sieciowej grupy zabezpieczeń tunelu i musi być ustawiona tak, aby zezwolić na dostęp do maszyn wirtualnych za pośrednictwem publicznego adresu IP.
  • To rozwiązanie nie uwzględnia rozpoznawania nazw DNS.
  • Należy zmienić nazwę Chapusername i Chappassword. Chappassword musi mieć długość od 12 do 16 znaków.
  • Ten szablon używa statycznego adresu IP dla maszyny wirtualnej, ponieważ połączenie iSCSI używa adresu lokalnego w konfiguracji.
  • Ten szablon używa licencji systemu Windows BYOL.
  • Można również połączyć systemy oparte na systemie Linux z obiektami docelowymi iSCSI. Instrukcje można znaleźć w artykule iSCSI Inicjator w dokumentacji systemu Ubuntu.

Opcje

  • Możesz użyć własnego konta usługi Blob Storage i tokenu SAS, korzystając z parametrów _artifactsLocation i _artifactsLocationSasToken, które umożliwiają korzystanie z własnego obiektu blob magazynu z tokenem SAS.
  • Ten szablon zawiera wartości domyślne dla nazewnictwa i adresowania IP sieci wirtualnej.
  • Ta konfiguracja ma tylko jedną kartę sieciową iSCSI pochodzącą z klienta iSCSI. Przetestowaliśmy wiele konfiguracji, aby wykorzystać oddzielne podsieci i karty sieciowe, jednak napotkaliśmy problemy związane z wieloma bramami oraz próbą utworzenia oddzielnej podsieci do przechowywania w celu odizolowania ruchu i osiągnięcia prawdziwej redundancji.
  • Upewnij się, że zachowujesz te wartości w prawidłowych podsieciach i zakresach adresów, ponieważ wdrożenie może zakończyć się niepowodzeniem.
  • Podstawowym celem pakietów DSC programu PowerShell jest sprawdzenie oczekujących ponownych uruchomień. W razie potrzeby można dostosować parametry DSC. Aby uzyskać więcej informacji, zobacz omputerManagementDsc.

Szablon grupy zasobów (klient iSCSI)

Na diagramie przedstawiono zasoby wdrożone z szablonu w celu utworzenia klienta iSCSI, którego można użyć do nawiązania połączenia z obiektem docelowym iSCSI. Ten szablon wdroży maszynę wirtualną i inne zasoby, a ponadto uruchomi prepare-iSCSIClient.ps1 i ponownie uruchomi maszynę wirtualną.

Diagram przedstawia zasoby wdrożone z szablonu w celu utworzenia klienta iSCSI w celu nawiązania połączenia z obiektem docelowym iSCSI. Przedstawia on serwer plików z wewnętrzną podsiecią i kartą sieciową (kartą sieciową), wewnętrznym protokołem (prywatnym protokołem internetowym) i sieciową grupą zabezpieczeń (sieciową grupą zabezpieczeń).

Proces wdrażania

Szablon grupy zasobów generuje dane wyjściowe, które mają być danymi wejściowymi na potrzeby następnego kroku. Koncentruje się głównie na nazwie serwera i publicznym adresie IP usługi Azure Stack Hub, z którego pochodzi ruch iSCSI. W tym przykładzie:

  1. Wdróż szablon infrastruktury.
  2. Wdróż maszynę wirtualną usługi Azure Stack Hub na maszynie wirtualnej hostowanej w innym miejscu w centrum danych.
  3. Uruchom Create-iSCSITarget.ps1 przy użyciu adresów IP i danych wyjściowych nazwy serwera z szablonu jako parametrów wyjściowych skryptu na obiekcie docelowym iSCSI, który może być maszyną wirtualną lub serwerem fizycznym.
  4. Użyj zewnętrznego adresu IP lub adresów serwera obiektów docelowych iSCSI jako danych wejściowych, aby uruchomić skrypt Connect-toiSCSITarget.ps1.

Diagram przedstawia pierwsze trzy z czterech kroków wymienionych powyżej i zawiera dane wejściowe i wyjściowe. Kroki to: Wdrażanie infrastruktury, tworzenie obiektów docelowych iSCSI i Łączenie z interfejsem iSCSI.

Dane wejściowe dla azuredeploy.json

parametrów domyślne opis
WindowsImageSKU 2019-Datacenter Wybierz podstawowy obraz maszyny wirtualnej z systemem Windows
Rozmiar maszyny wirtualnej Standard_D2_v2 Wprowadź rozmiar maszyny wirtualnej
Nazwa maszyny wirtualnej Serwer plików Nazwa maszyny wirtualnej
adminUsername storageadmin Nazwa administratora nowej maszyny wirtualnej
hasłoAdministratora Hasło dla konta administratora nowych maszyn wirtualnych. Wartość domyślna to identyfikator subskrypcji
Nazwa sieci wirtualnej Składowanie Nazwa VNet. Będzie ona używana do etykietowania zasobów
VNetAddressSpace 10.10.0.0/23 Przestrzeń adresowa dla sieci wirtualnej
VNetInternalSubnetName (Nazwa wewnętrznej podsieci VNet) Wewnętrzny Nazwa podsieci wewnętrznej VNet
VNetInternalSubnetRange 10.10.1.0/24 Zakres adresów dla podsieci VNet
Wewnętrzny adres IP sieci VNet 10.10.1.4 Statyczny adres wewnętrznego adresu IP serwera plików.
_artifactsLocation
_artifactsLocationSasToken

Kroki wdrażania

  1. Wdrażanie infrastruktury klienta iSCSI przy użyciu azuredeploy.json
  2. Uruchom Create-iSCSITarget.ps1 na obiekcie docelowym iSCSI serwera lokalnego. Po zakończeniu działania szablonu należy uruchomić Create-iSCSITarget.ps1 na obiekcie docelowym iSCSI serwera lokalnego z danymi wyjściowymi z pierwszego kroku
  3. Uruchom Connect-toiSCSITarget.ps1 na kliencie iSCSI. na Connect-toiSCSITarget.ps1 na kliencie iSCSI z informacjami o docelowym serwerze iSCSI

Dodawanie magazynu iSCSI do istniejących maszyn wirtualnych

Skrypty można również uruchomić na istniejącej maszynie wirtualnej, aby nawiązać połączenie z klienta iSCSI z obiektem docelowym iSCSI. Ten przepływ jest przeznaczony dla sytuacji, gdy sam tworzysz obiekt docelowy iSCSI. Ten diagram przedstawia przepływ wykonywania skryptów programu PowerShell. Te skrypty można znaleźć w katalogu Script:

Diagram przedstawia trzy skrypty omówione poniżej. W kolejności wykonywania są one: Prepare-iSCSIClient.ps1, (wykonywane na kliencie), Tworzenie iSCSITarget.ps1 (wykonywany na obiektach docelowych) i Connect-toiSCSITarget.ps1 (wykonywany na kliencie).

Prepare-iSCSIClient.ps1

Skrypt Prepare-iSCSIClient.ps1 instaluje wymagania wstępne na kliencie iSCSI, w tym;

  • instalacja usług Multipath-IO
  • Ustawianie uruchamiania usługi inicjatora iSCSI na automatyczne
  • włączanie obsługi wielościeżkowego MPIO dla iSCSI
  • Włącz automatyczne przyznawanie wszystkich woluminów iSCSI
  • Ustaw limit czasu dysku na 60 sekund

Po zainstalowaniu tych wymagań wstępnych należy ponownie uruchomić system. Zasady równoważenia obciążenia MPIO wymagają ponownego uruchomienia, aby można je było ustawić.

Create-iSCSITarget.ps1

Skrypt Create-iSCSITarget.ps1 ma być uruchamiany na serwerze pamięci masowej. Można utworzyć wiele dysków i obiektów docelowych ograniczonych przez inicjatorów. Ten skrypt można uruchomić wiele razy, aby utworzyć wiele dysków wirtualnych, które można dołączyć do różnych obiektów docelowych. Można połączyć wiele dysków z jednym obiektem docelowym.

wejściowe domyślne opis
RemoteServer serwer plików Nazwa serwera łączącego się z obiektem docelowym iSCSI
RemoteServerIPs 1.1.1.1 Adres IP, z których będzie pochodzić ruch iSCSI
Folder dysku C:\iSCSIVirtualDisks Folder i dysk, na którym będą przechowywane dyski wirtualne
Nazwa dysku Nazwa dysku Nazwa pliku VHDX dysku
Rozmiar dysku 5 GB Rozmiar dysku VHDX
TargetName RemoteTarget01 Nazwa docelowa używana do definiowania konfiguracji docelowej klienta iSCSI.
ChapUsername nazwa użytkownika Nazwa użytkownika dla uwierzytelniania CHAP
ChapPassword userP@ssw0rd! Nazwa dla uwierzytelniania CHAP. Musi mieć od 12 do 16 znaków

Connect-toiSCSITarget.ps1

Connect-toiSCSITarget.ps1 jest ostatecznym skryptem, który jest uruchamiany na kliencie iSCSI i montuje dysk zaprezentowany przez target iSCSI na inicjatorze iSCSI.

Wejście domyślne opis
TargetiSCSIAddresses "2.2.2.2","2.2.2.3" Adresy IP obiektu docelowego iSCSI
LokalneAdresyIP "10.10.1.4" Jest to wewnętrzny adres IP, z których będzie pochodzić ruch iSCSI
PolitykaRównoważeniaObciążenia C:\iSCSIVirtualDisks Adres IP, z których będzie pochodzić ruch iSCSI
ChapUsername nazwa użytkownika Nazwa użytkownika dla uwierzytelniania CHAP
ChapPassword userP@ssw0rd! Nazwa identyfikatora hasła dla uwierzytelniania CHAP. Musi mieć od 12 do 16 znaków

Następne kroki

Różnice i zagadnienia dotyczące sieci usługi Azure Stack Hub