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
Kullanılabilirlik grubu (AG) bağlamında, kullanılabilirlik replikalarının birincil ve ikincil rolleri genellikle yük devretme olarak bilinen bir işlemde birbirinin yerine geçebilir. Üç yük devretme biçimi vardır: otomatik yük devretme (veri kaybı olmadan), planlı el ile yük devretme (veri kaybı olmadan) ve zorlamalı el ile yük devretme (olası veri kaybıyla), genellikle zorlamalı yük devretmeolarak adlandırılır. Otomatik ve planlı manuel yük devretme işlemleri tüm verilerinizi korur. AG, yedeklilik-çoğaltma düzeyinde devre dışı kalır ve geçiş yapar. Başka bir ifadeyle, AG mevcut ikincil çoğaltmalarından birine (geçerli yük devretme hedefi) otomatik olarak geçiş yapar.
Yük devretme hakkında arka plan bilgileri için bkz. Yük Devretme ve Yük Devretme Modları (Always On Kullanılabilirlik Grupları).
Manüel yük devretme
Dış küme yöneticisi tarafından yönetilen bir AG'ye yük devretmek için küme yönetim araçlarını kullanın. Örneğin, bir çözüm Linux kümesini yönetmek için Pacemaker kullanıyorsa Red Hat Enterprise Linux (RHEL) veya Ubuntu üzerinde el ile yük devretme gerçekleştirmek için pcs kullanın. SUSE Linux Enterprise Server'da (SLES), crmkullanın.
Önemli
Normal işlemler altında, SSMS veya PowerShell gibi Transact-SQL veya SQL Server yönetim araçlarıyla yük devretme yapmayın.
CLUSTER_TYPE = EXTERNALolduğunda, FAILOVER_MODE için kabul edilebilir tek değer EXTERNALolur. Bu ayarlarla, tüm el ile veya otomatik yük devretme eylemleri dış küme yöneticisi tarafından yürütülür. Olası veri kaybıyla yük devretmeyi zorlama yönergeleri için bkz. Yük Devretmeyi Zorlama.
Manuel yük devretme adımları
Yedekleme devri için birincil replika olacak ikincil replikaların senkron olması gerekir. İkincil çoğaltma zaman uyumsuzsa, kullanılabilirlik modunu değiştirin.
El ile iki adımda yük devretme.
İlk olarak, ag kaynak kaynakların sahibi olan küme düğümünden yeni bir düğüme taşıyarak el ile yük devretme.
Küme AG kaynağını devredemiyor ve bir konum kısıtlaması ekliyor. Bu kısıtlama, kaynağı yeni düğümde çalışacak şekilde yapılandırıyor. Gelecekte yük devretmeyi başarıyla gerçekleştirmek için bu kısıtlamayı kaldırın.
Adım 1. Kullanılabilirlik grubu kaynağını taşıyarak manuel yük devretme
ag_cluster adlı bir AG kaynağını nodeName2adlı küme düğümüne el ile yük devretmek için dağıtımınız için uygun komutu çalıştırın:
RHEL/Ubuntu örneği
sudo pcs resource move ag_cluster-master nodeName2 --master --lifetime=30SSLES örneği
crm resource migrate ag_cluster nodeName2 --lifetime=30S
--lifetime seçeneğini kullandığınızda, kaynağı taşımak için oluşturulan konum kısıtlaması geçicidir ve önceki örnekte 30 saniye boyunca geçerlidir.
Geçici kısıtlama otomatik olarak temizlenmemiştir ve kısıtlama listesinde görünebilir, ancak süresi dolmuş bir kısıtlama olarak görünebilir. Süresi dolan kısıtlamalar pacemaker kümesinin yük devretme davranışını etkilemez. Kaynağı taşırken --lifetime seçeneğini kullanmıyorsanız, otomatik olarak eklenen ve aşağıdaki bölümde belirtilen konum kısıtlamasını kaldırmanız gerekir.
Adım 2. Konum kısıtlamasını kaldırma
El ile yük devretme sırasında pcs komutu move veya crm komutu migrate kaynağın yeni hedef düğüme yerleştirilmesi için bir konum kısıtlaması ekler. Yeni kısıtlamayı görmek için, kaynağı el ile taşıdıktan sonra aşağıdaki komutu çalıştırın:
RHEL/Ubuntu örneği
sudo pcs constraint list --fullSLES örneği
crm config showBu, elle gerçekleştirilen yük devretme nedeniyle oluşturulan kısıtlamanın bir örneğidir.
Enabled on: Node1 (score:INFINITY) (role: Master) (id:cli-prefer-ag_cluster-master)Not
Red Hat Enterprise Linux 8.x ve Ubuntu 18.04'teki pacemaker kümelerindeki AG kaynak adı, kaynaklarla ilgili adlandırma tanıtılabilir kopya kullanacak şekilde geliştikçe ag_cluster-clone benzeyebilir.
RHEL/Ubuntu örneği
Aşağıdaki komutta, kaldırılması gereken kısıtlamanın kimliği
cli-prefer-ag_cluster-master.sudo pcs constraint list --fullbu kimliği iade eder.sudo pcs resource clear ag_cluster-masterVeya
sudo pcs constraint remove cli-prefer-ag_cluster-masterAlternatif olarak, otomatik olarak oluşturulan kısıtlamaları tek bir satırda aşağıdaki gibi hem taşıma hem de temizleme gerçekleştirebilirsiniz. Aşağıdaki örnek, Red Hat Enterprise Linux 8.x'e göre kopya terminolojisini kullanır.
sudo pcs resource move ag_cluster-clone --master nodeName2 && sleep 30 && sudo pcs resource clear ag_cluster-cloneSLES örneği
Aşağıdaki komutta kısıtlamanın kimliği
cli-prefer-ms-ag_cluster.crm config showbu kimliği iade eder.crm configure delete cli-prefer-ms-ag_cluster commit
Not
Otomatik yük devretme bir konum kısıtlaması eklemez, bu nedenle temizlik gerekmez.
Daha fazla bilgi için:
- Red Hat - Küme kaynaklarını yönetme
- Pacemaker - Kaynakları el ile taşıma
- SLES Yönetim Kılavuzu - Küme kaynaklarını yönetme
Yük devretmeye zorlama
Zorunlu yük devretme sadece olağanüstü durum kurtarma için tasarlanmıştır. Bu durumda, birincil veri merkezi devre dışı olduğundan küme yönetim araçlarıyla yük devredemezsiniz. Eşitlenmemiş bir ikincil çoğaltmaya yük devretmeye zorlarsanız, veri kaybı yaşanabilir. Yalnızca hizmeti hemen AG'ye geri yüklemeniz gerekiyorsa ve veri kaybetme riskini göze almak istiyorsanız yük devretmeye zorlayabilirsiniz.
Kümeyle etkileşime geçmek için küme yönetim araçlarını kullanamıyorsanız (örneğin, birincil veri merkezindeki bir olağanüstü durum olayından dolayı küme yanıt vermiyorsa), dış küme yöneticisini atlamak için yük devretmeyi zorlamanız gerekebilir. Bu yordam, veri kaybı risklerine neden olduğundan normal işlemler için önerilmez. Küme yönetim araçları yük devretme eylemini yürütemeyene kadar bunu kullanın. İşlevsel olarak bu yordam, Windows'da ag üzerinde zorla el ile yük devretme gerçekleştirmeye benzer.
Bu yük devretme zorlaması işlemi, yalnızca Linux üzerindeki SQL Server için geçerlidir.
Kümenin artık AG kaynağını yönetmediğini doğrulayın.
Kaynağı hedef küme düğümünde yönetilmeyen moda ayarlayın. Bu komut, kaynak aracısına kaynak izleme ve yönetimi durdurması için sinyal gönderir. Örneğin:
sudo pcs resource unmanage <resourceName>Kaynak modunu yönetilmeyen moda ayarlama girişimi başarısız olursa kaynağı silin. Örneğin:
sudo pcs resource delete <resourceName>Not
Bir kaynağı sildiğinizde, ilgili tüm kısıtlamalar da silinir.
İkincil çoğaltmayı barındıran SQL Server örneğinde oturum bağlam değişkenini
external_clusterayarlayın.EXECUTE sp_set_session_context @key = N'external_cluster', @value = N'yes';Transact-SQL ile AG'nin yükünü devretme. Aşağıdaki örnekte
<MyAg>değerini AG'nizin adıyla değiştirin. Hedef ikincil çoğaltmayı barındıran SQL Server örneğine bağlanın ve aşağıdaki komutu çalıştırın:ALTER AVAILABILITY GROUP <MyAg> FORCE_FAILOVER_ALLOW_DATA_LOSS;Zorlamalı yük devretme işleminden sonra küme kaynak izleme ve yönetimini yeniden başlatmadan veya AG kaynağını yeniden oluşturmadan önce AG'yi iyi durumda duruma getirin. Zorunlu Yük Devretmeden Sonra Temel Görevlergözden geçirin.
Küme kaynak izleme ve yönetimini yeniden başlatın:
Küme kaynak izleme ve yönetimini yeniden başlatmak için aşağıdaki komutu çalıştırın:
sudo pcs resource manage <resourceName> sudo pcs resource cleanup <resourceName>Küme kaynağını sildiyseniz yeniden oluşturun. Küme kaynağını yeniden oluşturmak için Kullanılabilirlik grubu kaynağı oluşturmayönergeleri izleyin.
Önemli
Veri kaybı riskiyle karşı karşıya olduklarından olağanüstü durum kurtarma tatbikatları için önceki adımları kullanmayın. Bunun yerine zaman uyumsuz çoğaltmayı zaman uyumlu olarak değiştirin ve normal el ile yük devretmenin yönergelerinitakip edin.
Veritabanı düzeyinde izleme ve yük devretme tetikleyicisi
CLUSTER_TYPE=EXTERNALiçin, yük devretme tetikleyici söz dizimi WSFC ile karşılaştırıldığında farklıdır. AG bir WSFC'de SQL Server örneğinde olduğunda, veritabanı için ONLINE durumundan geçiş ag sistem durumunun bir hata bildirmesine neden olur. Yanıt olarak, küme yöneticisi bir yük devretme eylemi tetikler. Linux'ta SQL Server örneği kümeyle iletişim kuramaz. Veritabanı durumunu izleme, dışındayapılır. Kullanıcı veritabanı düzeyinde yük devretme izleme ve yük devretmeyi seçtiyse (AG'yi oluştururken DB_FAILOVER=ON seçeneğini ayarlayarak), küme her izleme eylemi çalıştırdığında veritabanı durumunun ONLINE olup olmadığını denetler. Küme, sys.databases'daki durumu sorgular.
ONLINEdurumundan farklı herhangi bir durum için, otomatik yük devretme koşulları karşılanırsa, otomatik olarak bir yük devretme tetikler. Yük devretmenin gerçek zamanı izleme eyleminin sıklığına ve sys.databases.'de güncelleştirilen veritabanı durumuna bağlıdır
Otomatik yük devretme için en az bir senkron çoğaltma gerekir.
İlgili içerik
- SQL Server Kullanılabilirlik Grubu Küme Kaynakları için Red Hat Enterprise Linux Kümesini Yapılandırma
- SQL Server Kullanılabilirlik Grubu Küme Kaynakları için SUSE Linux Enterprise Server Kümesini Yapılandırma
- SQL Server Kullanılabilirlik Grubu Küme Kaynakları için Ubuntu Kümesini Yapılandırma
SQL belgelerine katkıda bulunma
SQL içeriğini kendiniz düzenleyebildiğinizi biliyor muydunuz? Bunu yaparsanız, belgelerimizin geliştirilmesine yardımcı olmakla kalmaz, aynı zamanda sayfaya katkıda bulunan olarak da kabul edilirsiniz.
Daha fazla bilgi için Bkz. Microsoft Learn belgelerini düzenleme.