Nasazení clusterovaných aplikací v Azure Elastic SAN
Svazky Azure Elastic SAN je možné připojit současně k několika výpočetním klientům, což umožňuje nasazovat nebo migrovat aplikace clusteru do Azure. Ke sdílení svazku elastické sítě SAN, jako je cluster s podporou převzetí služeb při selhání systému Windows Server (WSFC) nebo Pacemaker, musíte použít správce clusteru. Správce clusteru zpracovává komunikaci uzlů clusteru a zamykání zápisu. Elastická síť SAN nativně nenabízí plně spravovaný systém souborů, ke kterému je možné přistupovat přes protokol SMB nebo NFS.
Pokud se používá jako sdílený svazek, můžou se elastické svazky SAN sdílet napříč zónami dostupnosti nebo oblastmi. Sdílení svazku v síti SAN s místním redundantním úložištěm napříč zónami snižuje výkon kvůli zvýšené latenci mezi svazkem a klienty.
Omezení
- Skripty pro připojení k elastické síti SAN je možné použít k připojení sdílených svazků k virtuálním počítačům ve škálovacích sadách virtuálních počítačů nebo virtuálních počítačích ve skupinách dostupnosti. Zarovnání domény selhání se nepodporuje.
- Maximální počet relací, které sdílený svazek podporuje, je 128.
- Pro zvýšení výkonu může jednotlivý klient vytvořit více relací na jednotlivé svazky. Pokud například pro každého klienta vytvoříte 32 relací, můžou se k jednomu svazku připojit pouze čtyři klienti.
Další omezení elastické sítě SAN najdete v tématu Podpora funkcí služby Azure Storage.
Jak to funguje
Elastické sdílené svazky SAN používají trvalé rezervace SCSI-3, aby iniciátoři (klienti) mohli řídit přístup ke sdílenému svazku elastické sítě SAN. Tento protokol umožňuje iniciátoru rezervovat přístup k elastickému svazku SAN, omezit přístup k zápisu (nebo čtení) jinými iniciátory a zachovat rezervaci na svazku po dobu životnosti relace ve výchozím nastavení.
Žádost o přijetí změn SCSI-3 má klíčovou roli při zachování konzistence a integrity dat v rámci sdílených svazků ve scénářích clusteru. Výpočetní uzly v clusteru můžou na základě rezervace zvolené aplikacemi clusteru číst nebo zapisovat do připojených svazků elastické sítě SAN.
Trvalý tok rezervace
Následující diagram znázorňuje ukázkovou aplikaci clusterové databáze se dvěma uzly, která používá pr SCSI-3 k povolení převzetí služeb při selhání z jednoho uzlu na druhý.
Tok je následující:
- Clusterovaná aplikace spuštěná na virtuálním počítači Azure VM1 i VM2 zaregistruje svůj záměr číst nebo zapisovat do elastického svazku SAN.
- Instance aplikace na virtuálním počítači 1 pak převezme výhradní rezervaci pro zápis do svazku.
- Tato rezervace se vynucuje na vašem svazku a databáze teď může do svazku zapisovat výhradně. Všechny zápisy z instance aplikace na virtuálním počítači VM2 selžou.
- Pokud instance aplikace na virtuálním počítači 1 klesne, instance na virtuálním počítači VM2 může zahájit převzetí služeb při selhání databáze a převzít kontrolu nad svazkem.
- Tato rezervace se na svazku vynucuje a nepřijme zápisy z virtuálního počítače 1. Přijímá pouze zápisy z virtuálního počítače VM2.
- Clusterovaná aplikace může dokončit převzetí služeb při selhání databáze a obsluhovat požadavky z virtuálního počítače VM2.
Následující diagram znázorňuje další běžnou clusterovanou úlohu skládající se z několika uzlů, které čtou data z elastického svazku SAN pro spouštění paralelních procesů, jako je trénování modelů strojového učení.
Tok je následující:
- Clusterovaná aplikace spuštěná na všech virtuálních počítačích zaregistruje svůj záměr číst nebo zapisovat do svazku elastické sítě SAN.
- Instance aplikace na virtuálním počítači 1 přebírá výhradní rezervaci pro zápis do svazku při otevírání čtení na svazek z jiných virtuálních počítačů.
- Tato rezervace se vynucuje na svazku.
- Všechny uzly v clusteru teď můžou číst ze svazku. Pouze jeden uzel zapíše výsledky zpět na svazek jménem všech uzlů v clusteru.
Podporované příkazy SCSI PR
Svazky Elastic SAN podporují následující příkazy:
Pokud chcete svazek pracovat, začněte příslušnou trvalou akcí rezervace:
- PR_REGISTER_KEY
- PR_REGISTER_AND_IGNORE
- PR_GET_CONFIGURATION
- PR_RESERVE
- PR_PREEMPT_RESERVATION
- PR_CLEAR_RESERVATION
- PR_RELEASE_RESERVATION
Při použití PR_RESERVE, PR_PREEMPT_RESERVATION nebo PR_RELEASE_RESERVATION zadejte jeden z následujících trvalých typů rezervace:
- 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
Trvalý typ rezervace určuje přístup ke svazku z každého uzlu v clusteru.
Trvalý typ rezervace | Držitel rezervace | Registrováno | Ostatní |
---|---|---|---|
BEZ REZERVACE | – | Čtení a zápis | Čtení a zápis |
NAPSAT EXKLUZIVNÍ | Čtení a zápis | Jen pro čtení | Jen pro čtení |
VÝHRADNÍ PŘÍSTUP | Čtení a zápis | Bez přístupu | Bez přístupu |
ZÁPIS S VÝHRADNÍM ZÁPISEM – POUZE REGISTRANTI | Čtení a zápis | Čtení a zápis | Jen pro čtení |
VÝHRADNÍ PŘÍSTUP – POUZE REGISTRANTI | Čtení a zápis | Čtení a zápis | Bez přístupu |
PIŠTE EXKLUZIVNÍ – VŠICHNI REGISTRANTI | Čtení a zápis | Čtení a zápis | Jen pro čtení |
VÝHRADNÍ PŘÍSTUP – VŠICHNI REGISTRANTI | Čtení a zápis | Čtení a zápis | Bez přístupu |
Při použití musíte také zadat trvalý klíč rezervace:
- PR_RESERVE
- PR_REGISTER_AND_IGNORE
- PR_REGISTER_KEY
- PR_PREEMPT_RESERVATION
- PR_CLEAR_RESERVATION
- PR_RELEASE REZERVACE.