Aracılığıyla paylaş


Linux dağıtımları için SQL Server kullanılabilirliğiyle ilgili temel bilgiler

Şunlar için geçerlidir:Linux üzerinde SQL Server

SQL Server 2017 (14.x) ile başlayarak, SQL Server hem Linux hem de Windows üzerinde desteklenir. Windows tabanlı SQL Server dağıtımları gibi, SQL Server veritabanlarının ve örneklerinin Linux altında yüksek oranda kullanılabilir olması gerekir.

Bu makale, yüksek oranda kullanılabilir Linux tabanlı SQL Server örneklerini ve veritabanlarını planlamanın ve dağıtmanın teknik yönlerini kapsar ve Windows tabanlı yüklemelerden önemli farkları vurgular. SQL Server veya Linux sizin için yeni olabileceği için, bu makalede size zaten tanıdık gelen kavramlar ele alınmaktadır.

Linux dağıtımları için SQL Server kullanılabilirlik seçenekleri

Yedekleme ve geri yüklemenin yanı sıra, Windows tabanlı dağıtımlarda olduğu gibi Linux'ta da aynı üç kullanılabilirlik özelliği mevcuttur:

Windows'da, FCI'ler her zaman temel alınan bir Windows Server yük devretme kümesi (WSFC) gerektirir. Dağıtım senaryosuna bağlı olarak, AG genellikle SQL Server 2017'deki (14.x) yeni 'None' varyantı dışında temel bir WSFC gerektirir. Linux'ta WSFC yoktur. Linux'ta kümeleme uygulaması, Kullanılabilirlik grupları ve Linux üzerinde yük devretme kümesi örnekleri için Pacemaker'da ele alınıyor.

Hızlı bir Linux astarı

Bazı Linux yüklemeleri bir arabirim içerse de çoğu içermez. İşletim sistemi katmanındaki neredeyse her şey için komut satırını kullanırsınız. Linux dünyasında bu komut satırının ortak terimi bir kabuk olup en yaygın olanıdır bash.

Linux'ta, Windows Server'da yönetici ayrıcalıklarına ihtiyaç duymaya benzer şekilde birçok komutu çalıştırmak için yükseltilmiş ayrıcalıklara ihtiyacınız vardır. Yükseltilmiş ayrıcalıklara sahip komutları iki şekilde çalıştırabilirsiniz:

  1. Komutu uygun kullanıcı olarak çalıştırın. Farklı bir kullanıcıya geçmek için komutunu kullanın su . Kullanıcı adı olmadan su çalıştırırsanız ve parolayı biliyorsanız, root olarak bir kabuğa girersiniz.

  2. komutundan önce kullanın sudo . Bu yöntem daha yaygın ve daha güvenlidir. Bu makaledeki birçok örnek sudo kullanır.

Bazı yaygın komutlar aşağıdadır. Her komutun çevrimiçi olarak araştırabileceğiniz çeşitli anahtarları ve seçenekleri vardır:

  • cd - dizini değiştirme
  • chmod - dosya veya dizinin izinlerini değiştirme
  • chown - dosya veya dizinin sahipliğini değiştirme
  • ls - dizinin içeriğini gösterme
  • mkdir - sürücüde klasör (dizin) oluşturma
  • mv - dosyayı bir konumdan diğerine taşıma
  • ps - tüm çalışma süreçlerini gösterme
  • rm - sunucuda bir dosyayı yerel olarak silme
  • rmdir - klasör silme (dizin)
  • systemctl - hizmetleri başlatma, durdurma veya etkinleştirme
  • Metin düzenleyici komutları. Linux'ta vi ve emacs gibi çeşitli metin düzenleyici seçenekleri vardır.

Linux üzerinde SQL Server'ın kullanılabilirlik yapılandırmaları için yaygın görevler

Bu bölüm, tüm Linux tabanlı SQL Server dağıtımlarında ortak olan görevleri kapsar.

Dosyaları kopyalayabileceğinizden emin olun

Linux üzerinde SQL Server'ı yöneten herkesin dosyaları bir sunucudan diğerine kopyalayabilmesi gerekir. Bu görev AG yapılandırmaları için gereklidir.

