AG VNN dinleyicisi için yük dengeleyiciyi yapılandırma

Şunlar için geçerlidir: Azure VM'de SQL Server

İpucu

SQL Server VM'lerinizi aynı Azure sanal ağındaki birden çok alt ağda oluşturarak Always On kullanılabilirlik (AG) grubunuz için Azure Load Balancer gereksinimini ortadan kaldırın.

Azure Sanal Makineler'da kümeler, bir kerede bir küme düğümünde olması gereken bir IP adresini tutmak için yük dengeleyici kullanır. Bu çözümde yük dengeleyici, SQL Server VM'ler tek bir alt ağda olduğunda AlwaysOn kullanılabilirlik grubu (AG) için sanal ağ adı (VNN) dinleyicisinin IP adresini tutar.

Bu makalede, Azure Load Balancer hizmetini kullanarak yük dengeleyici yapılandırmayı öğretir. Yük dengeleyici, yüksek kullanılabilirlik ve olağanüstü durum kurtarma (HADR) için Azure VM'lerinde SQL Server ile trafiği kullanılabilirlik grubu (AG) dinleyicinize yönlendirir.

SQL Server 2019 CU8 ve sonraki sürümlerde bulunan müşteriler için alternatif bir bağlantı seçeneği için, basitleştirilmiş yapılandırma ve geliştirilmiş yük devretme için bunun yerine bir DNN dinleyicisi kullanmayı göz önünde bulundurun.

Önkoşullar

Bu makaledeki adımları tamamlamadan önce şunlara sahip olmanız gerekir:

Yük dengeleyici oluşturma

İç yük dengeleyici veya dış yük dengeleyici oluşturabilirsiniz. İç yük dengeleyici yalnızca ağ içinde bulunan erişilen özel kaynaklardan olabilir. Dış yük dengeleyici, trafiği genel kaynaklardan iç kaynaklara yönlendirebilir. İç yük dengeleyici yapılandırırken, yük dengeleme kurallarını yapılandırırken ön uç IP'sinin kullanılabilirlik grubu dinleyici kaynağıyla aynı IP adresini kullanın. Bir dış yük dengeleyici yapılandırdığınızda, kullanılabilirlik grubu dinleyicisi ile aynı IP adresini kullanamazsınız; dinleyici IP adresi genel IP adresi olamaz. Bu nedenle, dış yük dengeleyici kullanmak için, diğer IP adresleriyle çakışmayan kullanılabilirlik grubuyla aynı alt ağda mantıksal olarak bir IP adresi ayırın ve bu adresi yük dengeleme kurallarının ön uç IP adresi olarak kullanın.

Yük dengeleyiciyi oluşturmak için Azure portal kullanın:

  1. Azure portal, sanal makineleri içeren kaynak grubuna gidin.

  2. Add (Ekle) seçeneğini belirleyin. Load Balancer için arama Azure Market. Load Balancer'ı seçin.

  3. Oluştur’u seçin.

  4. Aşağıdaki değerleri kullanarak yük dengeleyiciyi ayarlayın:

    • Abonelik: Azure aboneliğiniz.
    • Kaynak grubu: Sanal makinelerinizi içeren kaynak grubu.
    • Ad: Yük dengeleyiciyi tanımlayan ad.
    • Bölge: Sanal makinelerinizi içeren Azure konumu.
    • Tür: Genel veya özel. Özel yük dengeleyiciye sanal ağ içinden erişilebilir. Çoğu Azure uygulaması özel yük dengeleyici kullanabilir. Uygulamanızın doğrudan İnternet üzerinden SQL Server erişmesi gerekiyorsa genel yük dengeleyici kullanın.
    • SKU: Standart.
    • Sanal ağ: Sanal makinelerle aynı ağ.
    • IP adresi ataması: Statik.
    • Özel IP adresi: Kümelenmiş ağ kaynağına atadığınız IP adresi.

    Aşağıdaki görüntüde Yük dengeleyici oluşturma kullanıcı arabirimi gösterilmektedir:

    Yük dengeleyiciyi ayarlama

