Udostępnij za pośrednictwem


Wdrażanie aplikacji klastrowanych w elastycznej sieci SAN platformy Azure

Woluminy usługi Azure Elastic SAN można jednocześnie dołączyć do wielu klientów obliczeniowych, co umożliwia wdrażanie lub migrowanie aplikacji klastra na platformę Azure. Należy użyć menedżera klastra do udostępniania woluminu elastycznej sieci SAN, takiego jak klaster trybu failover systemu Windows Server (WSFC) lub pacemaker. Menedżer klastra obsługuje komunikację węzłów klastra i blokowanie zapisu. Elastyczna sieć SAN nie oferuje natywnie w pełni zarządzanego systemu plików, do którego można uzyskać dostęp za pośrednictwem protokołu SMB lub NFS.

W przypadku użycia jako woluminu udostępnionego woluminy elastyczne sieci SAN mogą być współużytkowane w różnych strefach dostępności lub regionach. Udostępnianie woluminu w sieci SAN magazynu lokalnie nadmiarowego w różnych strefach zmniejsza wydajność z powodu zwiększonego opóźnienia między woluminem a klientami.

Ograniczenia

  • Skrypty połączeń elastic SAN mogą służyć do dołączania udostępnionych woluminów do maszyn wirtualnych w zestawach skalowania maszyn wirtualnych lub maszyn wirtualnych w zestawach dostępności. Wyrównanie domeny błędów nie jest obsługiwane.
  • Maksymalna liczba sesji, które obsługuje udostępniony wolumin, wynosi 128.
    • Pojedynczy klient może utworzyć wiele sesji do pojedynczego woluminu w celu zwiększenia wydajności. Jeśli na przykład tworzysz 32 sesje na każdym z klientów, tylko czterech klientów może nawiązać połączenie z jednym woluminem.

Zobacz Obsługa funkcji usługi Azure Storage, aby uzyskać inne ograniczenia dotyczące elastycznej sieci SAN.

Jak to działa

Elastyczne woluminy udostępnione sieci SAN używają trwałych rezerwacji SCSI-3, aby umożliwić inicjatorom (klientom) kontrolowanie dostępu do udostępnionego elastycznego woluminu SAN. Ten protokół umożliwia inicjatorowi rezerwę dostępu do elastycznego woluminu SIECI SAN, ograniczanie dostępu do zapisu (lub odczytu) przez innych inicjatorów i utrwalanie rezerwacji na woluminie poza okresem istnienia sesji domyślnie.

Żądanie SCSI-3 ma kluczową rolę w zachowaniu spójności i integralności danych w udostępnionych woluminach w scenariuszach klastra. Węzły obliczeniowe w klastrze mogą odczytywać lub zapisywać w dołączonych elastycznych woluminach SIECI SAN na podstawie rezerwacji wybranej przez aplikacje klastra.

Przepływ trwałej rezerwacji

Na poniższym diagramie przedstawiono przykładową aplikację bazy danych klastra z 2 węzłami, która używa żądania ŚCIĄgnięcia SCSI-3 w celu włączenia trybu failover z jednego węzła do drugiego.

Diagram przedstawiający aplikację klastrowaną.

Przepływ jest następujący:

  1. Aplikacja klastrowana uruchomiona na maszynie wirtualnej Azure VM1 i VM2 rejestruje swoją intencję odczytu lub zapisu w woluminie elastycznej sieci SAN.
  2. Wystąpienie aplikacji na maszynie WIRTUALNEJ VM1 następnie przyjmuje wyłączną rezerwację do zapisu w woluminie.
  3. Ta rezerwacja jest wymuszana na woluminie, a baza danych może teraz zapisywać wyłącznie w woluminie. Wszystkie operacje zapisu z wystąpienia aplikacji na maszynie wirtualnej VM2 kończą się niepowodzeniem.
  4. Jeśli wystąpienie aplikacji na maszynie WIRTUALNEJ VM1 ulegnie awarii, wystąpienie maszyny wirtualnej VM2 może zainicjować tryb failover bazy danych i przejąć kontrolę nad woluminem.
  5. Ta rezerwacja jest teraz wymuszana na woluminie i nie akceptuje zapisów z maszyny wirtualnej VM1. Akceptuje tylko zapisy z maszyny wirtualnej VM2.
  6. Aplikacja klastrowana może ukończyć tryb failover bazy danych i obsługiwać żądania z maszyny wirtualnej VM2.