İzin sorunları hem Linux hem de Windows tabanlı yüklemelerde bulunabilir. Ancak, dosyaları sunucudan sunucuya kopyalama hakkında bilgi sahibi olan Windows kullanıcıları, Linux'ta nasıl yapıldığını bilmiyor olabilir. Yaygın bir yöntem, scp anlamına gelen komut satırı yardımcı programını kullanmaktır. Arka planda scp OpenSSH kullanır. SSH , güvenli kabuk anlamına gelir. Linux dağıtımına bağlı olarak OpenSSH'nin kendisi yüklenmemiş olabilir. Değilse, OpenSSH'yi yüklemeniz gerekir.

Linux dağıtımınız için OpenSSH'yi yapılandırma hakkında daha fazla bilgi için bkz:

Uyarı

SQL Server 2025'te (17.x) başlayarak SUSE Linux Enterprise Server (SLES) desteklenmez.

scp kullanırken, kaynak veya hedef değilse sunucunun kimlik bilgilerini sağlamanız gerekir. Örneğin, aşağıdaki komut dosyayı MyAGCert.cer diğer sunucuda belirtilen klasöre kopyalar:

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

Kopyalamak için dosyanın izinlerine ve büyük olasılıkla sahipliğine sahip olmanız gerekir, bu nedenle kopyalamadan önce kullanmanız chown gerekebilir. Benzer şekilde, alıcı tarafında, dosyayı işlemek için doğru kullanıcının erişmesi gerekir. Örneğin, bu sertifika dosyasını mssql geri yüklemek için kullanıcının dosyaya erişebilmesi gerekir.

Sunucu ileti bloğunun (SMB) Linux çeşidi olan Samba, gibi \\SERVERNAME\SHAREUNC yolları tarafından erişilen paylaşımlar oluşturmak için de kullanılabilir. Samba'yı yapılandırma hakkında daha fazla bilgi için her dağıtım için aşağıdaki bağlantılardaki bilgilere bakın:

Uyarı

SQL Server 2025'te (17.x) başlayarak SUSE Linux Enterprise Server (SLES) desteklenmez.

Windows tabanlı SMB paylaşımlarını da kullanabilirsiniz. Samba'nın istemci bölümü SQL Server'ı barındıran Linux sunucusunda düzgün yapılandırıldığı ve paylaşımın doğru erişime sahip olduğu sürece SMB paylaşımlarının Linux tabanlı olması gerekmez. Karma bir ortamdaki müşteriler için bu yaklaşım Linux tabanlı SQL Server dağıtımları için mevcut altyapıyı kullanmanıza olanak tanır.

Dağıttığınız Samba sürümü SMB 3.0 uyumlu olmalıdır. SQL Server 2012'ye (11.x) SMB desteği eklendiğinde, tüm paylaşımların SMB 3.0'ı desteklemesi gerekiyordu. Samba'yı Windows Server için değil de paylaşım için kullanıyorsanız, Samba tabanlı paylaşım Samba 4.0 veya üzerini ve ideal olarak SMB 3.1.1'i destekleyen 4.3 veya üzerini kullanmalıdır. SMB ve Linux hakkında iyi bir bilgi kaynağı Samba'daki SMB3'tür.

Son olarak, bir ağ dosya sistemi (NFS) paylaşımı kullanmak bir seçenektir. NFS'yi SQL Server'ın Windows tabanlı dağıtımlarında kullanamazsınız ve yalnızca Linux tabanlı dağıtımlar için kullanılabilir.

Güvenlik duvarını yapılandırma

Windows'a benzer şekilde, Linux dağıtımlarında da yerleşik bir güvenlik duvarı vardır. Kuruluşunuz sunucular için bir dış güvenlik duvarı kullanıyorsa, Linux'ta güvenlik duvarlarını devre dışı bırakabilirsiniz. Ancak, güvenlik duvarını nerede etkinleştirdiğinizden bağımsız olarak bağlantı noktalarını açmanız gerekir. Aşağıdaki tabloda, Linux üzerinde yüksek oranda kullanılabilir SQL Server dağıtımları için gereken ortak bağlantı noktaları listelenmiştir.

