VM'ler için sunucu ve site benzimi kuralları oluşturma
Şunlar için geçerlidir: Azure Stack HCI, sürüm 23H2 ve 22H2
Windows Admin Center veya Windows PowerShell kullanarak, kümedeki sanal makineleriniz (VM) için kolayca benzeşim ve benzeşim karşıtı kurallar oluşturabilirsiniz.
Not
Azure Stack HCI 23H2'de VM oluşturmanın ve yönetmenin önerilen yolu Azure Arc denetim düzlemini kullanmaktır. Vm'lerinizi yalnızca Azure Arc VM'lerinde kullanılamayan işlevlere ihtiyacınız varsa yönetmek için aşağıda açıklanan mekanizmayı kullanın.
Benzimi, sanal makineler (VM) gibi iki veya daha fazla kaynak grubu veya rol arasında ilişki kurarak bunları aynı sunucuda, kümede veya sitede bir arada tutan bir kuraldır. Anti benzeşim, belirtilen VM'leri veya kaynak gruplarını birbirinden ayrı tutmak için (örneğin, olağanüstü durum kurtarma için ayrı sunuculara veya ayrı sitelere yerleştirilen iki etki alanı denetleyicisi) tam tersidir.
Benzeşim ve benzeşim karşıtı kurallar, Azure'ın Kullanılabilirlik Alanları kullanma yöntemine benzer şekilde kullanılır. Azure'da vm'leri birbirinden ayrı ve birbirinden uzak veya aynı bölgede tutmak için Kullanılabilirlik Alanları yapılandırabilirsiniz.
Benzeşim ve benzeşim karşıtı kurallar kullanıldığında, kümelenmiş tüm VM'ler aynı küme düğümünde kalır veya aynı küme düğümünde birlikte olması engellenir. Bu şekilde, vm'yi düğümden çıkarmanın tek yolu bunu el ile yapmaktır. Vm'leri VHDX'in bulunduğu Küme Paylaşılan Birimi (CSV) gibi kendi depolama alanıyla birlikte de tutabilirsiniz.
Benzeşim ve benzeşim karşıtı kuralları birleştirerek, iki site arasında esnetilmiş bir küme yapılandırabilir ve VM'lerinizi içinde olmaları gereken sitede tutabilirsiniz.
Windows Admin Center kullanma
Windows Admin Center kullanarak temel benzeşim ve benzeşim karşıtı kurallar oluşturabilirsiniz.
- giriş Windows Admin Center Tüm bağlantılar'ın altında, VM kuralını oluşturmak istediğiniz sunucuyu veya kümeyi seçin.
- Araçlar'ın altında Ayarlar'ı seçin.
- Ayarlar'ın altında Benzite kuralları'nı ve ardından Benzite kuralları'nın altında Kural oluştur'u seçin.
- Kural adı'nın altında kuralınız için bir ad girin.
- Kural türü altında, VM'lerinizi aynı sunucuya veya farklı sunuculara yerleştirmek için Birlikte (aynı sunucu) veya Ayrı (farklı sunucular) seçeneğini belirleyin.
- Uygulandığı yer'in altında, bu kuralın geçerli olduğu VM'leri seçin. Kurala daha fazla VM eklemek için Ekle düğmesini kullanın.
- İşiniz bittiğinde Kural oluştur'u seçin.
- Bir kuralı silmek için kuralı seçip Kuralı sil'i seçmeniz yeterlidir.
Windows PowerShell kullanarak
Windows PowerShell kullanarak Windows Admin Center kullanmaktan daha karmaşık kurallar oluşturabilirsiniz. Genellikle, kurallarınızı kümedeki bir konak sunucusu yerine uzak bir bilgisayardan ayarlarsınız. Bu uzak bilgisayara yönetim bilgisayarı adı verilir.
Bir yönetim bilgisayarından Windows PowerShell komut çalıştırırken, yönettiğiniz kümenin adını içeren veya -Cluster
parametresini ekleyin-Name
. Varsa, bir sunucu düğümü için parametresini kullanırken -ComputerName
tam etki alanı adını (FQDN) de belirtmeniz gerekir
Yeni PowerShell cmdlet'leri
Kümeler için benşim kuralları oluşturmak için aşağıdaki yeni PowerShell cmdlet'lerini kullanın:
New-ClusterAffinityRule
cmdlet'i New-ClusterAffinityRule
yeni kurallar oluşturmak için kullanılır. Bu komutla kuralın adını ve kuralın türünü belirtirsiniz; burada:
-Name
kuralın adıdır
-RuleType
değerleri şunlardır: SameFaultDomain
| SameNode
| DifferentFaultDomain
| DifferentNode
Örnek:
New-ClusterAffinityRule -Name Rule1 -RuleType SameFaultDomain
Set-ClusterAffinityRule
Cmdlet Set-ClusterAffinityRule
, aşağıdaki durumlarda bir kuralı etkinleştirmek veya devre dışı bırakmak için kullanılır:
-Name
etkinleştirecek veya devre dışı bırakacak kuralın adıdır
-Enabled
|
Disabled
kuralı etkinleştirir veya devre dışı bırakır
Örnek:
Set-ClusterAffinityRule -Name Rule1 -Enabled
Get-ClusterAffinityRule
Cmdlet Get-ClusterAffinityRule
, belirtilen kuralı ve ne tür olduğunu görüntülemek için kullanılır. Belirtilmezse -Name
, tüm kuralları listeler.
Örnek:
Get-ClusterAffinityRule -Name Rule1
Add-ClusterGroupToAffinityRule
Add-ClusterGroupToAffinityRule
Cmdlet, belirli bir benşim kuralına bir VM rolü veya grup adı eklemek için kullanılır; burada:
-Groups
kurala eklenecek grubun veya rolün adıdır
-Name
eklenecek kuralın adıdır
Örnek:
Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1
Add-ClusterSharedVolumeToAffinityRule
, Add-ClusterSharedVolumeToAffinityRule
VM'lerinizin VHDX'in bulunduğu Küme Paylaşılan Birimi ile bir arada kalmasını sağlar. Burada:
-ClusterSharedVolumes
kurala eklemek istediğiniz CSV diskleridir
-Name
eklenecek kuralın adıdır
Örnek:
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1
Remove-ClusterAffinityRule
belirtilen Remove-ClusterAffinityRule
kuralı siler; burada -Name
kuralın adıdır.
Örnek:
Remove-ClusterAffinityRule -Name Rule1
Remove-ClusterGroupFromAffinityRule
, Remove-ClusterGroupFromAffinityRule
belirli bir kuraldan bir VM grubunu veya rolünü kaldırır ancak kuralı devre dışı bırakmaz veya silmez; burada:
-Name
kuralın adıdır
-Groups
kuraldan kaldırmak istediğiniz gruplar veya rollerdir
Örnek:
Remove-ClusterGroupFromAffinityRule -Name Rule1 -Groups Group1
Remove-ClusterSharedVolumeFromAffinityRule
Remove-ClusterSharedVolumeFromAffinityRule
Cmdlet, Küme Paylaşılan Birimlerini belirli bir kuraldan kaldırmak için kullanılır, ancak aşağıdaki durumlarda kuralı devre dışı bırakmaz veya silmez:
-ClusterSharedVolumes
kuraldan kaldırmak istediğiniz CSV diskleridir
-Name
eklenecek kuralın adıdır
Örnek:
Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1
Mevcut PowerShell cmdlet'leri
Yeni cmdlet'lerin gelişiyle birlikte, mevcut birkaç cmdlet'e fazladan yeni anahtarlar ekledik.
Move-ClusterGroup
Yeni -IgnoreAffinityRule
anahtar kuralı yoksayar ve kümelenmiş kaynak grubunu başka bir küme düğümüne taşır. Bu cmdlet hakkında daha fazla bilgi için bkz . Move-ClusterGroup.
Örnek:
Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1
Not
Taşıma kuralı geçerliyse (desteklenir), etkilenen tüm gruplar ve roller de taşınır. Bir VM taşıma işlemi bilerek bir kuralı ihlal edecekse ancak bir kerelik geçici olarak gerekliyse, taşımanın -IgnoreAffinityRule
gerçekleşmesine izin vermek için anahtarını kullanın. Bu durumda VM için bir ihlal uyarısı görüntülenir. Daha sonra kuralı gerektiği gibi yeniden etkinleştirebilirsiniz.
Start-ClusterGroup
Yeni -IgnoreAffinityRule
anahtar kuralı yoksayar ve kümelenmiş kaynak grubunu geçerli konumunda çevrimiçi duruma getirir. Bu cmdlet hakkında daha fazla bilgi için bkz. Start-ClusterGroup.
Örnek:
Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1
Benzdirme kuralı örnekleri
Benzite kuralları, kaynakları aynı sunucu, küme veya sitede tutan "birlikte" kurallardır. Benşim kurallarını ayarlamak için birkaç yaygın senaryo aşağıdadır.
1\. Senaryo
SQL Server VM'niz ve Web Sunucusu VM'niz olduğunu varsayalım. Bu iki VM'nin her zaman aynı sitede kalması gerekir, ancak sitedeki aynı küme düğümünde olması gerekmez. aşağıda gösterildiği gibi komutunu kullanmak SameFaultDomain
mümkündür:
New-ClusterAffinityRule -Name WebData -Ruletype SameFaultDomain -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1,WEB1 –Name WebData -Cluster Cluster1
Set-ClusterAffinityRule -Name WebData -Enabled 1 -Cluster Cluster1
Bu kuralı ve nasıl yapılandırıldığına bakmak için cmdlet'ini Get-ClusterAffinityRule
kullanarak çıkışı görün:
Get-ClusterAffinityRule -Name WebData -Cluster Cluster1
Name RuleType Groups Enabled
---- --------- ------ -------
WebData SameFaultDomain {SQL1, WEB1} 1
2\. Senaryo
Vm'lerin aynı küme düğümünde bulunması gerektiğini belirtme dışında yukarıdaki senaryoyu kullanalım. kullanarak SameNode
, bunu aşağıdaki gibi ayarlayabilirsiniz:
New-ClusterAffinityRule -Name WebData1 -Ruletype SameNode -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1,WEB1 –Name WebData1 -Cluster Cluster1
Set-ClusterAffinityRule -Name WebData1 -Enabled 1 -Cluster Cluster1
Kuralı ve nasıl yapılandırıldığına bakmak için cmdlet'ini Get-ClusterAffinityRule
kullanarak çıkışı görün:
Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------ -------
DC SameNode {SQL1, WEB1} 1
Benzeşim karşıtı kural örnekleri
Benzeşim karşıtı kurallar, kaynakları ayıran ve bunları farklı sunuculara, kümelere veya sitelere yerleştiren "ayrı" kurallardır.
1\. Senaryo
Her birinde aynı Azure Stack HCI çoklu site kümesinde SQL Server çalışan iki VM'niz vardır. Her VM çok fazla bellek, CPU ve depolama kaynağı kullanır. İki düğüm aynı düğümdeyse, bellek, CPU ve depolama döngüleri için rekabet eden bir veya her ikisinde de performans sorunlarına neden olabilir. Kural türü olarak ile DifferentNode
bir benzeşim karşıtı kural kullanıldığında, bu VM'ler her zaman farklı küme düğümlerinde kalır.
Bunun için örnek komutlar şöyle olabilir:
New-ClusterAffinityRule -Name SQL -Ruletype DifferentNode -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1,SQL2 –Name SQL -Cluster Cluster1
Set-ClusterAffinityRule -Name SQL -Enabled 1 -Cluster Cluster1
Kuralı ve nasıl yapılandırıldığına bakmak için cmdlet'ini Get-ClusterAffinityRule
kullanarak çıkışı görün:
Get-ClusterAffinityRule -Name SQL -Cluster Cluster1
Name RuleType Groups Enabled
---- ----------- ------- -------
SQL DifferentNode {SQL1, SQL2} 1
2\. Senaryo
İki site (hata etki alanları) içeren bir Azure Stack HCI esnetilmiş kümeniz olduğunu varsayalım. Ayrı sitelerde tutmak istediğiniz iki etki alanı denetleyiciniz var. Kural türü olarak ile DifferentFaultDomain
bir benzeşim karşıtı kural kullanıldığında, bu etki alanı denetleyicileri her zaman farklı sitelerde kalır. Bunun için örnek komutlar şöyle olabilir:
New-ClusterAffinityRule -Name DC -Ruletype DifferentFaultDomain -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups DC1,DC2 –Name DC -Cluster Cluster1
Set-ClusterAffinityRule -Name DC -Enabled 1 -Cluster Cluster1
Bu kuralı ve nasıl yapılandırıldığına bakmak için cmdlet'ini Get-ClusterAffinityRule
kullanarak çıkışı görün:
Get-ClusterAffinityRule -Name DC -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------- -------
DC DifferentFaultDomain {DC1, DC2} 1
Birleştirilmiş kural örnekleri
Benzeşim ve benzeşim karşıtı kuralları birleştirerek, çok siteli bir kümede çeşitli VM birleşimlerini kolayca yapılandırabilirsiniz. Bu senaryoda, her sitede üç VM vardır: SQL Server (SQL), Web Server (WEB) ve etki alanı denetleyicisi (DC). Birleşimlerin her biri için, tüm bunları aynı sitede tutmak için ile SameFaultDomain
benşim kurallarını kullanabilirsiniz. Ayrıca, her site için etki alanı denetleyicilerini benzeşim karşıtı kurallarla ayarlayabilir ve DifferentFaultDomain
etki alanı denetleyicisi VM'lerini aşağıda gösterildiği gibi ayrı sitelerde tutabilirsiniz:
New-ClusterAffinityRule -Name Site1Trio -Ruletype SameFaultDomain -Cluster Cluster1
New-ClusterAffinityRule -Name Site2Trio -Ruletype SameFaultDomain -Cluster Cluster1
New-ClusterAffinityRule -Name TrioApart -Ruletype DifferentFaultDomain -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1,WEB1,DC1 –Name Site1Trio -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL2,WEB2,DC2 –Name Site2Trio -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups DC1,DC2 –Name TrioApart -Cluster Cluster1
Set-ClusterAffinityRule -Name Site1Trio -Enabled 1 -Cluster Cluster1
Set-ClusterAffinityRule -Name Site2Trio -Enabled 1 -Cluster Cluster1
Set-ClusterAffinityRule -Name TrioApart -Enabled 1 -Cluster Cluster1
Kuralları ve bunların nasıl yapılandırıldıklarını görmek için, cmdlet'ini Get-ClusterAffinityRule
-Name
anahtar olmadan kullanın; oluşturulan tüm kuralları ve bunların çıkışını görebilirsiniz.
Get-ClusterAffinityRule -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------ -------
Site1Trio SameFaultDomain {SQL1, WEB1, DC1} 1
Site2Trio SameFaultDomain {SQL2, WEB2, DC2} 1
TrioApart DifferentFaultDomain {DC1, DC2} 1
Depolama benzitesi kuralları
Vm'yi ve VHDX'ini aynı küme düğümünde bir Küme Paylaşılan Birimi (CSV) üzerinde de tutabilirsiniz. Bu, CSV yeniden yönlendirmesinin oluşmasını engeller ve bu da vm'nin başlatılmasını veya durdurulmasını yavaşlatabilir. Daha önce birleştirilmiş benzeşim ve benzeşim karşıtı senaryoyu dikkate alarak, SQL VM'sini ve Küme Paylaşılan Birimi'ni aynı küme düğümünde tutabilirsiniz. Bunu yapmak için aşağıdaki komutları kullanın:
New-ClusterAffinityRule -Name SQL1CSV1 -Ruletype SameNode -Cluster Cluster1
New-ClusterAffinityRule -Name SQL2CSV2 -Ruletype SameNode -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL1 –Name SQL1CSV1 -Cluster Cluster1
Add-ClusterGroupToAffinityRule -Groups SQL2 –Name SQL2CSV2 -Cluster Cluster1
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name SQL1CSV1 -Cluster Cluster1
Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV2 -Name SQL2CSV2 -Cluster Cluster1
Set-ClusterAffinityRule -Name SQL1CSV1 -Enabled 1 -Cluster Cluster1
Set-ClusterAffinityRule -Name SQL2CSV2 -Enabled 1 -Cluster Cluster1
Bu kuralları ve bunların nasıl yapılandırıldıklarını görmek için -Name anahtarı olmadan cmdlet'ini kullanın Get-ClusterAffinityRule
ve çıkışı görüntüleyin.
Get-ClusterAffinityRule -Cluster Cluster1
Name RuleType Groups Enabled
---- -------- ------ -------
Site1Trio SameFaultDomain {SQL1, WEB1, DC1} 1
Site2Trio SameFaultDomain {SQL2, WEB2, DC2} 1
TrioApart DifferentFaultDomain {DC1, DC2} 1
SQL1CSV1 SameNode {SQL1, <CSV1-GUID>} 1
SQL2CSV2 SameNode {SQL2, <CSV2-GUID>} 1
Sonraki adımlar
VM'lerinizi yönetmeyi öğrenin. Bkz. Windows Admin Center kullanarak Azure Stack HCI'de VM'leri yönetme.