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, aby używać magazynu hostowanego poza usługą Azure Stack Hub i w innym miejscu w centrum danych. W tym artykule omówiono używanie maszyny z systemem Windows jako obiektu docelowego iSCSI.
Szablon można znaleźć w rozwidleniu lucidqdreams repozytorium GitHub Intelligent Edge Patterns . Szablon znajduje się w folderze storage-iSCSI . Szablon został zaprojektowany tak, aby skonfigurować infrastrukturę niezbędną 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 sieciami wirtualnymi, sieciową grupą zabezpieczeń, pip i magazynem. 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.
Omówienie
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), która umożliwia instalację magazynu zewnętrznego z usługą Azure Stack Hub w ramach hostowanej maszyny wirtualnej usługi Azure Stack Hub za pośrednictwem protokołu iSCSI.
Wymagania
- Maszyna lokalna (fizyczna lub wirtualna) z systemem Windows Server 2016 Datacenter lub Windows Server 2019 Datacenter.
- Wymagane elementy witryny Azure Stack Hub Marketplace:
- Windows Server 2016 Datacenter lub Windows Server 2019 Datacenter (zalecana najnowsza kompilacja).
- Rozszerzenie DSC programu PowerShell.
- Rozszerzenie niestandardowego 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.
Zagadnienia do rozważenia
- Sieciowa grupa zabezpieczeń jest stosowana do podsieci szablonu. Zapoznaj się z tym i w razie potrzeby dokonaj dodatkowych uprawnień.
- Reguła odmowy protokołu RDP jest stosowana do sieciowej grupy zabezpieczeń tunelu i musi zostać 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 lokalnego adresu w konfiguracji.
- Ten szablon korzysta z licencji byOL systemu Windows.
- Systemy oparte na systemie Linux można również połączyć z obiektami docelowymi iSCSI. Instrukcje można znaleźć w artykule inicjatora iSCSI w dokumentacji systemu Ubuntu.
Opcje
- Możesz użyć własnego konta usługi Blob Storage i tokenu SAS przy użyciu _artifactsLocation i parametrów _artifactsLocationSasToken możliwość używania własnego obiektu blob magazynu z tokenem SAS.
- Ten szablon zawiera wartości domyślne dla nazewnictwa sieci wirtualnej i adresowania IP.
- Ta konfiguracja ma tylko jedną kartę sieciową iSCSI pochodzącą z klienta iSCSI. Przetestowaliśmy wiele konfiguracji, aby korzystać z oddzielnych podsieci i kart sieciowych, jednak napotkaliśmy problemy z wieloma bramami i próbowano utworzyć oddzielną podsieć magazynu w celu odizolowania ruchu i faktycznie być naprawdę nadmiarowe.
- Zachowaj ostrożność, aby zachować te wartości w podsieci prawnej 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ć tę usługę 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 uruchomi ponownie maszynę wirtualną.
Proces wdrażania
Szablon grupy zasobów generuje dane wyjściowe, które mają być danymi wejściowymi dla 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:
- Wdrażanie szablonu infrastruktury.
- Wdróż maszynę wirtualną usługi Azure Stack Hub na maszynie wirtualnej hostowanej w innym miejscu w centrum danych.
- Uruchom
Create-iSCSITarget.ps1
polecenie przy użyciu adresu 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. - Użyj zewnętrznego adresu IP lub adresów serwera docelowego iSCSI jako danych wejściowych, aby uruchomić
Connect-toiSCSITarget.ps1
skrypt.
Dane wejściowe dla pliku azuredeploy.json
Parametry | default | opis |
---|---|---|
WindowsImageSKU | 2019-Datacenter | Wybierz podstawowy obraz maszyny wirtualnej z systemem Windows |
maszyny wirtualnej (VMSize | Standardowa_D2_v2 | Wprowadź rozmiar maszyny wirtualnej |
VMName | FileServer | Nazwa maszyny wirtualnej |
adminUsername | storageadmin | Nazwa administratora nowej maszyny wirtualnej |
adminPassword | Hasło do konta administratora nowych maszyn wirtualnych. Wartość domyślna to identyfikator subskrypcji | |
Nazwa sieci wirtualnej | Storage | Nazwa sieci wirtualnej. Zostanie ona użyta do etykietowania zasobów |
VNetAddressSpace | 10.10.0.0/23 | Przestrzeń adresowa dla sieci wirtualnej |
VNetInternalSubnetName | Wewnętrzny | Nazwa wewnętrznej podsieci sieci wirtualnej |
VNetInternalSubnetRange | 10.10.1.0/24 | Zakres adresów dla wewnętrznej podsieci sieci wirtualnej |
InternalVNetIP | 10.10.1.4 | Statyczny adres wewnętrznego adresu IP serwera plików. |
_artifactsLocation | ||
_artifactsLocationSasToken |
Kroki wdrażania
- Wdrażanie infrastruktury klienta iSCSI przy użyciu polecenia
azuredeploy.json
- Uruchom polecenie
Create-iSCSITarget.ps1
na obiekcie docelowym iSCSI serwera lokalnego. Po zakończeniu pracy szablonu należy uruchomić Create-iSCSITarget.ps1 na obiekcie docelowym iSCSI serwera lokalnego z danymi wyjściowymi z pierwszego kroku - Uruchom
Connect-toiSCSITarget.ps1
polecenie na kliencie iSCSI. un the Connect-toiSCSITarget.ps1 on the on iSCSI client with details of the iSCSI target (usuń Connect-toiSCSITarget.ps1 na kliencie iSCSI) ze szczegółami obiektu docelowego 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 tworzony samodzielnie, jeśli tworzysz obiekt docelowy iSCSI. Ten diagram przedstawia przepływ wykonywania skryptów programu PowerShell. Te skrypty można znaleźć w katalogu Script:
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 we/wy na interfejs iSCSI
- Włączanie automatycznego oświadczeń 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 magazynu. 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.
Dane wejściowe | default | opis |
---|---|---|
Remoteserver | FileServer | Nazwa serwera łączącego się z obiektem docelowym iSCSI |
RemoteServerIPs | 1.1.1.1 | Adres IP, z poziomu których będzie pochodzić ruch iSCSI |
Folder dysku | C:\iSCSIVirtualDisks | Folder i dysk, na którym będą przechowywane dyski wirtualne |
DiskName | DiskName | Nazwa pliku VHDX dysku |
DiskSize | 5 GB | Rozmiar dysku VHDX |
TargetName | RemoteTarget01 | Nazwa docelowa używana do definiowania konfiguracji docelowej klienta iSCSI. |
ChapUsername | nazwa użytkownika | Nazwa użytkownika na potrzeby uwierzytelniania protokołu Chap |
ChapPassword | userP@ssw0rd! | Nazwa hasła na potrzeby uwierzytelniania protokołu Chap. Musi mieć od 12 do 16 znaków |
Connect-toiSCSITarget.ps1
Jest Connect-toiSCSITarget.ps1
to końcowy skrypt, który jest uruchamiany na kliencie iSCSI i instaluje dysk przedstawiony przez obiekt docelowy iSCSI do klienta iSCSI.
Dane wejściowe | default | opis |
---|---|---|
TargetiSCSIAddresses | "2.2.2.2","2.2.2.3" | Adresy IP obiektu docelowego iSCSI |
LocalIPAddresses | "10.10.1.4" | Jest to wewnętrzny adres IP, z których będzie pochodzić ruch iSCSI |
LoadBalancePolicy | C:\iSCSIVirtualDisks | Adres IP, z poziomu których będzie pochodzić ruch iSCSI |
ChapUsername | nazwa użytkownika | Nazwa użytkownika na potrzeby uwierzytelniania protokołu Chap |
ChapPassword | userP@ssw0rd! | Nazwa hasła na potrzeby uwierzytelniania protokołu Chap. Musi mieć od 12 do 16 znaków |
Następne kroki
Różnice i zagadnienia dotyczące sieci usługi Azure Stack Hub