FCI VNN için Azure yük dengeleyici yapılandırma - Azure VM’lerinde SQL Server
Şunlar için geçerlidir: Azure VM'de SQL Server
İpucu
Kullanılabilirlik grubu dağıtmak için birçok yöntem vardır. Dağıtımınızı basitleştirin ve aynı Azure sanal ağı içindeki birden çok alt ağda SQL Server sanal makinelerinizi (VM' ler) oluşturarak Always On kullanılabilirlik grubunuz için Azure Load Balancer veya dağıtılmış ağ adı (DNN) gereksinimini ortadan kaldırın. Kullanılabilirlik grubunuzu zaten tek bir alt ağda oluşturduysanız, bunu çok alt ağlı bir ortama geçirebilirsiniz.
Azure sanal makinelerinde 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, kümelenmiş kaynağın Azure'da kullandığı sanal ağ adının (VNN) 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 yük devretme kümesi örneğine yönlendirir.
SQL Server 2019 CU2 ve üzeri için alternatif bir bağlantı seçeneği için bunun yerine dağıtılmış ağ adını (DNN) göz önünde bulundurun. DNN, basitleştirilmiş yapılandırma ve geliştirilmiş yük devretme sunar.
Önkoşullar
Bu makaledeki adımları tamamlamadan önce şunlara sahip olmanız gerekir:
- Azure Load Balancer'ın FCI'niz için uygun bağlantı seçeneği olduğunu belirledik.
- FCI'nizi yapılandırdı.
- PowerShell'in en son sürümü yüklendi.
Yük dengeleyici oluşturma
Şu yük dengeleyici türlerinden birini oluşturabilirsiniz:
İç: İç yük dengeleyiciye yalnızca ağın içindeki özel kaynaklardan erişilebilir. İç yük dengeleyiciyi ve kurallarını yapılandırırken, ön uç IP adresi olarak FCI IP adresini kullanın.
Dış: Dış yük dengeleyici, trafiği genel kaynaklardan iç kaynaklara yönlendirebilir. Dış yük dengeleyici yapılandırırken, FCI IP adresi gibi bir genel IP adresi kullanamazsınız.
Dış yük dengeleyici kullanmak için, FCI ile aynı alt ağda başka bir IP adresiyle çakışmayan bir IP adresini mantıksal olarak ayırın. Bu adresi yük dengeleme kuralları için ön uç IP adresi olarak kullanın.
Yük dengeleyiciyi oluşturmak için:
Azure portalında sanal makineleri içeren kaynak grubuna gidin.
Ekle'yi seçin. yük dengeleyici için Azure Market arama. Load Balancer'ı seçin.
Oluştur'u belirleyin.
Yük dengeleyici oluştur'un Temel Bilgiler sekmesinde 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.
- SKU: Standart.
- Tür: Genel veya İç. İç yük dengeleyiciye sanal ağ içinden erişilebilir. Çoğu Azure uygulaması iç yük dengeleyici kullanabilir. Uygulamanızın doğrudan İnternet üzerinden SQL Server'a erişmesi gerekiyorsa genel yük dengeleyici kullanın.
- Katman: Bölgesel.
İleri: Ön uç IP yapılandırması'nı seçin.
Ön uç IP yapılandırması ekle'yi seçin.
Aşağıdaki değerleri kullanarak ön uç IP adresini ayarlayın:
- Ad: Ön uç IP yapılandırmasını tanımlayan ad.
- Sanal ağ: Sanal makinelerle aynı ağ.
- Alt ağ: Sanal makinelerle aynı alt ağ.
- Atama: Statik.
- IP adresi: Kümelenmiş ağ kaynağına atadığınız IP adresi.
- Kullanılabilirlik alanı: IP adresinizin dağıtılacağı isteğe bağlı bir kullanılabilirlik alanı.
Ön uç IP adresini oluşturmak için Ekle'yi seçin.
Yük dengeleyiciyi oluşturmak için Gözden Geçir + Oluştur'u seçin.
Arka uç havuzunu yapılandırma
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.
Arka uç havuzları'yı ve ardından +Ekle'yi seçin.
Ad için arka uç havuzu için bir ad belirtin.
Arka Uç Havuzu Yapılandırması için NIC'yi seçin.
Arka uç havuzunu VM'leri içeren kullanılabilirlik kümesiyle ilişkilendirmek için Ekle'yi seçin.
Sanal makine'nin altında küme düğümleri olarak katılacak sanal makineleri seçin. FCI'yi barındıracak tüm sanal makineleri eklediğinizden emin olun.
Her vm'nin yalnızca birincil IP adresini ekleyin. İkincil IP adresi eklemeyin.
Sanal makineleri arka uç havuzuna eklemek için Ekle'yi seçin.
Arka uç havuzunu oluşturmak için Kaydet'i seçin.
Sistem durumu yoklaması yapılandırma
Yük dengeleyici bölmesinde Sistem durumu yoklamaları'nı seçin.
Sistem durumu yoklaması ekle bölmesinde aşağıdaki parametreleri 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, örnek 59999 NUMARALı TCP bağlantı noktasını kullanır.
- Aralık: 5 Saniye.
Ekle'yi seçin.
Yük dengeleme kurallarını ayarlama
Yük dengeleyici bölmesinde Yük dengeleme kuralları'nı seçin.
Ekle'yi seçin.
Şu parametreleri ayarlayın:
- Ad: Yük dengeleme kuralı için bir ad.
- Ön uç IP adresi: Ön ucu yapılandırırken ayarladığınız IP adresi.
- Arka uç havuzu: Yük dengeleyici için hedeflenen sanal makineleri içeren arka uç havuzu.
- HA Bağlantı Noktaları: TCP ve UDP protokolleri için tüm bağlantı noktalarında yük dengelemeyi etkinleştirir.
- Protokol: TCP.
- Bağlantı noktası: SQL Server TCP bağlantı noktası. Varsayılan değer 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ı.
- Sistem durumu yoklaması: Daha önce yapılandırdığınız sistem durumu yoklaması.
- Oturum kalıcılığı: Yok.
- Boşta kalma zaman aşımı (dakika): 4.
- Kayan IP (doğrudan sunucu dönüşü): Etkin.
Kaydet'i seçin.
Küme yoklaması yapılandırma
PowerShell'de küme yoklaması bağlantı noktası parametresini ayarlayın.
Aşağıdaki betikteki değişkenleri ortamınızdaki değerlerle güncelleştirin. Betikten köşeli ayraçları (<
ve >
) kaldırın.
$ClusterNetworkName = "<Cluster Network Name>"
$IPResourceName = "<SQL Server FCI 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ğişken | Value |
---|---|
ClusterNetworkName |
Ağ için Windows Server yük devretme kümesinin 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. |
IPResourceName |
SQL Server FCI'nın IP adresinin kaynak adı. Yük Devretme Kümesi Yöneticisi>Rolleri'ndeki SQL Server FCI 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 IP adresi. Bu adres Azure portalında iç yük dengeleyicinin ön uç adresi olarak yapılandırılır. Bu aynı zamanda SQL Server FCI'nın IP adresidir. Bunu Yük Devretme Kümesi Yöneticisi'nde, değerini IPResourceName bulduğunuz özellikler sayfasında bulabilirsiniz. |
ProbePort |
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'de tüm küme parametrelerini görebilirsiniz. Şu betiği çalıştırın:
Get-ClusterResource $IPResourceName | Get-ClusterParameter
bağlantı dizesi değiştirme
Bunu destekleyen istemciler için bağlantı dizesi ekleyinMultiSubnetFailover=True
. MultiSubnetFailover
Bağlantı seçeneği gerekli olmasa da, daha hızlı bir alt ağ yük devretme avantajı sağlar. Bunun nedeni, istemci sürücüsünün her IP adresi için bir TCP yuvasını paralel olarak açmaya çalışmasıdır. İstemci sürücüsü, ilk IP adresinin başarılı bir şekilde yanıt vermesini bekler. Başarılı yanıt sonrasında istemci sürücüsü bağlantı için bu IP adresini kullanır.
İstemciniz parametresini MultiSubnetFailover
desteklemiyorsa, yük devretme sonrasında bağlantı gecikmelerini önlemek için ve HostRecordTTL
ayarlarını değiştirebilirsinizRegisterAllProvidersIP
.
Ve HostRecordTTL
ayarlarını değiştirmek için PowerShell'i RegisterAllProvidersIp
kullanın:
Get-ClusterResource yourFCIname | Set-ClusterParameter RegisterAllProvidersIP 0
Get-ClusterResource yourFCIname | Set-ClusterParameter HostRecordTTL 300
Daha fazla bilgi edinmek için SQL Server'da dinleyici bağlantısı zaman aşımı hakkındaki belgelere bakın.
İpucu
MultiSubnetFailover
Tek bir alt ağa yayılan HADR çözümleri için bile parametresinitrue
bağlantı dizesi olarak ayarlayın. Bu ayar, bağlantı dizesi güncelleştirmeye gerek kalmadan gelecekte alt ağların yayılmasını destekler.- Varsayılan olarak, istemciler küme DNS kayıtlarını 20 dakika boyunca önbelleğe alır. 'yi azaltarak
HostRecordTTL
, önbelleğe alınan kayıt için yaşam süresini (TTL) azaltmış olursunuz. Eski istemciler daha hızlı bir şekilde yeniden bağlanabilir. Bu nedenle, ayarınHostRecordTTL
azaltılması DNS sunucularına yönelik trafiği artırabilir.
Yük devretme testi
Küme işlevselliğini doğrulamak için kümelenmiş kaynağın yük devretmesini test edin:
- Uzak Masaüstü Protokolü'nü (RDP) kullanarak SQL Server küme düğümlerinden birine bağlanın.
- Yük Devretme Kümesi Yöneticisi’ni açın. Roller’i seçin. SQL Server FCI rolünün sahibi olan düğüme dikkat edin.
- SQL Server FCI rolüne sağ tıklayın.
- Taşı'yı ve ardından Mümkün Olan En İyi Düğüm'e tıklayın.
Yük Devretme Kümesi Yöneticisi rolü gösterir ve kaynakları çevrimdışı olur. Ardından kaynaklar taşınır ve diğer düğümde yeniden çevrimiçi 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'yu açın ve SQL Server FCI adına bağlanın.
Not
Gerekirse SQL Server Management Studio'yu indirebilirsiniz.
Sonraki adımlar
Daha fazla bilgi edinmek için şu makalelere bakın: