Bagikan melalui


Dasar-dasar ketersediaan SQL Server untuk penyebaran Linux

Berlaku untuk:SQL Server di Linux

Dimulai dengan SQL Server 2017 (14.x), SQL Server didukung di Linux dan Windows. Seperti penyebaran SQL Server berbasis Windows, database dan instans SQL Server harus sangat tersedia di bawah Linux.

Artikel ini membahas aspek teknis perencanaan dan penyebaran instans dan database SQL Server berbasis Linux yang sangat tersedia, dan menyoroti perbedaan utama dari penginstalan berbasis Windows. Karena SQL Server atau Linux mungkin baru untuk Anda, artikel ini membahas konsep yang mungkin sudah akrab untuk Anda.

Opsi ketersediaan SQL Server untuk penyebaran Linux

Selain pencadangan dan pemulihan, tiga fitur ketersediaan yang sama tersedia di Linux seperti untuk penyebaran berbasis Windows:

Di Windows, FCI selalu memerlukan kluster failover Windows Server (WSFC) yang mendasar. Tergantung pada skenario penyebaran, AG biasanya memerlukan WSFC yang mendasarinya, dengan pengecualian menjadi varian None baru di SQL Server 2017 (14.x). WSFC tidak ada di Linux. Implementasi pengklusteran di Linux dibahas di Pacemaker untuk grup ketersediaan dan instans kluster failover di Linux.

Primer Linux cepat

Meskipun beberapa penginstalan Linux menyertakan antarmuka, sebagian besar tidak. Anda menggunakan baris perintah untuk hampir semua yang ada di lapisan sistem operasi. Istilah umum untuk baris perintah ini di dunia Linux adalah shell, yang paling umum adalah bash.

Di Linux, Anda memerlukan hak istimewa yang ditinggikan untuk menjalankan banyak perintah, mirip dengan membutuhkan hak istimewa administrator di Windows Server. Anda dapat menjalankan perintah dengan hak istimewa yang ditingkatkan dengan dua cara:

  1. Jalankan perintah sebagai pengguna yang tepat. Untuk mengubah ke pengguna lain, gunakan su perintah . Jika Anda menjalankan su tanpa nama pengguna, Anda memasuki shell sebagai root jika Anda mengetahui kata sandi.

  2. Gunakan sudo sebelum perintah. Metode ini lebih umum dan lebih aman. Banyak contoh dalam artikel ini menggunakan sudo.

Berikut adalah beberapa perintah umum. Setiap perintah memiliki berbagai sakelar dan opsi yang dapat Anda teliti secara online:

  • cd - ubah direktori
  • chmod - mengubah izin file atau direktori
  • chown - mengubah kepemilikan file atau direktori
  • ls - tampilkan isi direktori
  • mkdir - membuat folder (direktori) pada drive
  • mv - memindahkan file dari satu lokasi ke lokasi lain
  • ps - menunjukkan semua proses kerja
  • rm - menghapus file secara lokal di server
  • rmdir - hapus folder (direktori)
  • systemctl - mulai, hentikan, atau aktifkan layanan
  • Perintah editor teks. Di Linux, ada berbagai opsi editor teks, seperti vi dan emacs.

Tugas umum untuk konfigurasi ketersediaan SQL Server di Linux

Bagian ini mencakup tugas yang umum untuk semua penyebaran SQL Server berbasis Linux.

Pastikan Anda dapat menyalin file

Siapa pun yang mengelola SQL Server di Linux harus dapat menyalin file dari satu server ke server lain. Tugas ini sangat penting untuk konfigurasi AG.

Masalah izin dapat ada pada penginstalan berbasis Linux dan Windows. Namun, pengguna Windows yang terbiasa dengan cara menyalin file dari server ke server, mungkin tidak terbiasa dengan cara melakukannya di Linux. Metode umum adalah menggunakan utilitas scpbaris perintah , yang merupakan singkatan dari salinan aman. Di balik layar, scp menggunakan OpenSSH. SSH adalah singkatan dari secure shell. Tergantung pada distribusi Linux, OpenSSH itu sendiri mungkin tidak diinstal. Jika tidak, Anda perlu menginstal OpenSSH.

Untuk informasi selengkapnya tentang mengonfigurasi OpenSSH untuk distribusi Linux Anda, lihat:

Catatan

Mulai SQL Server 2025 (17.x), SUSE Linux Enterprise Server (SLES) tidak didukung.

Saat Anda menggunakan scp, Anda harus memberikan kredensial server jika bukan sumber atau tujuan. Misalnya, perintah berikut menyalin file MyAGCert.cer ke folder yang ditentukan di server lain:

scp MyAGCert.cer username@servername:/folder/subfolder