Arka uç havuzunu yapılandırma

  1. Sanal makineleri içeren Azure kaynak grubuna dönün ve yeni yük dengeleyiciyi bulun. Kaynak grubundaki görünümü yenilemeniz gerekebilir. Yük dengeleyiciyi seçin.

  2. Arka uç havuzları'nın ardından Ekle'yi seçin.

  3. Arka uç havuzunu VM'leri içeren kullanılabilirlik kümesiyle ilişkilendirin.

  4. Hedef ağ IP yapılandırmaları'nın altında SANAL MAKİNE'yi seçin ve küme düğümleri olarak katılacak sanal makineleri seçin. Kullanılabilirlik grubunu barındıracak tüm sanal makineleri eklediğinizden emin olun.

  5. Arka uç havuzunu oluşturmak için Tamam'ı seçin.

Sistem durumu araştırmasını yapılandırma

  1. Yük dengeleyici bölmesinde Sistem durumu yoklamaları'nı seçin.

  2. Add (Ekle) seçeneğini belirleyin.

  3. Sistem durumu yoklaması ekle bölmesinde aşağıdaki sistem durumu yoklaması parametrelerini ayarlayın:

    • Ad: Sistem durumu yoklaması için bir ad.
    • Protokol: TCP.
    • Bağlantı noktası: VM'yi hazırlarken sistem durumu yoklaması için güvenlik duvarında oluşturduğunuz bağlantı noktası. Bu makalede, örnekte TCP bağlantı noktası 59999kullanılır.
    • Aralık: 5 Saniye.
    • İyi durumda olmayan eşik: 2 ardışık hata.
  4. Tamam’ı seçin.

Yük dengeleme kurallarını ayarlama

Yük dengeleyici için yük dengeleme kurallarını ayarlayın.

  1. Yük dengeleyici bölmesinde Yük dengeleme kuralları'nı seçin.

  2. Add (Ekle) seçeneğini belirleyin.

  3. Yük dengeleme kuralı parametrelerini ayarlayın:

    • Ad: Yük dengeleme kurallarının adı.
    • Ön uç IP adresi: AG dinleyicisinin kümelenmiş ağ kaynağının IP adresi.
    • Bağlantı noktası: TCP bağlantı noktasını SQL Server. Varsayılan örnek bağlantı noktası 1433'dür.
    • Arka uç bağlantı noktası: Kayan IP'yi (doğrudan sunucu dönüşü) etkinleştirdiğinizde Bağlantı noktası değeriyle aynı bağlantı noktası.
    • Arka uç havuzu: Daha önce yapılandırdığınız arka uç havuzu adı.
    • Sistem durumu araştırması: Daha önce yapılandırdığınız sistem durumu araştırması.
    • Oturum kalıcılığı: Yok.
    • Boşta kalma zaman aşımı (dakika): 4.
    • Kayan IP (doğrudan sunucu dönüşü): Etkin.
  4. Tamam’ı seçin.

Küme araştırmasını yapılandırma

PowerShell'de küme yoklaması bağlantı noktası parametresini ayarlayın.

Küme yoklaması bağlantı noktası parametresini ayarlamak için aşağıdaki betikteki değişkenleri ortamınızdaki değerlerle güncelleştirin. Betikten açılı ayraçları (< ve >) kaldırın.

$ClusterNetworkName = "<Cluster Network Name>"
$IPResourceName = "<Availability group Listener IP Address Resource Name>" 
$ILBIP = "<n.n.n.n>" 
[int]$ProbePort = <nnnnn>

Import-Module FailoverClusters

Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}

Aşağıdaki tabloda, güncelleştirmeniz gereken değerler açıklanmaktadır:

