Bagikan melalui


Menyebarkan aplikasi terkluster di Azure Elastic SAN

Volume Azure Elastic SAN dapat secara bersamaan dilampirkan ke beberapa klien komputasi, memungkinkan Anda untuk menyebarkan atau memigrasikan aplikasi kluster ke Azure. Anda perlu menggunakan manajer kluster untuk berbagi volume Elastic SAN, seperti Windows Server Failover Cluster (WSFC), atau Pacemaker. Manajer kluster menangani komunikasi node kluster dan penguncian tulis. Elastic SAN tidak secara asli menawarkan sistem file terkelola penuh yang dapat diakses melalui SMB atau NFS.

Saat digunakan sebagai volume bersama, volume SAN elastis dapat dibagikan di seluruh zona ketersediaan atau wilayah. Berbagi volume dalam SAN penyimpanan lokal-redundan di seluruh zona mengurangi performa Anda karena peningkatan latensi antara volume dan klien.

Batasan

  • Skrip koneksi ELASTIC SAN dapat digunakan untuk melampirkan volume bersama ke komputer virtual di Virtual Machine Scale Sets atau komputer virtual di Set Ketersediaan. Perataan domain kesalahan tidak didukung.
  • Jumlah maksimum sesi yang didukung volume bersama adalah 128.
    • Klien individual dapat membuat beberapa sesi ke volume individual untuk meningkatkan performa. Misalnya, jika Anda membuat 32 sesi di setiap klien Anda, hanya empat klien yang dapat terhubung ke satu volume.

Lihat Dukungan untuk fitur Azure Storage untuk batasan elastis SAN lainnya.

Cara kerjanya

Volume bersama ELASTIC SAN menggunakan Reservasi Persisten SCSI-3 untuk memungkinkan inisiator (klien) mengontrol akses ke volume SAN elastis bersama. Protokol ini memungkinkan inisiator untuk memesan akses ke volume SAN elastis, membatasi akses tulis (atau baca) oleh inisiator lain, dan mempertahankan reservasi pada volume di luar masa pakai sesi secara default.

SCSI-3 PR memiliki peran penting dalam menjaga konsistensi dan integritas data dalam volume bersama dalam skenario kluster. Simpul komputasi dalam kluster dapat membaca atau menulis ke volume SAN elastis terlampir berdasarkan reservasi yang dipilih oleh aplikasi kluster mereka.

Alur reservasi persisten

Diagram berikut mengilustrasikan sampel aplikasi database terkluster 2 node yang menggunakan SCSI-3 PR untuk mengaktifkan failover dari satu simpul ke simpul lainnya.

Diagram yang menunjukkan aplikasi berkluster.

Alur adalah sebagai berikut:

  1. Aplikasi berkluster yang berjalan pada Azure VM1 dan VM2 mendaftarkan niatnya untuk membaca atau menulis ke volume SAN elastis.
  2. Instans aplikasi pada VM1 kemudian mengambil reservasi eksklusif untuk menulis ke volume.
  3. Reservasi ini diberlakukan pada volume Anda dan database sekarang dapat secara eksklusif menulis ke volume. Setiap penulisan dari instans aplikasi pada VM2 gagal.
  4. Jika instans aplikasi pada VM1 tidak berfungsi, instans pada VM2 dapat memulai failover database dan mengambil alih kontrol volume.
  5. Reservasi ini sekarang diberlakukan pada volume, dan tidak akan menerima tulisan dari VM1. Ini hanya menerima tulisan dari VM2.
  6. Aplikasi berkluster dapat menyelesaikan kegagalan database dan melayani permintaan dari VM2.

Diagram berikut mengilustrasikan beban kerja berkluster umum lainnya yang terdiri dari beberapa simpul yang membaca data dari volume SAN elastis untuk menjalankan proses paralel, seperti pelatihan model pembelajaran mesin.

Diagram yang menunjukkan kluster pembelajaran mesin.

Alur adalah sebagai berikut:

  1. Aplikasi berkluster yang berjalan pada semua VM mendaftarkan niatnya untuk membaca atau menulis ke volume SAN elastis.
  2. Instans aplikasi pada VM1 mengambil reservasi eksklusif untuk menulis ke volume sambil membuka bacaan ke volume dari VM lain.
  3. Reservasi ini diberlakukan pada volume.
  4. Semua simpul dalam kluster sekarang dapat membaca dari volume. Hanya satu simpul yang menulis kembali hasil ke volume, atas nama semua simpul dalam kluster.

Perintah SCSI PR yang didukung

Perintah berikut didukung dengan volume Elastic SAN:

Untuk berinteraksi dengan volume, mulailah dengan tindakan reservasi persisten yang sesuai:

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

Saat menggunakan PR_RESERVE, PR_PREEMPT_RESERVATION, atau PR_RELEASE_RESERVATION, berikan salah satu jenis reservasi persisten berikut:

  • 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

Jenis reservasi persisten menentukan akses ke volume dari setiap simpul dalam kluster.

Jenis Reservasi Persisten Pemegang Reservasi Terdaftar Lainnya
TIDAK ADA RESERVASI T/A Baca-Tulis Baca-Tulis
TULIS EKSKLUSIF Baca-Tulis Baca-saja Baca-saja
AKSES EKSKLUSIF Baca-Tulis Tidak Ada Akses Tidak Ada Akses
TULIS EKSKLUSIF - HANYA PENDAFTAR Baca-Tulis Baca-Tulis Baca-saja
AKSES EKSKLUSIF - HANYA PENDAFTAR Baca-Tulis Baca-Tulis Tidak Ada Akses
TULIS EKSKLUSIF - SEMUA PENDAFTAR Baca-Tulis Baca-Tulis Baca-saja
AKSES EKSKLUSIF - SEMUA PENDAFTAR Baca-Tulis Baca-Tulis Tidak Ada Akses

Anda juga perlu memberikan kunci reservasi persisten saat menggunakan:

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