Anda harus memiliki izin, dan mungkin kepemilikan, dari file untuk menyalinnya, jadi Anda mungkin perlu menggunakan chown sebelum menyalin. Demikian pula, di sisi penerimaan, pengguna yang tepat membutuhkan akses untuk memanipulasi file. Misalnya, untuk memulihkan file sertifikat tersebut mssql , pengguna harus dapat mengaksesnya.

Samba, yang merupakan varian Linux dari blok pesan server (SMB), juga dapat digunakan untuk membuat berbagi yang diakses oleh jalur UNC seperti \\SERVERNAME\SHARE. Untuk informasi selengkapnya tentang mengonfigurasi Samba, lihat informasi di tautan berikut untuk setiap distribusi:

Catatan

Mulai SQL Server 2025 (17.x), SUSE Linux Enterprise Server (SLES) tidak didukung.

Anda juga dapat menggunakan berbagi SMB berbasis Windows. Bagian berbagi SMB tidak perlu berbasis Linux, asalkan bagian klien Samba dikonfigurasi dengan benar pada Linux server yang menjadi tuan rumah SQL Server dan folder berbagi sudah diatur dengan hak akses yang tepat. Untuk pelanggan dalam lingkungan campuran, pendekatan ini memungkinkan Anda menggunakan infrastruktur yang ada untuk penyebaran SQL Server berbasis Linux.

Versi Samba yang Anda sebarkan harus sesuai dengan SMB 3.0. Ketika dukungan SMB ditambahkan di SQL Server 2012 (11.x), diperlukan semua berbagi untuk mendukung SMB 3.0. Jika Anda menggunakan Samba untuk berbagi dan bukan Windows Server, berbagi berbasis Samba harus menggunakan Samba 4.0 atau yang lebih baru, dan idealnya 4.3 atau yang lebih baru, yang mendukung SMB 3.1.1. Sumber informasi yang baik tentang SMB dan Linux adalah SMB3 di Samba.

Terakhir, menggunakan berbagi sistem file jaringan (NFS) adalah opsi. Anda tidak dapat menggunakan NFS pada penyebaran SQL Server berbasis Windows, dan hanya dapat digunakan untuk penyebaran berbasis Linux.

Mengonfigurasi firewall

Mirip dengan Windows, distribusi Linux memiliki firewall bawaan. Jika organisasi Anda menggunakan firewall eksternal untuk server, Anda mungkin dapat menonaktifkan firewall di Linux. Namun, terlepas dari di mana Anda mengaktifkan firewall, Anda perlu membuka port. Tabel berikut mencantumkan port umum yang diperlukan untuk penyebaran SQL Server yang sangat tersedia di Linux.

Nomor Port Tipe Deskripsi
111 TCP/UDP NFS- rpcbind/sunrpc
135 PKT Samba (jika digunakan) - Pemeta Titik Akhir
137 UDP Samba (jika digunakan) - Layanan Nama NetBIOS
138 UDP Samba (jika digunakan) - Datagram NetBIOS
139 PKT Samba (jika digunakan) - Sesi NetBIOS
445 PKT Samba (jika digunakan) - SMB melalui TCP
1433 PKT SQL Server - port default; jika diinginkan, dapat berubah dengan mssql-conf set network.tcpport <portnumber>
2049 TCP, UDP NFS (jika digunakan)
2224 PKT Pacemaker - digunakan oleh pcsd
3121 PKT Pacemaker - Diperlukan jika ada simpul Pacemaker Remote
3260 PKT Inisiator iSCSI (jika digunakan) - Dapat diubah dalam /etc/iscsi/iscsid.config (RHEL), tetapi harus cocok dengan port Target iSCSI
5022 PKT SQL Server - port default yang digunakan untuk titik akhir AG; dapat diubah saat membuat titik akhir
5403 PKT Alat pacu jantung
5404 UDP Pacemaker - Diperlukan oleh Corosync jika menggunakan UDP multicast
5405 UDP Pacemaker - Diperlukan oleh Corosync
21064 PKT Pacemaker - Diperlukan oleh sumber daya menggunakan DLM
Variabel PKT Port titik akhir AG; defaultnya adalah 5022
Variabel PKT NFS - port untuk LOCKD_TCPPORT (ditemukan di /etc/sysconfig/nfs RHEL)
Variabel UDP NFS - port untuk LOCKD_UDPPORT (ditemukan di /etc/sysconfig/nfs RHEL)
Variabel TCP/UDP NFS - port untuk MOUNTD_PORT (ditemukan di /etc/sysconfig/nfs RHEL)
Variabel TCP/UDP NFS - port untuk STATD_PORT (ditemukan di /etc/sysconfig/nfs RHEL)

Untuk port lain yang digunakan Samba, lihat Penggunaan Port Samba.

Sebaliknya, Anda dapat menambahkan nama layanan di bawah Linux sebagai pengecualian alih-alih port. Misalnya, gunakan high-availability untuk Pacemaker. Lihat distribusi Anda untuk nama yang sesuai. Pada RHEL, misalnya, perintah yang akan ditambahkan di Pacemaker adalah:

