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 veritabanlarını ve örneklerini planlama ve dağıtmanın teknik yönlerinin yanı sıra Windows tabanlı yüklemelerden bazı farkları kapsar. SQL Server, Linux uzmanları için yeni olabileceğinden ve Linux SQL Server uzmanları için yeni olabileceğinden, bazen bu makalede bazılarına tanıdık gelen ve diğerlerine yabancı olabilecek kavramlar tanıtılmaktadı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 arabirimle yüklenebilir ancak çoğu yüklenmez, yani işletim sistemi katmanındaki neredeyse her şey komut satırı aracılığıyla yapılır. Linux dünyasında bu komut satırının ortak terimi bir bash komut satırıdır.

Linux'ta, yönetici olarak Windows Server'da yapılması gereken birçok işlem gibi birçok komutun yükseltilmiş ayrıcalıklarla yürütülmesi gerekir. Yükseltilmiş ayrıcalıklarla yürütülecek iki ana yöntem vardır:

  1. Uygun kullanıcı bağlamında çalıştırın. Farklı bir kullanıcıya geçmek için komutunu sukullanın. Kullanıcı adı olmadan su kendi başına yürütülürse, parolayı bildiğiniz sürece bir kabukta root olarak çalışıyorsunuz demektir.

  2. İşleri çalıştırmanın daha yaygın ve güvenlik bilinçli yolu, herhangi bir şeyi yürütmeden önce kullanmaktır sudo . Bu makaledeki örneklerin birçoğunda kullanılır sudo.

Her biri çevrimiçi olarak araştırılabilir çeşitli anahtarlara ve seçeneklere sahip olan bazı yaygın komutlar:

  • 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ın kopyalanabilir olduğundan emin olun

Dosyaları bir sunucudan diğerine kopyalamak, Linux üzerinde SQL Server kullanan herkesin yapabilmesi gereken bir görevdir. Bu görev AG yapılandırmaları için çok önemlidir.

İzin sorunları gibi şeyler Linux'ta ve Windows tabanlı yüklemelerde bulunabilir. Ancak, Windows'ta sunucudan sunucuya kopyalama hakkında bilgi sahibi olanlar, Linux'ta nasıl yapıldığını bilmiyor olabilir. Yaygın bir yöntem, güvenli kopya anlamına gelen komut satırı yardımcı programını scpkullanmaktı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, önce OpenSSH'nin yüklenmesi gerekir. OpenSSH'yi 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:

Eğer scp kullanıyorsanız ve sunucu kaynak veya hedef değilse, sunucu kimlik bilgilerini sağlamanız gerekir. Örneğin,

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

MyAGCert.cer dosyasını diğer sunucuda belirtilen klasöre kopyalar. Dosyayı kopyalamak için izinleriniz (ve büyük olasılıkla sahipliğiniz) olmalıdır, bu nedenle chown kopyalamadan önce de kullanmanız 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:

Windows tabanlı SMB paylaşımları da kullanılabilir; 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 ortamdakiler için bu, Linux tabanlı SQL Server dağıtımları için mevcut altyapıyı kullanmanın bir yolu olabilir.

Önemli olan bir şey, dağıtılan Samba sürümünün SMB 3.0 uyumlu olması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 kullanmak SQL Server'ın Windows tabanlı dağıtımlarında bir seçenek değildir 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. Şirketiniz sunucular için dış güvenlik duvarı kullanıyorsa, Linux'ta güvenlik duvarlarını devre dışı bırakmak kabul edilebilir olabilir. Ancak, güvenlik duvarının etkinleştirildiği yerden bağımsız olarak bağlantı noktalarının açılması gerekir. Aşağıdaki tabloda, Linux üzerinde yüksek oranda kullanılabilir SQL Server dağıtımları için gereken ortak bağlantı noktaları belgelenmiş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 tarafından kullanılabilecek ek bağlantı noktaları için bkz. Samba Bağlantı Noktası Kullanımı.

Buna karşılık, hizmetin Linux altındaki adı da bağlantı noktası yerine özel durum olarak eklenebilir; örneğin Pacemaker high-availability için. Takip etmek istediğiniz yön buysa, adların dağılımına bakın. Örneğin, RHEL'de Pacemaker'a eklenecek komut şu şekildedir:

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

Güvenlik duvarı belgeleri

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ı teknik olarak zorunlu olmasa da, işler için SQL Server zamanlayıcısıdır ve log shipping için gereklidir, bu yüzden yüklenmesi ö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'ı yeni kullananlar için SQL Server Aracısı, SQL Server'ın yerleşik iş zamanlayıcısıdır. Yedeklemeler ve diğer SQL Server bakımı gibi öğeleri zamanlayabilirsiniz. SQL Server Aracısı'nın tamamen farklı bir hizmet olduğu SQL Server'ın Windows tabanlı yüklemesinin aksine, Linux'ta SQL Server Aracısı SQL Server bağlamında çalışır.

AG'ler veya FC'ler Windows tabanlı bir yapılandırmada yapılandırıldığında kümeye duyarlıdı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 pakettir mssql-server-ha ve Pacemaker için SQL Server kaynak aracısı olarak da bilinir. Paketi yüklemek için bkz: mssql-server-haLinux üzerinde SQL Server için Pacemaker kümesi dağıtma.

Linux üzerinde SQL Server için SQL Server Full-Text Arama (mssql-server-fts) ve SQL Server Entegrasyon Hizmetleri (mssql-server-is) gibi diğer isteğe bağlı paketler, FCI veya AG yüksek kullanılabilirlik gereksinimleri için zorunlu 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 Docker için en yakın sıfıra yakın planlı ve plansız kapalı kalma süresine ulaşmanıza yardımcı olan, büyük maliyet tasarrufu sağlayan, yönetimi önemli ölçüde basitleştiren ve hem fiziksel hem de mantıksal birleştirmeyi sağlayan Akıllı Kullanılabilirlik yazılımıdır.

- 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