Öğretici: Linux sanal makinelerinde kullanılabilirlik grubu dinleyicisi yapılandırma
Şunlar için geçerlidir: Azure VM'de SQL Server
Bu öğreticide Azure'daki Linux sanal makinelerinde (VM'ler), Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) ve Ubuntu için SQL Server'larınız için kullanılabilirlik grubu (AG) dinleyicisi oluşturma adımları ele alınacaktır.
Nasıl yapılacağını öğrenin:
- Azure portalında yük dengeleyici oluşturma
- Yük dengeleyici için arka uç havuzunu yapılandırma
- Yük dengeleyici için yoklama oluşturma
- Yük dengeleme kurallarını ayarlama
- Kümede yük dengeleyici kaynağını oluşturma
- AG dinleyicisi oluşturma
- Dinleyiciye bağlanmayı test etme
- Yük devretmeyi test etme
Not
Tarafsız iletişim
Bu makalede, Microsoft'un bu bağlamda kullanıldığında rahatsız edici olarak değerlendiren bağımlı terimine yönelik başvurular yer alır. Terim şu anda yazılımda göründüğünden bu makalede görünür. Terim yazılımdan kaldırıldığında, bunu makaleden kaldıracağız.
Önkoşul
Öğretici: Azure'daki RHEL sanal makinelerinde SQL Server için kullanılabilirlik gruplarını yapılandırma öğreticisini tamamlayın.
Azure portalında yük dengeleyici oluşturma
Aşağıdaki yönergeler, Yük dengeleyici ve kullanılabilirlik grubu dinleyicisini yapılandırma (Azure VM'lerinde SQL Server) makalesinin Azure portalındaki yük dengeleyiciyi oluşturma ve yapılandırma bölümündeki 1 ile 4 arasında adımlarda size yol gösterir.
Yük dengeleyiciyi oluşturma
Azure portalında SQL Server sanal makinelerini içeren kaynak grubunu açın.
Kaynak grubunda Ekle'yi seçin.
Yük dengeleyiciyi arayın ve arama sonuçlarında Microsoft tarafından yayımlanan Yük Dengeleyici'yi seçin.
Load Balancer bölmesinde Oluştur'u seçin.
Yük dengeleyici oluştur iletişim kutusunda yük dengeleyiciyi aşağıdaki gibi yapılandırın:
Ayar Değer Ad Yük dengeleyiciyi temsil eden bir metin adı. Örneğin, sqlLB
.Tür İç Sanal ağ Oluşturulan varsayılan sanal ağ olarak adlandırılmalıdır VM1VNET
.Alt ağ SQL Server örneklerinin içinde olduğu alt ağı seçin. Varsayılan değer olmalıdır VM1Subnet
.IP adresi ataması Static Özel IP adresi Kümede virtualip
oluşturulan IP adresini kullanın.Abonelik Kaynak grubunuz için kullanılan aboneliği kullanın. Kaynak grubu SQL Server örneklerinin içinde olduğu kaynak grubunu seçin. Konum SQL Server örneklerinin bulunduğu Azure konumunu seçin.
Arka uç havuzunu yapılandırma
Azure arka uç adres havuzu arka uç havuzunu çağırır. Bu durumda arka uç havuzu, AG'nizdeki üç SQL Server örneğinin adresleridir.
Kaynak grubunuzda, oluşturduğunuz yük dengeleyiciyi seçin.
Ayarlar'da Arka uç havuzları'nı seçin.
Arka uç havuzlarında, arka uç adres havuzu oluşturmak için Ekle'yi seçin.
Arka uç havuzu ekle bölümünde, Ad'ın altında arka uç havuzu için bir ad yazın.
İlişkili'nin altında Sanal makine'yi seçin.
Ortamdaki her sanal makineyi seçin ve uygun IP adresini her seçimle ilişkilendirin.
Ekle'yi seçin.
Yoklama oluşturma
Araştırma, Azure'ın şu anda AG dinleyicisinin hangi SQL Server örneklerinin sahibi olduğunu nasıl doğruladığı tanımlar. Azure, araştırmayı oluştururken tanımladığınız bir bağlantı noktasındaki IP adresine göre hizmeti yoklar.
Yük dengeleyici Ayarları bölmesinde Sistem durumu yoklamaları'nı seçin.
Sistem durumu yoklamaları bölmesinde Ekle'yi seçin.
Araştırma ekle bölmesinde araştırmayı yapılandırın. Araştırmayı yapılandırmak için aşağıdaki değerleri kullanın:
Ayar Değer Ad Araştırmayı temsil eden bir metin adı. Örneğin, SQLAlwaysOnEndPointProbe
.Protokol TCP
Bağlantı noktası Kullanılabilir herhangi bir bağlantı noktasını kullanabilirsiniz. Örneğin, 59999
.Aralık 5
Sağlıksız durum eşiği 2
Tamam'ı seçin.
Tüm sanal makinelerinizde oturum açın ve aşağıdaki komutları kullanarak yoklama bağlantı noktasını açın:
sudo firewall-cmd --zone=public --add-port=59999/tcp --permanent sudo firewall-cmd --reload
Azure araştırmayı oluşturur ve ardından ag için dinleyiciye sahip olan SQL Server örneğini test etmek için kullanır.
Yük dengeleme kurallarını ayarlama
Yük dengeleme kuralları, yük dengeleyicinin trafiği SQL Server örneklerine nasıl yönlendireceklerini yapılandırıyor. Bu yük dengeleyici için, aynı anda AG dinleyici kaynağının üç SQL Server örneğinden yalnızca biri sahip olduğundan doğrudan sunucu döndürmeyi etkinleştirirsiniz.
Yük dengeleyici Ayarları bölmesinde Yük dengeleme kuralları'nı seçin.
Yük dengeleme kuralları bölmesinde Ekle'yi seçin.
Yük dengeleme kuralları ekle bölmesinde yük dengeleme kuralını yapılandırın. Aşağıdaki ayarları kullanın:
Ayar Değer Ad Yük dengeleme kurallarını temsil eden bir metin adı. Örneğin, SQLAlwaysOnEndPointListener
.Protokol TCP Bağlantı noktası 1433
Arka uç bağlantı noktası 1433
. Bu kural Kayan IP (doğrudan sunucu dönüşü) kullandığından bu değer yoksayılır.Sonda Bu yük dengeleyici için oluşturduğunuz yoklamanın adını kullanın. Oturum kalıcılığı Hiçbiri Boşta kalma zaman aşımı (dakika) 4
Kayan IP (doğrudan sunucu dönüşü) Etkin Tamam'ı seçin.
Azure yük dengeleme kuralını yapılandırıyor. Artık yük dengeleyici, trafiği AG dinleyicisini barındıran SQL Server örneğine yönlendirecek şekilde yapılandırıldı.
Bu noktada, kaynak grubunun tüm SQL Server makinelerine bağlanan bir yük dengeleyicisi vardır. Yük dengeleyici ayrıca SQL Server Always On AG dinleyicisi için bir IP adresi de içerir, böylece tüm makineler AG'ler için isteklere yanıt verebilir.
Kullanılabilirlik grubu dinleyici kaynağını oluşturma
Pacemaker'da yük dengeleyici kaynağı oluşturmadan önce önce dinleyici kaynağını oluşturun:
sudo crm configure primitive virtualip \
ocf:heartbeat:IPaddr2 \
params ip=x.y.z.a
Önceki örnekte yük x.y.z.a
dengeleyici ön uç IP adresine başvurur.
Kümede yük dengeleyici kaynağını oluşturma
Yapılandırdığınız dağıtımla ilgili yönergeleri izleyin.
Birincil sanal makinede oturum açın. Azure yük dengeleyici yoklama bağlantı noktasını etkinleştirmek için kaynağı oluşturmamız gerekir (örneğimizde 59999 kullanılır). Şu komutu çalıştırın:
sudo pcs resource create azure_load_balancer azure-lb port=59999
ve
azure_load_balancer
kaynağını içerenvirtualip
bir grup oluşturun:sudo pcs resource group add virtualip_group azure_load_balancer virtualip
Kısıtlama ekleme
Azure yük dengeleyici IP adresinin ve AG kaynağının aynı düğümde çalıştığından emin olmak için bir birlikte bulundurma kısıtlaması yapılandırılmalıdır. Şu komutu çalıştırın:
sudo pcs constraint colocation add azure_load_balancer ag_cluster-master INFINITY with-rsc-role=Master
AG kaynağının Azure yük dengeleyici IP adresinden önce çalışır durumda olduğundan emin olmak için bir sıralama kısıtlaması oluşturun. Birlikte bulundurma kısıtlaması bir sıralama kısıtlaması anlamına gelir, ancak bu bunu zorlar.
sudo pcs constraint order promote ag_cluster-master then start azure_load_balancer
Kısıtlamaları doğrulamak için aşağıdaki komutu çalıştırın:
sudo pcs constraint list --full
Aşağıdaki çıkışı görmeniz gerekir:
Location Constraints: Ordering Constraints: promote ag_cluster-master then start virtualip (kind:Mandatory) (id:order-ag_cluster-master-virtualip-mandatory) promote ag_cluster-master then start azure_load_balancer (kind:Mandatory) (id:order-ag_cluster-master-azure_load_balancer-mandatory) Colocation Constraints: virtualip with ag_cluster-master (score:INFINITY) (with-rsc-role:Master) (id:colocation-virtualip-ag_cluster-master-INFINITY) azure_load_balancer with ag_cluster-master (score:INFINITY) (with-rsc-role:Master) (id:colocation-azure_load_balancer-ag_cluster-master-INFINITY) Ticket Constraints:
Kullanılabilirlik grubu dinleyicisini oluşturma
Birincil düğümde sqlcmd veya SSMS'de aşağıdaki komutu çalıştırın. Aşağıda kullanılan IP adresini IP adresiyle
virtualip
değiştirin.SQL Server 2022 ve sonraki sürümleri:
ALTER AVAILABILITY GROUP [ag1] ADD LISTENER 'ag1-listener' ( WITH IP(( '10.0.0.7', '0.0.0.0' )), PORT = 1433 ); GO
SQL Server 2017 ve SQL Server 2019:
ALTER AVAILABILITY GROUP [ag1] ADD LISTENER 'ag1-listener' ( WITH IP(( '10.0.0.7', '255.255.255.255' )), PORT = 1433 ); GO
Her VM düğümünde oturum açın. Konaklar dosyasını açmak ve her makinede için ana bilgisayar adı çözümlemesini
ag1-listener
ayarlamak için aşağıdaki komutu kullanın.sudo vi /etc/hosts
Vi düzenleyicisinde, metin eklemek için yazın
i
ve boş bir satıra IP'siniag1-listener
ekleyin. Ardından IP'nin yanına bir boşluk ekleyinag1-listener
.<IP of ag1-listener> ag1-listener
Vi düzenleyicisinden çıkmak için önce Esc tuşuna basın ve ardından dosyayı yazmak ve çıkmak için komutunu
:wq
girin. Bunu her düğümde yapın.
Dinleyiciyi ve yük devretmeyi test edin
Bu bölüm, SQL Server AG dinleyicisinde oturum açmayı ve yük devretme testi gerçekleştirmeyi kapsar.
Kullanılabilirlik grubu dinleyicisini kullanarak SQL Server'da oturum açmayı test etme
SQL Server'ın birincil düğümünde AG dinleyici adını kullanarak oturum açmak için sqlcmd kullanın:
- Daha önce oluşturulmuş bir oturum açma bilgilerini kullanın ve değerini doğru parolayla değiştirin
<YourPassword>
. Aşağıdaki örnek, SQL Server ile oluşturulan oturum açma bilgilerini kullanırsa
.
sqlcmd -S ag1-listener -U sa -P <YourPassword>
- Daha önce oluşturulmuş bir oturum açma bilgilerini kullanın ve değerini doğru parolayla değiştirin
Bağlandığınız sunucunun adını denetleyin. sqlcmd'de aşağıdaki komutu çalıştırın:
SELECT @@SERVERNAME;
Çıkışınız geçerli birincil düğümü göstermelidir. Bu, yük devretmeyi hiç test etmediyseniz olmalıdır
VM1
.komutunu yazarak SQL Server oturumundan
exit
çıkın.
Yük devretme testi
Birincil çoğaltmaya veya başka bir çoğaltmaya el ile yük devretmek için
<VM2>
aşağıdaki komutu çalıştırın. değerini sunucu adınızın değeriyle değiştirin<VM2>
.sudo pcs resource move ag_cluster-master <VM2> --master
Kısıtlamalarınızı denetlerseniz, el ile yük devretme nedeniyle başka bir kısıtlama eklendiğini görürsünüz:
sudo pcs constraint list --full
Kimliği
cli-prefer-ag_cluster-master
olan bir kısıtlamanın eklendiğini görürsünüz.Aşağıdaki komutu kullanarak id
cli-prefer-ag_cluster-master
ile kısıtlamayı kaldırın:sudo pcs constraint remove cli-prefer-ag_cluster-master
komutunu
sudo pcs resource
kullanarak küme kaynaklarınızı denetleyin ve birincil örneğin artık<VM2>
olduğunu görmeniz gerekir.Not
Bu makalede, Microsoft'un artık kullanmadığı köle terimi geçmektedir. Terim yazılımdan kaldırıldığında, bu makaleden kaldıracağız.
[<username>@<VM1> ~]$ sudo pcs resource Master/Slave Set: ag_cluster-master [ag_cluster] Masters: [ <VM2> ] Slaves: [ <VM1> <VM3> ] Resource Group: virtualip_group azure_load_balancer (ocf::heartbeat:azure-lb): Started <VM2> virtualip (ocf::heartbeat:IPaddr2): Started <VM2>
Dinleyici adını kullanarak birincil çoğaltmanızda oturum açmak için sqlcmd kullanın:
- Daha önce oluşturulmuş bir oturum açma bilgilerini kullanın ve değerini doğru parolayla değiştirin
<YourPassword>
. Aşağıdaki örnek, SQL Server ile oluşturulan oturum açma bilgilerini kullanırsa
.
sqlcmd -S ag1-listener -U sa -P <YourPassword>
- Daha önce oluşturulmuş bir oturum açma bilgilerini kullanın ve değerini doğru parolayla değiştirin
Bağlı olduğunuz sunucuyu denetleyin. sqlcmd'de aşağıdaki komutu çalıştırın:
SELECT @@SERVERNAME;
Artık yük devreddiğiniz VM'ye bağlı olduğunuzu görmeniz gerekir.
Sonraki adım
SQL Server örnekleriniz için bir kullanılabilirlik grubu dinleyicisi kullanmak için bir yük dengeleyici oluşturmanız ve yapılandırmanız gerekir.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin