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 belgede, Red Hat Enterprise Linux ile paylaşılan bir disk yük devretme kümesinde SQL Server için aşağıdaki görevlerin nasıl gerçekleştirleneceği açıklanmaktadır.
- Kümenin yük devretmesini el ile gerçekleştir
- SQL Server yük devretme kümesi hizmetini izleme
- Küme düğümü ekleme
- Küme düğümünü kaldırma
- SQL Server kaynak izleme sıklığını değiştirme
Mimari açıklaması
Kümeleme katmanı, Pacemakerüzerinde oluşturulan Red Hat Enterprise Linux (RHEL) HA eklentisi temel alır. Corosync ve Pacemaker, küme iletişimlerini ve kaynak yönetimini koordine ediyor. SQL Server örneği bir düğümde veya diğerinde etkindir.
Aşağıdaki diyagramda SQL Server içeren bir Linux kümesindeki bileşenler gösterilmektedir.
Red Hat Enterprise Linux 7 Paylaşılan Disk SQL Kümesinin
Küme yapılandırması, kaynak aracıları seçenekleri ve yönetimi hakkında daha fazla bilgi için RHEL başvuru belgeleriniziyaret edin.
Küme failover işlemini manuel olarak gerçekleştirme
resource move komutu, kaynağı hedef düğümde başlamaya zorlayan bir kısıtlama oluşturur.
move komutunu yürüttkten sonra, kaynak clear yürütülürse, kaynağın yeniden taşınması veya kaynağın otomatik olarak yük devretmesinin mümkün olması için kısıtlama kaldırılır.
sudo pcs resource move <sqlResourceName> <targetNodeName>
sudo pcs resource clear <sqlResourceName>
Aşağıdaki örnek, mssqlha kaynağını sqlfcivm2adlı bir düğüme taşır ve sonra kaynağın daha sonra farklı bir düğüme geçebilmesi için kısıtlamayı kaldırır.
sudo pcs resource move mssqlha sqlfcivm2
sudo pcs resource clear mssqlha
SQL Server yük devretme kümesi hizmetini izleme
Geçerli küme durumunu görüntüleyin:
sudo pcs status
Kümenin ve kaynakların canlı durumunu görüntüleyin:
sudo crm_mon
Kaynak aracısı günlüklerini /var/log/cluster/corosync.log'da görüntüleyin.
Kümeye düğüm ekleme
Her düğümün IP adresini denetleyin. Aşağıdaki betik, geçerli düğümünüzün IP adresini gösterir.
ip addr showYeni düğümün 15 karakter veya daha kısa benzersiz bir ada sahip olması gerekir. Varsayılan olarak Red Hat Linux'ta bilgisayar adı
localhost.localdomain. Bu varsayılan ad benzersiz olmayabilir ve çok uzun olabilir. Yeni düğümün bilgisayar adını ayarlayın. Bilgisayar adını/etc/hosts'a ekleyerek ayarlayın. Aşağıdaki betik,/etc/hostsilevidüzenlemenizi sağlar.sudo vi /etc/hostsAşağıdaki örnek,
/etc/hostsilesqlfcivm1,sqlfcivm2, vesqlfcivm3adlı üç düğüm için eklemeleri gösterir.127.0.0.1 localhost localhost4 localhost4.localdomain4 ::1 localhost localhost6 localhost6.localdomain6 10.128.18.128 fcivm1 10.128.16.77 fcivm2 10.128.14.26 fcivm3Dosya her düğümde aynı olmalıdır.
Yeni düğümde SQL Server hizmetini durdurun.
Veritabanı dosya dizinini paylaşılan konuma bağlamak için yönergeleri izleyin:
NFS sunucusundan
nfs-utilsyükleyinsudo yum -y install nfs-utilsİstemcilerde ve NFS sunucusunda güvenlik duvarını açma
sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reload/etc/fstabdosyasını bağlama komutunu içerecek şekilde düzenleyin:<IP OF NFS SERVER>:<shared_storage_path> <database_files_directory_path> nfs timeo=14,intrDeğişikliklerin geçerli olması için
mount -açalıştırın.Yeni düğümde, Pacemaker oturum açma bilgilerinin 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/passwd sudo echo "<loginName>" >> /var/opt/mssql/secrets/passwd sudo echo "<password>" >> /var/opt/mssql/secrets/passwd sudo chown root:root /var/opt/mssql/passwd sudo chmod 600 /var/opt/mssql/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.
Yeni düğümde Pacemaker güvenlik duvarı bağlantı noktalarını açın. Bu bağlantı noktalarını
firewalldile açmak için aşağıdaki komutu çalıştırın:sudo firewall-cmd --permanent --add-service=high-availability sudo firewall-cmd --reloadYerleşik yüksek kullanılabilirlik yapılandırmasına sahip olmayan başka bir güvenlik duvarı kullanıyorsanız Pacemaker'ın kümedeki diğer düğümlerle iletişim kurabilmesi için aşağıdaki bağlantı noktalarının açılması gerekir:
- Bağlantı noktaları TCP: 2224, 3121, 21064
- UDP: Bağlantı Noktası 5405
Pacemaker paketlerini yeni düğüme yükleyin.
sudo yum install pacemaker pcs fence-agents-all resource-agentsPacemaker ve Corosync paketleri yüklenirken oluşturulan varsayılan kullanıcının parolasını ayarlayın. Mevcut düğümler ile aynı parolayı kullanın.
sudo passwd haclusterpcsdhizmetini ve Pacemaker'ı etkinleştirin ve başlatın. Bu, yeni düğümün yeniden başlatmadan sonra kümeye yeniden katılmasını sağlar. Yeni düğümde aşağıdaki komutu çalıştırın.sudo systemctl enable pcsd sudo systemctl start pcsd sudo systemctl enable pacemakerSQL Server için FCI kaynak aracısını yükleyin. Yeni düğümde aşağıdaki komutları çalıştırın.
sudo yum install mssql-server-haKümeden var olan bir düğümde yeni düğümün kimliğini doğrulayın ve kümeye ekleyin:
sudo pcs cluster auth <nodeName3> -u hacluster sudo pcs cluster node add <nodeName3>Aşağıdaki örnek, kümeye vm3 adlı bir düğüm ekler.
sudo pcs cluster auth sudo pcs cluster start
Kümeden düğümleri kaldırma
Kümeden bir düğümü kaldırmak için aşağıdaki komutu çalıştırın:
sudo pcs cluster node remove <nodeName>
sqlservr kaynak izleme aralığının sıklığını değiştirme
sudo pcs resource op monitor interval=<interval>s <sqlResourceName>
Aşağıdaki örnek, mssql kaynağı için izleme aralığını 2 saniye olarak ayarlar:
sudo pcs resource op monitor interval=2s mssqlha
SQL Server için Red Hat Enterprise Linux paylaşılan disk kümesi sorunlarını giderme
Küme sorunlarını giderdiğinizde, üç daemon'un küme kaynaklarını yönetmek için birlikte nasıl çalıştığını anlamanıza yardımcı olur.
| Arka Plan İşlemi | Açıklama |
|---|---|
| Corosync | Küme düğümleri arasında çoğunluk üyeliği ve mesajlaşmayı sağlar. |
| Kalp pili | Corosync'in üzerinde yer alır ve kaynaklar için durum yönetim sistemleri sağlar. |
| PCSD |
pcs araçlarıyla hem Pacemaker hem de Corosync'i yönetir. |
pcs araçlarını kullanabilmek için PCSD'nin çalışıyor olması gerekir.
Geçerli küme durumu
sudo pcs status her düğüm için küme, çekirdek, düğümler, kaynaklar ve daemon durumu hakkında temel bilgileri döndürür.
Sağlıklı bir kalp pili çoğunluk çıkışına örnek olarak aşağıdakiler gösterilebilir:
Cluster name: MyAppSQL
Last updated: Wed Oct 31 12:00:00 2016 Last change: Wed Oct 31 11:00:00 2016 by root via crm_resource on sqlvmnode1
Stack: corosync
Current DC: sqlvmnode1 (version 1.1.13-10.el7_2.4-44eb2dd) - partition with quorum
3 nodes and 1 resource configured
Online: [ sqlvmnode1 sqlvmnode2 sqlvmnode3 ]
Full list of resources:
mssqlha (ocf::sql:fci): Started sqlvmnode1
PCSD Status:
sqlvmnode1: Online
sqlvmnode2: Online
sqlvmnode3: Online
Daemon Status:
corosync: active/disabled
pacemaker: active/enabled
Örnekte partition with quorum, düğümlerin çoğunluğunun çevrimiçi olduğu anlamına gelir. Küme, düğümlerin çoğunluğunu kaybederse, pcs statuspartition WITHOUT quorum döndürür ve tüm kaynaklar durdurulur.
online: [sqlvmnode1 sqlvmnode2 sqlvmnode3], şu anda kümeye katılan tüm düğümlerin adını döndürür. Hiçbir düğüm katılmıyorsa, pcs statusOFFLINE: [<nodename>]döndürür.
PCSD Status her düğümün küme durumunu gösterir.
Düğümün çevrimdışı olmasının nedenleri
Bir düğüm çevrimdışı olduğunda aşağıdaki öğeleri denetleyin.
güvenlik duvarı
Pacemaker'ın iletişim kurabilmesi için aşağıdaki bağlantı noktalarının tüm düğümlerde açık olması gerekir.
- **TCP: 2224, 3121, 21064
Pacemaker veya Corosync hizmetleri çalışıyor
Düğüm iletişimi
Düğüm adı eşlemeleri
İlgili içerik
- Sıfırdan Kümesi (Pacemaker'dan)
- SQL Server için RHEL yük devretme kümesi örneği (FCI) kümesini yapılandırma