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
Bu kılavuz, SUSE Linux Enterprise Server (SLES) üzerinde SQL Server için iki düğümlü bir paylaşılan disk kümesi oluşturmaya yönelik yönergeler sağlar. Kümeleme katmanı, Pacemakerüzerine kurulu SUSE Yüksek Kullanılabilirlik Uzantısı (HAE) temel alır.
Not
SQL Server 2025'te (17.x) başlayarak SUSE Linux Enterprise Server (SLES) desteklenmez.
Küme yapılandırması, kaynak aracısı seçenekleri, yönetimi, en iyi yöntemler ve öneriler hakkında daha fazla bilgi için bkz. SUSE Linux Enterprise Yüksek Kullanılabilirlik Uzantısı 12 SP5.
Önkoşullar
Aşağıdaki uçtan uca senaryoyu tamamlamak için iki düğüm kümesini dağıtmak için iki makineye ve NFS paylaşımını yapılandırmak için başka bir sunucuya ihtiyacınız vardır. Aşağıdaki adımlarda bu sunucuların nasıl yapılandırılacakları özetlenmiştir.
Her küme düğümünde işletim sistemini ayarlama ve yapılandırma
İlk adım, küme düğümlerinde işletim sistemini yapılandırmaktır. Bu kılavuzu takip etmek için, HA eklentisi için geçerli bir abonelikle SLES'i kullanın.
Her küme düğümüne SQL Server yükleme ve yapılandırma
HER iki düğümde de SQL Server'ı yükleyin ve ayarlayın. Ayrıntılı yönergeler için bkz. linux sql server için yükleme kılavuzu.
Yapılandırma amacıyla bir düğümü birincil, diğerini ikincil olarak belirleyin. Bu kılavuzda bu terimleri kullanın.
İkincil düğümde SQL Server'ı durdurun ve devre dışı bırakın. Aşağıdaki örnek SQL Server'ı durdurur ve devre dışı bırakır:
sudo systemctl stop mssql-server sudo systemctl disable mssql-serverNot
Kurulum zamanında, SQL Server örneği için bir sunucu ana anahtarı (SMK) oluşturulur ve adresine
/var/opt/mssql/secrets/machine-keyyerleştirilir. Linux'ta SQL Server her zamanmssqladlı yerel bir hesap olarak çalışır. Yerel bir hesap olduğundan kimliği düğümler arasında paylaşılmamaktadır. Her yerelmssqlhesabın SMK'nin şifresini çözmek için bu anahtara erişebilmesi için şifreleme anahtarını birincil düğümden her ikincil düğüme kopyalamanız gerekir.Birincil düğümde Pacemaker için bir SQL Server oturumu oluşturun ve
sp_server_diagnosticsçalıştırmak için oturum açma izni verin. Pacemaker, hangi düğümün SQL Server çalıştırdığını doğrulamak için bu hesabı kullanır.sudo systemctl start mssql-serverSQL Server
masterveritabanınasahesabı ile bağlanın ve aşağıdaki betiği çalıştırın:USE [master]; GO CREATE LOGIN [<loginName>] with PASSWORD = N'<password>'; GRANT VIEW SERVER STATE TO <loginName>;Dikkat
Parolanız, SQL Server varsayılanparola ilkesine uygun olmalıdır. Varsayılan olarak, parola en az sekiz karakter uzunluğunda olmalı ve şu dört kümeden üçünün karakterlerini içermelidir: büyük harfler, küçük harfler, 10 tabanındaki basamaklar ve simgeler. Parolalar en çok 128 karakter uzunluğunda olabilir. Mümkün olduğunca uzun ve karmaşık parolalar kullanın.
Birincil düğümde SQL Server'ı durdurun ve devre dışı bırakın.
Her bir küme düğümü için konak dosyasını yapılandırmak ve güncelleştirmek amacıyla SUSE belgelerindeki yönergelerini izleyin.
hostsdosyası, her küme düğümünün IP adresini ve adını içermelidir.Geçerli düğümün IP adresini denetlemek için şunu çalıştırın:
sudo ip addr showHer düğümde bilgisayar adını ayarlayın. Her düğüme 15 karakter veya daha az benzersiz bir ad verin.
/etc/hostnameekleyip YAST kullanarak veya el ile bilgisayar adını ayarlayın.Aşağıdaki örnekte,
/etc/hostsveSLES1adlı iki düğüm için eklemeler içerenSLES2gösterilmektedir.127.0.0.1 localhost 10.128.18.128 SLES1 10.128.16.77 SLES2Tüm küme düğümlerinin birbirine parolasız SSH erişimi olmalıdır. Aksi takdirde, ,
hb_reportve Hawk's History Explorer gibicrm_reportaraçlar yalnızca yerel düğümden veri toplayabilir. Standart olmayan bir SSH bağlantı noktası kullanıyorsanız seçeneğini kullanın-X(bkz . Diğer Gereksinimler ve Öneriler). Örneğin, SSH bağlantı noktanız 3479 ise aşağıdakilerlecrm_reportçağır:crm_report -X "-p 3479" [...]
Sonraki bölümde paylaşılan depolamayı yapılandıracak ve veritabanı dosyalarınızı bu depolama alanına taşıyacaksınız.
Paylaşılan depolamayı yapılandırma ve veritabanı dosyalarını taşıma
Paylaşılan depolama alanı sağlamak için çeşitli çözümler kullanabilirsiniz. Bu kılavuzda NFS ile paylaşılan depolamanın yapılandırılması gösterilmektedir. NFS'nin güvenliğini sağlamak için en iyi yöntemleri izleyin ve Kerberos'u kullanın:
Bu yönergeleri izlemezseniz, ağınıza erişebilen ve bir SQL düğümünün IP adresini sahtekarlık eden herkes veri dosyalarınıza erişebilir. Her zaman olduğu gibi, üretim ortamında kullanmadan önce sisteminizde tehdit modellemesi gerçekleştirin.
Başka bir depolama seçeneği de SMB dosya paylaşımını kullanmaktır:
- SUSE belgelerinin Samba bölümü
NFS sunucusunu yapılandırma
NFS sunucusunu yapılandırmak için SUSE belgelerinde aşağıdaki adımlara bakın: NFS Sunucusuyapılandırma.
Tüm küme düğümlerini NFS paylaşılan depolama alanına bağlanacak şekilde yapılandırma
İstemci NFS'sini SQL Server veritabanı dosyaları yolunu paylaşılan depolama konumuna işaret etmek üzere bağacak şekilde yapılandırmadan önce, veritabanı dosyalarını daha sonra paylaşıma kopyalayabileceğiniz geçici bir konuma kaydettiğinizden emin olun:
Veritabanı dosyalarını yalnızcabirincil düğümde geçici bir konuma kaydedin. Aşağıdaki betik yeni bir geçici dizin oluşturur, veritabanı dosyalarını yeni dizine kopyalar ve eski veritabanı dosyalarını kaldırır. SQL Server
mssqlyerel kullanıcı olarak çalıştığından, bağlı paylaşıma veri aktarımından sonra yerel kullanıcının paylaşıma okuma-yazma erişimi olduğundan emin olmanız gerekir.su mssql mkdir /var/opt/mssql/tmp cp /var/opt/mssql/data/* /var/opt/mssql/tmp rm /var/opt/mssql/data/* exitTüm küme düğümlerinde NFS istemcisini yapılandırın:
Not
Yüksek Oranda Kullanılabilir NFS depolama ile ilgili en iyi SUSE uygulamaları ve önerileri için bkz. DRBD ve Pacemaker ile Yüksek Oranda Kullanılabilir NFS Depolama.
Her düğümde, SQL Server'ın yeni dosya yolu ile başarıyla başlatıldığını doğrulayın. Bu noktada, SQL Server'ı aynı anda yalnızca bir düğüm çalıştırmalıdır. Her ikisi de veri dosyalarına aynı anda erişmeye çalıştıkları için aynı anda çalışamaz.
SQL Server'ın her iki düğümde de başlatılmasını önlemek için, paylaşımın aynı anda yalnızca bir düğüm tarafından bağlandığından emin olmak amacıyla Dosya Sistemi küme kaynağını kullanın.
Aşağıdaki komutlar SQL Server'ı başlatır, durumu denetler ve SQL Server'ı durdurur.
sudo systemctl start mssql-server sudo systemctl status mssql-server sudo systemctl stop mssql-server
Bu noktada, SQL Server'ın her iki örneği de paylaşılan depolamadaki veritabanı dosyalarıyla çalışacak şekilde yapılandırılır. Sonraki adım Pacemaker için SQL Server'ı yapılandırmaktır.
Her küme düğümüne Pacemaker'ı yükleme ve yapılandırma
Her iki küme düğümünde de Pacemaker oturum açmaiçin SQL Server kullanıcı adını ve parolasını depolamak için bir dosya oluşturun. Aşağıdaki komut bu dosyayı oluşturur ve doldurur:
sudo touch /var/opt/mssql/secrets/passwd sudo echo '<loginName>' >> /var/opt/mssql/secrets/passwd sudo echo '<password>' >> /var/opt/mssql/secrets/passwd sudo chown root:root /var/opt/mssql/secrets/passwd sudo chmod 600 /var/opt/mssql/secrets/passwdDikkat
Parolanız, SQL Server varsayılanparola ilkesine uygun olmalıdır. Varsayılan olarak, parola en az sekiz karakter uzunluğunda olmalı ve şu dört kümeden üçünün karakterlerini içermelidir: büyük harfler, küçük harfler, 10 tabanındaki basamaklar ve simgeler. Parolalar en çok 128 karakter uzunluğunda olabilir. Mümkün olduğunca uzun ve karmaşık parolalar kullanın.
Tüm küme düğümlerinin SSH aracılığıyla birbirine erişmesi gerekir.
hb_reportveyacrm_reportgibi araçlar (sorun giderme için) ve Hawk's History Explorer, düğümler arasında parolasız SSH erişimi gerektirir. Aksi takdirde, yalnızca geçerli düğümden veri toplayabilirler. Standart olmayan bir SSH portu kullanıyorsanız-Xseçeneğini kullanın (mansayfasına bakın). Örneğin, SSH bağlantı noktanız 3479 ise şununla çağırhb_report:crm_report -X "-p 3479" [...]Daha fazla bilgi için SUSE belgelerinde ,Sistem Gereksinimleri ve Önerileri bölümüne bakın.
Yüksek Kullanılabilirlik uzantısını yükleyin. Uzantıyı yüklemek için aşağıdaki SUSE makalesindeki adımları izleyin:
SQL Serveriçin FCI kaynak aracısını yükleyin. Her iki düğümde de aşağıdaki komutları çalıştırın:
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/mssql-server-2017.repo sudo zypper --gpg-auto-import-keys refresh sudo zypper install mssql-server-hailk düğümü otomatik olarak ayarlayın. Sonraki adım, ilk düğüm olan SLES1'i yapılandırarak çalışan tek düğümlü bir küme ayarlamaktır. SUSE makalesindeki ilk düğümü ayarlamayönergelerini izleyin.
İşiniz bittiğinde,
crm statusile küme durumunu denetleyin:crm statusSLES1 adında bir düğümün yapılandırıldığını gösterir.
Var olan bir kümeye düğüm ekleme. Ardından SLES2 düğümünü kümeye birleştirin. SUSE makalesindeki İkinci Düğüm Eklemetalimatlarını izleyin.
İşiniz bittiğinde, crm statuskomutuyla küme durumunu kontrol edin. İkinci bir düğümü başarıyla eklerseniz, çıkış aşağıdaki örneğe benzer şekilde görünür:
2 nodes configured 1 resource configured Online: [ SLES1 SLES2 ] Full list of resources: admin_addr (ocf::heartbeat:IPaddr2): Started SLES1Not
admin_addr , ilk tek düğümlü küme kurulumu sırasında yapılandırdığınız sanal IP kümesi kaynağıdır.
Kaldırma prosedürleri. Kümeden bir düğümü kaldırmanız gerekiyorsa ha-cluster-remove bootstrap betiğini kullanın. Daha fazla bilgi için bkz. Bootstrap Betiklerine Genel Bakış.
SQL Server için küme kaynaklarını yapılandırma
Aşağıdaki adımlarda SQL Server için küme kaynağını yapılandırma adımları açıklanmaktadır. Aşağıdaki iki ayarı özelleştirin:
- SQL Server Kaynak Adı: Kümelenmiş SQL Server kaynağının adı.
-
Zaman Aşımı Değeri: Zaman aşımı değeri, bir kaynağın çevrimiçi duruma getirilmesi sırasında kümenin beklediği süredir. SQL Server için bu değer, SQL Server'ın veritabanını çevrimiçine getirmesini
masterbeklediğiniz süreyi temsil eder.
Ortamınız için aşağıdaki betikteki değerleri güncelleştirin. Kümelenmiş hizmeti yapılandırmak ve başlatmak için betiği bir düğümde çalıştırın.
sudo crm configure
primitive <sqlServerResourceName> ocf:mssql:fci op start timeout=<timeout_in_seconds>
colocation <constraintName> inf: <virtualIPResourceName> <sqlServerResourceName>
show
commit
exit
Örneğin, aşağıdaki betik mssqlhaadlı bir SQL Server kümelenmiş kaynağı oluşturur.
sudo crm configure
primitive mssqlha ocf:mssql:fci op start timeout=60s
colocation admin_addr_mssqlha inf: admin_addr mssqlha
show
commit
exit
Yapılandırmayı işledikten sonra, SQL Server sanal IP kaynağıyla aynı düğümde başlar.
Daha fazla bilgi için bkz. Küme Kaynaklarını Yapılandırma ve Yönetme (Komut Satırı).
SQL Server'ın başlatıldığını doğrulayın
SQL Server'ın başlatıldığını doğrulamak için crm status komutunu çalıştırın:
crm status
Aşağıdaki örnekte Pacemaker'ın kümelenmiş kaynak olarak başarıyla başlamasının sonuçları gösterilmektedir.
2 nodes configured
2 resources configured
Online: [ SLES1 SLES2 ]
Full list of resources:
admin_addr (ocf::heartbeat:IPaddr2): Started SLES1
mssqlha (ocf::mssql:fci): Started SLES1
Küme kaynaklarını yönetme
Küme kaynaklarınızı yönetmek için aşağıdaki SUSE makalesine bakın: Küme Kaynaklarını Yönetme
Manuel yük devretme
Kaynaklar donanım veya yazılım hatasında otomatik olarak yük devretme veya diğer küme düğümlerine geçiş yapmak üzere yapılandırılmış olsa da, Pacemaker GUI'sini veya komut satırını kullanarak bunları el ile de taşıyabilirsiniz.
migrate Bu görev için komutunu kullanın. Örneğin, SQL kaynağını adlı SLES2bir küme düğümüne geçirmek için şunu çalıştırın:
crm resource
migrate mssqlha SLES2