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.
Przepływ jest następujący:
- Aplikacja klastrowana uruchomiona na maszynie wirtualnej Azure VM1 i VM2 rejestruje swoją intencję odczytu lub zapisu w woluminie elastycznej sieci SAN.
- Wystąpienie aplikacji na maszynie WIRTUALNEJ VM1 następnie przyjmuje wyłączną rezerwację do zapisu w woluminie.
- 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.
- 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.
- Ta rezerwacja jest teraz wymuszana na woluminie i nie akceptuje zapisów z maszyny wirtualnej VM1. Akceptuje tylko zapisy z maszyny wirtualnej VM2.
- 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.
Przepływ jest następujący:
- Aplikacja klastrowana uruchomiona na wszystkich maszynach wirtualnych rejestruje zamiar odczytu lub zapisu w elastycznym woluminie SIECI SAN.
- Wystąpienie aplikacji na maszynie wirtualnej VM1 przyjmuje wyłączną rezerwację do zapisu w woluminie podczas otwierania woluminu z innych maszyn wirtualnych.
- Ta rezerwacja jest wymuszana na woluminie.
- 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.