Na poniższym diagramie przedstawiono inne typowe obciążenie klastrowane składające się z wielu węzłów odczytujących dane z elastycznego woluminu SAN do uruchamiania procesów równoległych, takich jak trenowanie modeli uczenia maszynowego.

Diagram przedstawiający klaster uczenia maszynowego.

Przepływ jest następujący:

  1. Aplikacja klastrowana uruchomiona na wszystkich maszynach wirtualnych rejestruje zamiar odczytu lub zapisu w elastycznym woluminie SIECI SAN.
  2. Wystąpienie aplikacji na maszynie wirtualnej VM1 przyjmuje wyłączną rezerwację do zapisu w woluminie podczas otwierania woluminu z innych maszyn wirtualnych.
  3. Ta rezerwacja jest wymuszana na woluminie.
  4. Wszystkie węzły w klastrze mogą teraz odczytywać z woluminu. Tylko jeden węzeł zapisuje wyniki z powrotem do woluminu w imieniu wszystkich węzłów w klastrze.

Obsługiwane polecenia żądania SCSI

Następujące polecenia są obsługiwane w przypadku woluminów elastic SAN:

Aby wchodzić w interakcje z woluminem, zacznij od odpowiedniej akcji trwałej rezerwacji:

  • PR_REGISTER_KEY
  • PR_REGISTER_AND_IGNORE
  • PR_GET_CONFIGURATION
  • PR_RESERVE
  • PR_PREEMPT_RESERVATION
  • PR_CLEAR_RESERVATION
  • PR_RELEASE_RESERVATION

W przypadku korzystania z PR_RESERVE, PR_PREEMPT_RESERVATION lub PR_RELEASE_RESERVATION podaj jeden z następujących trwałych typów rezerwacji:

  • PR_NONE
  • PR_WRITE_EXCLUSIVE
  • PR_EXCLUSIVE_ACCESS
  • PR_WRITE_EXCLUSIVE_REGISTRANTS_ONLY
  • PR_EXCLUSIVE_ACCESS_REGISTRANTS_ONLY
  • PR_WRITE_EXCLUSIVE_ALL_REGISTRANTS
  • PR_EXCLUSIVE_ACCESS_ALL_REGISTRANTS

Trwały typ rezerwacji określa dostęp do woluminu z każdego węzła w klastrze.

Trwały typ rezerwacji Posiadacz rezerwacji Zarejestrowano Inne
BRAK REZERWACJI Nie dotyczy Odczyt i zapis Odczyt i zapis
ZAPIS NA WYŁĄCZNOŚĆ Odczyt i zapis Tylko do odczytu Tylko do odczytu
DOSTĘP WYŁĄCZNY Odczyt i zapis Brak dostępu Brak dostępu
ZAPIS NA WYŁĄCZNOŚĆ — TYLKO REJESTRUJĄCY Odczyt i zapis Odczyt i zapis Tylko do odczytu
WYŁĄCZNY DOSTĘP — TYLKO REJESTRUJĄCY Odczyt i zapis Odczyt i zapis Brak dostępu
ZAPIS WYŁĄCZNY — WSZYSTKIE REJESTRY Odczyt i zapis Odczyt i zapis Tylko do odczytu
WYŁĄCZNY DOSTĘP — WSZYSTKIE REJESTRY Odczyt i zapis Odczyt i zapis Brak dostępu

Należy również podać klucz trwałej rezerwacji podczas korzystania z:

  • PR_RESERVE
  • PR_REGISTER_AND_IGNORE
  • PR_REGISTER_KEY
  • PR_PREEMPT_RESERVATION
  • PR_CLEAR_RESERVATION
  • PR_RELEASE REZERWACJA.