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.
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ılacağı açıklanmıştır.
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 rehberde, HA eklentisi için geçerli bir abonelikle SLES kullanın.
Her küme düğümüne SQL Server yükleme ve yapılandırma
Sql Server'ı her iki düğüme de yükleyin ve kurun. 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 sırasında, SQL Server örneği için bir Sunucu Ana Anahtarı oluşturulur ve
/var/opt/mssql/secrets/machine-keyyerleştirilir. Linux'ta SQL Server her zaman mssql adlı yerel bir hesap olarak çalışır. Yerel bir hesap olduğundan kimliği düğümler arasında paylaşılmamaktadır. Bu nedenle, her yerel mssql hesabının Sunucu Ana Anahtarının ş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-servermasterhesabıyla SQL Serversaveritabanına bağlanın ve aşağıdakileri ç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 SSH aracılığıyla birbirine erişebilmesi gerekir.
hb_reportveyacrm_report(sorun giderme için) ve Hawk's History Explorer gibi araçlar düğümler arasında parolasız SSH erişimi gerektirir, aksi takdirde yalnızca geçerli düğümden veri toplayabilirler. Standart olmayan bir SSH bağlantı noktası kullanıyorsanız,-Xseçeneğini kullanın (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 sağlamak için çeşitli çözümler vardır. Bu kılavuzda NFS ile paylaşılan depolamanın yapılandırılması gösterilmektedir. NFS'nin güvenliğini sağlamak için aşağıdaki en iyi yöntemleri kullanmanızı ve Kerberos'u kullanmanızı öneririz:
Bu yönergeleri izlemezseniz, ağınıza erişebilen ve bir SQL düğümünün IP adresini sahtekarlık edebilen herkes veri dosyalarınıza erişebilir. Her zaman olduğu gibi, üretim ortamında kullanmadan önce sisteminizi tehdit modeli yaptığınızdan emin olun.
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şımda kopyalayabilmek için 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 yerel kullanıcı mssql 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 alanıyla ilgili SUSE'nin en iyi yöntemlerini ve önerilerini izlemeniz gerekir: DRBD ve Pacemaker ile Yüksek Oranda Kullanılabilir NFS Depolama.
SQL Server'ın yeni dosya yolu ile başarıyla başlatıldığını doğrulayın. Bunu her düğümde yapı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ışacağından aynı anda çalışamaz (her iki düğümde de YANLıŞLıKLA SQL Server'ı başlatmayı önlemek için, paylaşımın farklı düğümler tarafından iki kez bağlanmadığından emin olmak için bir Dosya Sistemi küme kaynağı 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 SSHaracılığıyla birbirine erişebilmesi gerekir. hb_report veya crm_report (sorun giderme için) ve Hawk's History Explorer gibi araçlar düğümler arasında parolasız SSH erişimi gerektirir, aksi takdirde yalnızca geçerli düğümden veri toplayabilirler. Standart olmayan bir SSH bağlantı noktası kullanıyorsanız -X seçeneğini kullanın (erkek sayfasına bakın). Örneğin, SSH bağlantı noktanız 3479 ise şununla bir hb_report çağır:
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 statusBir düğümün (SLES1) yapılandırıldığını göstermelidir.
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 eklediyseniz, çıkış aşağıdakine benzer:
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ırılan 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. Özelleştirmeniz gereken iki ayar vardır.
- 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, SQL Server'ın
masterveritabanını çevrimiçine getirmesini beklediğiniz zamandır.
Ortamınız için aşağıdaki betikten değerleri güncelleştirin. Kümelenmiş hizmeti yapılandırmak ve başlatmak için 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ırma işlendikten sonra, SQL Server sanal IP kaynağıyla aynı düğümde başlatılır.
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ı durumunda kümenin diğer düğümlerine otomatik olarak yük devredecek (veya geçirebilecek) şekilde yapılandırılmış olsa da, Pacemaker GUI veya komut satırını kullanarak bir kaynağı kümedeki başka bir düğüme el ile de taşıyabilirsiniz.
Bu görev için migrate komutunu kullanın. Örneğin, SQL kaynağını SLES2 adlı bir küme düğümüne geçirmek için şu işlemi gerçekleştirin:
crm resource
migrate mssqlha SLES2