Port Numarası Türü Açıklama
111 TCP/UDP NFS- rpcbind/sunrpc
135 TCP Samba (kullanılıyorsa) - Uç Nokta Eşleştiricisi
137 Kullanıcı Datagram Protokolü (UDP) Samba (kullanılıyorsa) - NetBIOS Ad Hizmeti
138 Kullanıcı Datagram Protokolü (UDP) Samba (kullanılıyorsa) - NetBIOS Veri Birimi
139 TCP Samba (kullanılıyorsa) - NetBIOS Oturumu
445 TCP Samba (kullanılıyorsa) - TCP üzerinden SMB
1433 TCP SQL Server - varsayılan bağlantı noktası; istenirse, mssql-conf set network.tcpport <portnumber> ile değiştirilebilir.
2049 TCP, UDP NFS (kullanılıyorsa)
2224 TCP Pacemaker - tarafından kullanılır pcsd
3121 TCP Pacemaker - Pacemaker Uzak düğümleri varsa gereklidir
3260 TCP iSCSI Başlatıcısı (kullanılıyorsa) - /etc/iscsi/iscsid.config (RHEL) içinde değiştirilebilir, ancak iSCSI Hedefinin bağlantı noktasıyla eşleşmelidir.
5022 TCP SQL Server - AG uç noktası için kullanılan varsayılan bağlantı noktası; uç nokta oluşturulurken değiştirilebilir
5403 TCP Kalp pili
5404 Kullanıcı Datagram Protokolü (UDP) Pacemaker - Çok noktaya yayın UDP kullanıldığında Corosync tarafından gereklidir
5405 Kullanıcı Datagram Protokolü (UDP) Pacemaker - Corosync tarafından gereklidir
21064 TCP Pacemaker - DLM kullanan kaynaklar için gereklidir
Değişken TCP AG uç noktası bağlantı noktası; varsayılan değer 5022'dir
Değişken TCP NFS - bağlantı noktası ( LOCKD_TCPPORT RHEL'de /etc/sysconfig/nfs bulunur)
Değişken Kullanıcı Datagram Protokolü (UDP) NFS - bağlantı noktası ( LOCKD_UDPPORT RHEL'de /etc/sysconfig/nfs bulunur)
Değişken TCP/UDP NFS - bağlantı noktası ( MOUNTD_PORT RHEL'de /etc/sysconfig/nfs bulunur)
Değişken TCP/UDP NFS - bağlantı noktası ( STATD_PORT RHEL'de /etc/sysconfig/nfs bulunur)

Samba'nın kullandığı diğer bağlantı noktaları için bkz. Samba Bağlantı Noktası Kullanımı.

Buna karşılık, hizmetin adını bağlantı noktası yerine özel durum olarak Linux altına ekleyebilirsiniz. Örneğin Pacemaker için kullanın high-availability . Uygun adlar için yazılım dağıtımınıza bakın. Örneğin RHEL'de Pacemaker'a eklenecek komut şöyledir:

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

Güvenlik duvarı belgeleri

Uyarı

SQL Server 2025'te (17.x) başlayarak SUSE Linux Enterprise Server (SLES) desteklenmez.

Kullanılabilirlik için SQL Server paketlerini yükleme

Windows tabanlı bir SQL Server yüklemesinde, bazı bileşenler temel altyapı yüklemesinde bile yüklenirken, diğerleri yüklenmez. Linux altında, yükleme işleminin bir parçası olarak yalnızca SQL Server altyapısı yüklenir. Diğer her şey isteğe bağlıdır. Linux altındaki yüksek oranda kullanılabilir SQL Server örnekleri için SQL Server ile iki paket yüklenmelidir:

  • SQL Server Aracısı (mssql-server-agent)
  • yüksek kullanılabilirlik (HA) paketi (mssql-server-ha)

SQL Server Aracısı teknik olarak isteğe bağlı olsa da, SQL Server işleri için varsayılan zamanlayıcıdır ve günlük gönderimi için gereklidir, bu nedenle yükleme önerilir.

CU 4 ve sonraki sürümleriyle SQL Server 2017'de (14.x), SQL Server Agent Veritabanı Altyapısı paketine dahil edilir, ancak yine de etkinleştirmeniz gerekir. Windows tabanlı yüklemelerde SQL Server Aracısı isteğe bağlı değildir.

Uyarı

SQL Server Aracısı, SQL Server için yerleşik iş zamanlayıcıdır. Yedeklemeler ve rutin bakım gibi görevleri zamanlamak için kullanılır. Windows'da SQL Server Aracısı ayrı bir hizmet olarak çalışır. Linux'ta SQL Server bağlamında çalışır.

Windows tabanlı bir yapılandırmada AG'leri veya FCI'leri yapılandırdığınızda, bunlar küme farkındadır. Küme tanıma, SQL Server'ın bir WSFC'nin bildiği belirli kaynak DLL'lerine (sqagtres.dll ve sqsrvres.dll FC'ler için, hadrres.dll AG'ler için) sahip olduğu ve SQL Server kümelenmiş işlevselliğinin çalıştığından, çalıştığından ve düzgün çalıştığından emin olmak için WSFC tarafından kullanıldığı anlamına gelir.

Kümeleme yalnızca SQL Server'ın değil Linux'un da dışında olduğundan, Microsoft'un Linux tabanlı AG ve FCI dağıtımları için kaynak DLL'sinin eşdeğerini kodlanması gerekiyordu. Bu kaynak, Pacemaker için SQL Server kaynak aracısı olarak da bilinen pakettir mssql-server-ha . Paketi yüklemek için bkz: mssql-server-haLinux üzerinde SQL Server için Pacemaker kümesi dağıtma.

Linux'ta Full-Text Arama (mssql-server-fts) ve Integration Services (mssql-server-is), isteğe bağlı SQL Server paketleridir ve FCI veya AG için gerekli değildir.

SQL Server yüksek kullanılabilirlik ve olağanüstü durum kurtarma iş ortakları

SQL Server hizmetleriniz için yüksek kullanılabilirlik ve olağanüstü durum kurtarma sağlamak için çok çeşitli sektör lideri araçlar arasından seçim yapın. Bu bölümde, SQL Server'ı destekleyen yüksek kullanılabilirlik ve olağanüstü durum kurtarma çözümlerine sahip Microsoft iş ortağı şirketleri vurgulanmaktadır.

İş Ortağı Açıklama
DH2i DxEnterprise, Windows, Linux ve kapsayıcı ortamları için bir kullanılabilirlik yönetimi çözümüdür. Yüksek kullanılabilirliği destekler, planlı ve plansız kapalı kalma süresini azaltır ve fiziksel ve mantıksal kaynakların yönetimini basitleştirir.

- Kubernetes'te DH2i DxEnterprise ile kullanılabilirlik gruplarını dağıtma
- Öğretici: DH2i DxEnterprise ile üç düğümlü Always On kullanılabilirlik grubu ayarlama
HPE Serviceguard HPE SGLX, Yük Devretme Kümesi Örneği ve AlwaysOn Kullanılabilirlik Grupları için bağlama duyarlı izleme ve kurtarma seçenekleri sunar. Veri bütünlüğünden ve performansından ödün vermeden HPE SGLX ile çalışma süresini en üst düzeye çıkarın.

- Öğretici: Linux için HPE Serviceguard ile üç düğümlü Always On kullanılabilirlik grubu ayarlama.
Kalp pili Pacemaker, açık kaynak yüksek kullanılabilirlik kümesi kaynak yöneticisidir. Pacemaker, açık kaynak grup iletişim sistemi Corosync ile bileşen hatalarını algılayabilir ve uygulamalarda kesintileri en aza indirmek için gerekli yük devretme prosedürlerini düzenleyebilir.

- Linux'ta Kullanılabilirlik Grupları ve Yük Devretme Kümesi Örnekleri için Pacemaker
- Linux üzerinde SQL Server için Pacemaker kümesi dağıtma