Instans Kluster Failover - SQL Server di Linux

Berlaku untuk:SQL Server - Linux

Artikel ini menjelaskan konsep yang terkait dengan instans kluster failover SQL Server (FCI) di Linux.

Untuk membuat SQL Server FCI di Linux, lihat Mengonfigurasi SQL Server FCI di Linux

Lapisan pengklusteran

Add-on RHEL HA dan SUSE HAE dibangun di Pacemaker.

Seperti yang ditunjukkan oleh diagram berikut, penyimpanan disajikan ke dua server. Komponen pengklusteran - Corosync dan Pacemaker - mengoordinasikan komunikasi dan manajemen sumber daya. Salah satu server memiliki koneksi aktif ke sumber daya penyimpanan dan SQL Server. Ketika Pacemaker mendeteksi kegagalan, komponen pengklusteran bertanggung jawab untuk memindahkan sumber daya ke simpul lain.

Diagram of Red Hat Enterprise Linux 7 shared disk SQL Server cluster.

Integrasi SQL Server dengan Pacemaker di Linux tidak digabungkan seperti WSFC di Windows. SQL Server tidak memiliki pengetahuan tentang keberadaan kluster. Semua orkestrasi berada di luar dan layanan dikontrol sebagai instans mandiri oleh Pacemaker. Selain itu, nama jaringan virtual khusus untuk WSFC, yang tidak setara dalam Pacemaker. Diharapkan dan @@SERVERNAMEsys.servers mengembalikan nama node, sementara kluster DMV sys.dm_os_cluster_nodes dan sys.dm_os_cluster_properties tidak mengembalikan rekaman. Untuk menggunakan string koneksi yang menunjuk ke nama server string dan tidak menggunakan IP, mereka harus mendaftar di server DNS mereka IP yang digunakan untuk membuat sumber daya IP virtual (seperti yang dijelaskan di bagian berikut) dengan nama server yang dipilih.

Jumlah instans dan simpul

Salah satu perbedaan utama dengan SQL Server di Linux adalah bahwa hanya ada satu instalasi SQL Server per server Linux. Penginstalan tersebut disebut instans. Tidak seperti Windows Server, yang mendukung hingga 25 FCI per kluster failover Windows Server (WSFC), FCI berbasis Linux hanya akan memiliki satu instans. Instans tunggal ini juga merupakan instans default; tidak ada konsep instans bernama di Linux.

Kluster Pacemaker hanya dapat memiliki hingga 16 simpul ketika Corosync terlibat, sehingga satu FCI dapat menjangkau hingga 16 server. FCI yang diimplementasikan dengan Edisi Standar SQL Server mendukung hingga dua node kluster meskipun kluster Pacemaker memiliki maksimum 16 simpul.

Dalam SQL Server FCI, instans SQL Server aktif pada satu simpul atau yang lain.

Alamat IP dan nama

Pada kluster Linux Pacemaker, setiap SQL Server FCI memerlukan alamat IP dan nama uniknya sendiri. Jika konfigurasi FCI mencakup beberapa subnet, satu alamat IP diperlukan per subnet. Nama unik dan alamat IP digunakan untuk mengakses FCI sehingga aplikasi dan pengguna akhir tidak perlu mengetahui server yang mendasari kluster Pacemaker mana.

Nama FCI di DNS harus sama dengan nama sumber daya FCI yang dibuat di kluster Pacemaker. Nama dan alamat IP harus terdaftar di DNS.

Penyimpanan Bersama

Semua FCI, baik yang ada di Linux atau Windows Server, memerlukan beberapa bentuk penyimpanan bersama. Penyimpanan ini disajikan ke semua server yang mungkin dapat menghosting FCI, tetapi hanya satu server yang dapat menggunakan penyimpanan untuk FCI pada waktu tertentu. Opsi yang tersedia untuk penyimpanan bersama di bawah Linux adalah:

  • iSCSI
  • Sistem File Jaringan (NFS)
  • Blok Pesan Server (SMB) Di bawah Windows Server, ada opsi yang sedikit berbeda. Salah satu opsi yang saat ini tidak didukung untuk FCI berbasis Linux adalah kemampuan untuk menggunakan disk yang lokal untuk simpul untuk tempdb, yang merupakan ruang kerja sementara SQL Server.

Dalam konfigurasi yang mencakup beberapa lokasi, apa yang disimpan di satu pusat data harus disinkronkan dengan yang lain. Jika terjadi failover, FCI dapat online dan penyimpanannya terlihat sama. Mencapai hal ini memerlukan beberapa metode eksternal untuk replikasi penyimpanan, apakah itu dilakukan melalui perangkat keras penyimpanan yang mendasar atau beberapa utilitas berbasis perangkat lunak.

Catatan

Untuk SQL Server, penyebaran berbasis Linux menggunakan disk yang disajikan langsung ke server seperti itu harus diformat dengan XFS atau EXT4. Sistem file lain saat ini tidak didukung. Setiap perubahan akan tercermin di sini.

Proses untuk menyajikan penyimpanan bersama sama untuk berbagai metode yang didukung:

  • Mengonfigurasi penyimpanan bersama
  • Pasang penyimpanan sebagai folder ke server yang akan berfungsi sebagai simpul kluster Pacemaker untuk FCI
  • Jika perlu, pindahkan database sistem SQL Server ke penyimpanan bersama
  • Uji bahwa SQL Server berfungsi dari setiap server yang terhubung ke penyimpanan bersama

Salah satu perbedaan utama dengan SQL Server di Linux adalah bahwa sementara Anda dapat mengonfigurasi data pengguna default dan lokasi file log, database sistem harus selalu ada di /var/opt/mssql/data. Di Windows Server, Anda memiliki kemampuan untuk memindahkan database sistem termasuk tempdb. Fakta ini berperan tentang bagaimana penyimpanan bersama dikonfigurasi untuk FCI.

Jalur default untuk database non-sistem dapat diubah menggunakan mssql-conf utilitas. Untuk informasi tentang cara mengubah default, Ubah data default atau lokasi direktori log. Anda juga dapat menyimpan data dan transaksi SQL Server di lokasi lain selama mereka memiliki keamanan yang tepat meskipun bukan lokasi default; lokasi perlu dinyatakan.