Değer Açıklama
Cluster Network Name Ağ için Windows Server Yük Devretme Kümesi adı. Yük Devretme Kümesi Yöneticisi>Ağları'nda ağa sağ tıklayın ve Özellikler'i seçin. Doğru değer Genel sekmesindeki Ad’ın altında yer alır.
AG listener IP Address Resource Name AG dinleyicisinin IP adresinin kaynak adı. Yük Devretme Kümesi Yöneticisi>Rolleri'ndeki kullanılabilirlik grubu rolünün altında, Sunucu Adı'nın altında IP adresi kaynağına sağ tıklayın ve Özellikler'i seçin. Doğru değer Genel sekmesindeki Ad’ın altında yer alır.
ILBIP İç yük dengeleyicinin (ILB) IP adresi. Bu adres, Azure portal ILB'nin ön uç adresi olarak yapılandırılır. Bu, kullanılabilirlik grubu dinleyicisi ile aynı IP adresidir. Bunu Yük Devretme Kümesi Yöneticisi'nde, öğesini bulduğunuz <AG listener IP Address Resource Name>aynı özellikler sayfasında bulabilirsiniz.
nnnnn Yük dengeleyicinin sistem durumu yoklamasında yapılandırdığınız yoklama bağlantı noktası. Kullanılmayan herhangi bir TCP bağlantı noktası geçerlidir.
"SubnetMask" Küme parametresi için alt ağ maskesi. Tcp IP yayın adresi olmalıdır: 255.255.255.255.

Küme araştırmasını ayarladıktan sonra, PowerShell'deki tüm küme parametrelerini görebilirsiniz. Şu betiği çalıştırın:

Get-ClusterResource $IPResourceName | Get-ClusterParameter

Bağlantı dizesini değiştirme

Bunu destekleyen istemciler için bağlantı dizesine öğesini MultiSubnetFailover=True ekleyin. MultiSubnetFailover bağlantı seçeneği gerekli olmasa da, daha hızlı bir alt ağ yük devretmesi avantajı sağlar. Bunun nedeni, istemci sürücüsünün her IP adresi için paralel olarak bir TCP yuvası açmayı denemesidir. İstemci sürücüsü ilk IP'nin başarılı bir şekilde yanıt vermesini bekler ve yanıtladıktan sonra bağlantı için bunu kullanır.

İstemciniz MultiSubnetFailover parametresini desteklemiyorsa, yük devretme sonrasında bağlantı gecikmelerini önlemek için RegisterAllProvidersIP ve HostRecordTTL ayarlarını değiştirebilirsiniz.

RegisterAllProvidersIp ve HostRecordTTL ayarlarını değiştirmek için PowerShell kullanın:

Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0  
Get-ClusterResource yourListenerName|Set-ClusterParameter HostRecordTTL 300 

Daha fazla bilgi edinmek için SQL Server dinleyici bağlantısı zaman aşımı belgelerine bakın.

İpucu

  • Bağlantı dizelerini güncelleştirmeye gerek kalmadan gelecekte alt ağlara yayılmayı desteklemek için tek bir alt ağa yayılan HADR çözümleri için bile bağlantı dizesinde MultiSubnetFailover = true parametresini ayarlayın.
  • Varsayılan olarak, istemciler küme DNS kayıtlarını 20 dakika boyunca önbelleğe alır. HostRecordTTL'yi azaltarak önbelleğe alınan kayıt için Yaşam Süresi'ni (TTL) azaltırsınız; eski istemciler daha hızlı bir şekilde yeniden bağlanabilir. Bu nedenle HostRecordTTL ayarının azaltılması, DNS sunucularına yönelik trafiğin artmasına neden olabilir.

Yük devretme testi

Küme işlevselliğini doğrulamak için kümelenmiş kaynağın yük devretmesini test edin.

Aşağıdaki adımları izleyin:

  1. SQL Server Management Studio) öğesini açın ve kullanılabilirlik grubu dinleyicinize bağlanın.
  2. Nesne Gezgini'daAlways On Kullanılabilirlik Grubu'nun kapsamını genişletin.
  3. Kullanılabilirlik grubuna sağ tıklayın ve Yük Devretme'yi seçin.
  4. Kullanılabilirlik grubunun yükünü ikincil çoğaltmaya devretmek için sihirbaz istemlerini izleyin.

Çoğaltmalar rol değiştirdiğinde ve her ikisi de eşitlendiğinde yük devretme başarılı olur.

Bağlantıyı test etme

Bağlantıyı test etmek için aynı sanal ağdaki başka bir sanal makinede oturum açın. SQL Server Management Studio açın ve kullanılabilirlik grubu dinleyicisine bağlanın.

Sonraki adımlar

VNN oluşturulduktan sonra SQL Server VM'ler için küme ayarlarını iyileştirmeyi göz önünde bulundurun.

Daha fazla bilgi edinmek için şu makalelere bakın: