Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server di Linux
Dokumen ini menjelaskan cara melakukan tugas berikut untuk SQL Server pada kluster failover disk bersama dengan Red Hat Enterprise Linux.
- Lakukan failover kluster secara manual
- Memantau layanan SQL Server kluster failover
- Menambahkan node kluster
- Menghapus node kluster
- Mengubah frekuensi pemantauan sumber daya SQL Server
Deskripsi arsitektur
Lapisan pengklusteran didasarkan pada add-on Red Hat Enterprise Linux (RHEL) HA yang dibangun di atas Pacemaker. Corosync dan Pacemaker mengoordinasikan komunikasi kluster dan manajemen sumber daya. Instans SQL Server aktif pada satu simpul atau simpul lainnya.
Diagram berikut mengilustrasikan komponen dalam kluster Linux dengan SQL Server.
Diagram Klaster SQL Disk Bersama pada Red Hat Enterprise Linux 7.
Untuk informasi selengkapnya tentang konfigurasi kluster, opsi agen sumber daya, dan manajemen, kunjungi dokumentasi referensi RHEL.
Pengalihan kluster secara manual
Perintah resource move membuat batasan yang memaksa sumber daya untuk memulai pada simpul target. Setelah menjalankan perintah move, menjalankan resource clear akan menghapus batasan sehingga dimungkinkan untuk memindahkan resource tersebut lagi, atau resource tersebut dapat otomatis berpindah jika terjadi kegagalan.
sudo pcs resource move <sqlResourceName> <targetNodeName>
sudo pcs resource clear <sqlResourceName>
Contoh berikut memindahkan sumber daya mssqlha ke simpul bernama sqlfcivm2, lalu menghapus batasan sehingga sumber daya dapat berpindah ke simpul yang berbeda nanti.
sudo pcs resource move mssqlha sqlfcivm2
sudo pcs resource clear mssqlha
Memantau layanan SQL Server kluster failover
Lihat status kluster saat ini:
sudo pcs status
Lihat status langsung kluster dan sumber daya:
sudo crm_mon
Lihat log agen sumber daya di /var/log/cluster/corosync.log
Menambahkan simpul ke kluster
Periksa alamat IP untuk setiap simpul. Skrip berikut menunjukkan alamat IP simpul Anda saat ini.
ip addr showSimpul baru membutuhkan nama unik yaitu 15 karakter atau kurang. Secara default di Red Hat Linux, nama komputernya adalah
localhost.localdomain. Nama default ini mungkin tidak unik dan terlalu panjang. Atur nama komputer simpul baru. Atur nama komputer dengan menambahkannya ke/etc/hosts. Skrip berikut memungkinkan Anda mengedit/etc/hostsdenganvi.sudo vi /etc/hostsContoh berikut menunjukkan
/etc/hostsdengan penambahan untuk tiga simpul bernamasqlfcivm1,sqlfcivm2, dansqlfcivm3.127.0.0.1 localhost localhost4 localhost4.localdomain4 ::1 localhost localhost6 localhost6.localdomain6 10.128.18.128 fcivm1 10.128.16.77 fcivm2 10.128.14.26 fcivm3File harus sama pada setiap simpul.
Hentikan layanan SQL Server pada simpul baru.
Ikuti instruksi untuk memasang direktori file database ke lokasi bersama:
Pasang dari server NFS,
nfs-utilssudo yum -y install nfs-utilsMembuka firewall pada klien dan server NFS
sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reloadEdit file
/etc/fstabuntuk menyertakan perintah pemasangan.<IP OF NFS SERVER>:<shared_storage_path> <database_files_directory_path> nfs timeo=14,intrJalankan
mount -aagar perubahan diterapkan.Pada simpul baru, buat file untuk menyimpan nama pengguna dan kata sandi SQL Server untuk login Pacemaker. Perintah berikut membuat dan mengisi file ini:
sudo touch /var/opt/mssql/passwd sudo echo "<loginName>" >> /var/opt/mssql/secrets/passwd sudo echo "<password>" >> /var/opt/mssql/secrets/passwd sudo chown root:root /var/opt/mssql/passwd sudo chmod 600 /var/opt/mssql/passwdPerhatian
Kata sandi Anda harus mengikuti kebijakan kata sandi default SQL Server. Secara default, kata sandi harus panjangnya minimal delapan karakter dan berisi karakter dari tiga dari empat set berikut: huruf besar, huruf kecil, digit dasar-10, dan simbol. Panjang kata sandi bisa hingga 128 karakter. Gunakan kata sandi yang panjang dan kompleks mungkin.
Pada simpul baru, buka port firewall Pacemaker. Untuk membuka port ini dengan
firewalld, jalankan perintah berikut:sudo firewall-cmd --permanent --add-service=high-availability sudo firewall-cmd --reloadJika Anda menggunakan firewall lain yang tidak memiliki konfigurasi ketersediaan tinggi bawaan, port berikut perlu dibuka agar Pacemaker dapat berkomunikasi dengan simpul lain dalam kluster:
- TCP: Port 2224, 3121, 21064
- UDP: Port 5405
Instal paket Pacemaker pada simpul baru.
sudo yum install pacemaker pcs fence-agents-all resource-agentsAtur kata sandi untuk pengguna default yang dibuat saat menginstal paket Pacemaker dan Corosync. Gunakan kata sandi yang sama dengan simpul yang ada.
sudo passwd haclusterAktifkan dan mulai layanan
pcsdserta Pacemaker. Ini akan memungkinkan simpul baru untuk bergabung kembali dengan kluster setelah reboot. Jalankan perintah berikut pada simpul baru.sudo systemctl enable pcsd sudo systemctl start pcsd sudo systemctl enable pacemakerInstal agen sumber daya FCI untuk SQL Server. Jalankan perintah berikut pada simpul baru.
sudo yum install mssql-server-haPada node yang ada dari kluster, autentikasi simpul baru dan tambahkan ke kluster:
sudo pcs cluster auth <nodeName3> -u hacluster sudo pcs cluster node add <nodeName3>Contoh berikut menambahkan simpul bernama vm3 ke kluster.
sudo pcs cluster auth sudo pcs cluster start
Menghapus simpul dari kluster
Untuk menghapus simpul dari kluster, jalankan perintah berikut:
sudo pcs cluster node remove <nodeName>
Mengubah interval frekuensi pemantauan sumber daya pada sqlservr
sudo pcs resource op monitor interval=<interval>s <sqlResourceName>
Contoh berikut mengatur interval pemantauan menjadi 2 detik untuk sumber daya mssql:
sudo pcs resource op monitor interval=2s mssqlha
Memecahkan masalah kluster disk bersama Red Hat Enterprise Linux untuk SQL Server
Saat Anda memecahkan masalah kluster, ini membantu memahami cara ketiga daemon bekerja sama untuk mengelola sumber daya kluster.
| Daemon | Deskripsi |
|---|---|
| Corosync | Menyediakan keanggotaan kuorum dan olahpesan antara node kluster. |
| Alat pacu jantung | Berada di atas Corosync dan menyediakan komputer status untuk sumber daya. |
| PCSD | Mengelola Pacemaker dan Corosync melalui alat pcs. |
PCSD harus berjalan agar dapat menggunakan pcs perangkat.
Status kluster saat ini
sudo pcs status mengembalikan informasi dasar tentang kluster, kuorum, simpul, sumber daya, dan status daemon untuk setiap simpul.
Contoh output kuorum pacemaker yang sehat dapat berupa:
Cluster name: MyAppSQL
Last updated: Wed Oct 31 12:00:00 2016 Last change: Wed Oct 31 11:00:00 2016 by root via crm_resource on sqlvmnode1
Stack: corosync
Current DC: sqlvmnode1 (version 1.1.13-10.el7_2.4-44eb2dd) - partition with quorum
3 nodes and 1 resource configured
Online: [ sqlvmnode1 sqlvmnode2 sqlvmnode3 ]
Full list of resources:
mssqlha (ocf::sql:fci): Started sqlvmnode1
PCSD Status:
sqlvmnode1: Online
sqlvmnode2: Online
sqlvmnode3: Online
Daemon Status:
corosync: active/disabled
pacemaker: active/enabled
Dalam contoh, partition with quorum berarti bahwa kuorum mayoritas simpul online. Jika kluster kehilangan kuorum mayoritas node, pcs status mengembalikan partition WITHOUT quorum dan semua sumber daya dihentikan.
online: [sqlvmnode1 sqlvmnode2 sqlvmnode3] mengembalikan nama semua simpul yang saat ini berpartisipasi dalam kluster. Jika ada simpul yang tidak berpartisipasi, pcs status mengembalikan OFFLINE: [<nodename>].
PCSD Status menunjukkan status kluster untuk setiap simpul.
Alasan mengapa node mungkin offline
Periksa item berikut ketika sebuah simpul sedang offline.
Firewall
Port berikut harus terbuka pada semua simpul agar Pacemaker dapat berkomunikasi.
- **TCP: 2224, 3121, 21064
Layanan Pacemaker atau Corosync berjalan
Komunikasi simpul
Pemetaan nama simpul