sudo firewall-cmd --permanent --add-service=high-availability

Dokumentasi firewall

Catatan

Mulai SQL Server 2025 (17.x), SUSE Linux Enterprise Server (SLES) tidak didukung.

Menginstal paket SQL Server untuk ketersediaan

Pada penginstalan SQL Server berbasis Windows, beberapa komponen diinstal bahkan dalam penginstalan mesin dasar, sementara yang lain tidak. Di bawah Linux, hanya mesin SQL Server yang diinstal sebagai bagian dari proses penginstalan. Yang lainnya adalah opsional. Untuk instans SQL Server yang sangat tersedia di bawah Linux, dua paket harus diinstal dengan SQL Server:

  • SQL Server Agent (mssql-server-agent)
  • paket ketersediaan tinggi (HA) (mssql-server-ha)

Meskipun SQL Server Agent bersifat opsional secara teknis, ini adalah penjadwal default untuk pekerjaan SQL Server, dan diperlukan oleh pengiriman log, sehingga penginstalan disarankan.

Pada SQL Server 2017 (14.x) dengan CU 4 dan versi yang lebih baru, SQL Server Agent disertakan dalam paket Mesin Database, tetapi Anda masih perlu mengaktifkannya. Pada penginstalan berbasis Windows, SQL Server Agent tidak bersifat opsional.

Catatan

SQL Server Agent adalah penjadwal pekerjaan bawaan untuk SQL Server. Ini digunakan untuk menjadwalkan tugas seperti pencadangan dan pemeliharaan rutin. Di Windows, SQL Server Agent berjalan sebagai layanan terpisah. Di Linux, ia berjalan dalam konteks SQL Server itu sendiri.

Saat Anda mengonfigurasi AG atau FCI pada konfigurasi berbasis Windows, mereka sadar kluster. Kesadaran kluster berarti bahwa SQL Server memiliki DLL sumber daya tertentu yang diketahui WSFC (sqagtres.dll dan sqsrvres.dll untuk FCI, hadrres.dll untuk AG) dan digunakan oleh WSFC untuk memastikan bahwa fungsionalitas terkluster SQL Server aktif, berjalan, dan berfungsi dengan baik.

Karena pengklusteran eksternal tidak hanya untuk SQL Server tetapi Linux itu sendiri, Microsoft harus mengkodekan dll sumber daya yang setara untuk penyebaran AG dan FCI berbasis Linux. Sumber daya ini adalah mssql-server-ha paket, juga dikenal sebagai agen sumber daya SQL Server untuk Pacemaker. Untuk menginstal mssql-server-ha paket, lihat Menyebarkan kluster Pacemaker untuk SQL Server di Linux.

Di Linux, Full-Text Search (mssql-server-fts) dan Integration Services (mssql-server-is) adalah paket SQL Server opsional, dan tidak diperlukan untuk FCI atau AG.

Mitra ketersediaan tinggi dan pemulihan bencana SQL Server

Untuk menyediakan ketersediaan tinggi dan pemulihan bencana untuk layanan SQL Server Anda, pilih dari berbagai alat terkemuka di industri. Bagian ini menyoroti perusahaan mitra Microsoft dengan ketersediaan tinggi dan solusi pemulihan bencana yang mendukung SQL Server.

Mitra Deskripsi
DH2i DxEnterprise adalah solusi manajemen ketersediaan untuk lingkungan Windows, Linux, dan kontainer. Ini mendukung ketersediaan tinggi, mengurangi waktu henti yang direncanakan dan tidak direncanakan, dan menyederhanakan manajemen sumber daya fisik dan logis.

- Menyebarkan grup ketersediaan dengan DH2i DxEnterprise di Kubernetes
- Tutorial: Menyiapkan grup ketersediaan AlwaysOn tiga simpul dengan DH2i DxEnterprise
HPE Serviceguard HPE SGLX menawarkan opsi pemantauan dan pemulihan sensitif konteks untuk Instans Kluster Failover dan Grup Ketersediaan AlwaysOn. Maksimalkan waktu aktif dengan HPE SGLX tanpa mengorbankan integritas dan performa data.

- Tutorial: Menyiapkan grup ketersediaan AlwaysOn tiga simpul dengan HPE Serviceguard untuk Linux.
Pacemaker Pacemaker adalah manajer sumber daya kluster ketersediaan tinggi sumber terbuka. Dengan Corosync, sistem komunikasi grup sumber terbuka, Pacemaker dapat mendeteksi kegagalan komponen dan mengatur prosedur failover yang diperlukan untuk meminimalkan gangguan pada aplikasi.

- Pacemaker untuk grup ketersediaan dan instans kluster failover di Linux
- Menyebarkan kluster Pacemaker untuk SQL Server di Linux