Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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:
- Linux üzerinde SQL Server için kullanılabilirlik grupları
- Yük Devretme Kümesi Birimleri - Linux üzerinde SQL Server
- Linux'ta log shipping ile çalışmaya başlama
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:
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ı olmadansukendi başına yürütülürse, parolayı bildiğiniz sürece bir kabuktarootolarak çalışıyorsunuz demektir.İş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ırsudo.
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 |