VM'ler için sunucu ve site benzeşliği kuralları oluşturma

Uygulama: Azure Stack HCI, sürüm 21H2 ve 20H2

Yönetim Windows veya Windows PowerShell kullanarak, bir kümede sanal makineleriniz (VM) için benzeşim ve benzeşim önleme kurallarını kolayca oluşturabilirsiniz.

Benzeşm, 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 tutmak için bir kuraldır. Benzeşme karşıtlığı, olağanüstü durum kurtarma için ayrı sunuculara veya ayrı sitelere yerleştirilen iki etki alanı denetleyicisi gibi belirtilen VM'leri veya kaynak gruplarını birbirinden ayrı tutmak için kullanılanın tersidir.

Benzeşm ve benzeşma önleme kuralları, Azure'ın benzer şekilde Kullanılabilirlik Alanları. Azure'da VM'leri Kullanılabilirlik Alanları ve birbirinden ya da aynı bölgede tutmak için azure sanal ağlarını yapılandırabilirsiniz.

Benzeşm ve benzeşma önleme kuralları kullanılarak, kümelenmiş tüm VM'ler aynı küme düğümünde kalır veya aynı küme düğümünde birlikte olması engellenebilir. Bu şekilde, vm'yi bir düğümden dışarı taşımanı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 tutalım.

Benzeşme ve benzeşme önleme kurallarını birleştirerek iki site arasında esnetilmiş bir küme yapılandırabilirsiniz ve VM'lerinizi olması gereken sitede tutabilirsiniz.

Windows Yönetim Merkezi'ni kullanma

Yönetim Merkezi'ni kullanarak temel benzeşim ve benzeşim önleme Windows oluşturabilirsiniz.

Sanal makineler ekranı

  1. Yönetim Windows giriş sayfasındaki Tüm bağlantılaraltında, VM kuralını oluşturmak istediğiniz sunucuyu veya kümeyi seçin.
  2. Araçlar'ınaltında,Ayarlar.
  3. Yeni Ayarlar,Benzeşm kuralları'nın altında,Ardından Benzeşm kuralları'nın altında Kural oluştur'a seçin.
  4. Kural adı'nınaltına kuralınız için bir ad girin.
  5. Kural türü altında, VM'lerinizi aynı sunucuya veya farklı sunuculara eklemek için Birlikte (aynı sunucu) veya Ayrı (farklı sunucular) seçeneğini kullanın.
  6. Uygulandığı yer altında,bu kuralın uygulanacağı VM'leri seçin. Kurala daha fazla VM eklemek için Ekle düğmesini kullanın.
  7. Tamamlandığında Kural oluştur'a tıklayın.
  8. Bir kuralı silmek için seçin ve Kuralı sil'e tıklayın.

Windows PowerShell kullanarak

Yönetim Merkezi'ni kullanmaya Windows PowerShell kullanarak daha Windows kurallar oluşturabilirsiniz. Kurallarınızı genellikle bir kümede konak sunucu yerine uzak bir bilgisayardan ayarlayabilirsiniz. Bu uzak bilgisayar yönetim bilgisayarı olarak adlandırılan bir bilgisayardır.

Bir yönetim Windows PowerShell komutlarını çalıştırıyorsanız, veya parametresini -Name-Cluster yönetmekte olduğunu kümenin adıyla birlikte dahil edin. Uygunsa, bir sunucu düğümü için parametresini kullanırken de tam etki alanı adını (FQDN) -ComputerName belirtmeniz gerekir

Yeni PowerShell cmdlet'leri

Kümelere benzeşm kuralları oluşturmak için aşağıdaki yeni PowerShell cmdlet'lerini kullanın:

New-ClusterAffinityRule

New-ClusterAffinityRuleCmdlet 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ğerler: SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode

Örnek:

New-ClusterAffinityRule -Name -RuleType SameFaultDomain -Cluster Cluster1

Set-ClusterAffinityRule

Set-ClusterAffinityRuleCmdlet bir kuralı etkinleştirmek veya devre dışı bırakmak için kullanılır; burada:

-Name , etkinleştirmek veya devre dışı bırakmak için kuralın adıdır

-Enabled | Disabled kuralı etkinleştiren veya devre dışı bırakan

Örnek:

Set-ClusterAffinityRule -Name -Enabled -Cluster Cluster1

Get-ClusterAffinityRule

Belirtilen Get-ClusterAffinityRule kuralı ve ne tür olduğunu görüntülemek için cmdlet kullanılır. -NameBelirtilmezse, tüm kuralları listeletir.

Örnek:

Get-ClusterAffinityRule -Name -Cluster Cluster1

Add-ClusterGroupToAffinityRule

Cmdlet, belirli bir benzeşm kuralına BIR VM rolü Add-ClusterGroupToAffinityRule 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 -Name -Cluster Cluster1

Add-ClusterSharedVolumeToAffinityRule

, Add-ClusterSharedVolumeToAffinityRule VM'nizin VHDX'in bulunduğu Küme Paylaşılan Birimi birlikte kalmasını sağlar; burada:

-ClusterSharedVolumes , kurala eklemek istediğiniz CSV diskleridir

-Name , eklenecek kuralın adıdır

Örnek:

Add-ClusterSharedVolumeToAffinityRule  -ClusterSharedVolumes -Name -Cluster Cluster1

Remove-ClusterAffinityRule

Remove-ClusterAffinityRulebelirtilen kuralı siler; burada -Name kuralın adıdır.

Örnek:

Remove-ClusterAffinityRule -Name -Cluster Cluster1

Remove-ClusterGroupFromAffinityRule

, Remove-ClusterGroupFromAffinityRule belirli bir kuraldan bir VM grubunu veya rolü kaldırır, ancak kuralı devre dışı bırakmaz veya silemez; burada:

-Name kuralın adıdır

-Groups kuraldan kaldırmak istediğiniz gruplar veya rollerdir

Örnek:

Remove-ClusterGroupFromAffinityRule -Name -Groups -Cluster Cluster1

Remove-ClusterSharedVolumeFromAffinityRule

Cmdlet, Küme Paylaşılan Birimlerini belirli bir kuraldan kaldırmak için kullanılır, ancak kuralı devre dışı Remove-ClusterSharedVolumeFromAffinityRule bırakmaz veya silemez; burada:

-ClusterSharedVolumes , kuraldan kaldırmak istediğiniz CSV diskleridir

-Name , eklenecek kuralın adıdır

Örnek:

Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes -Name -Cluster Cluster1

Mevcut PowerShell cmdlet'leri

Yeni cmdlet'ler gelişiyle birlikte, var olan birkaç cmdlet'e yeni anahtarlar da ekledik.

Move-ClusterGroup

Yeni anahtar -IgnoreAffinityRule kuralı yoksayır 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çerli ise (destekleniyorsa), etkilenen tüm gruplar ve roller de taşınacak. Vm taşıması bir kuralı bilerek ihlal eder ancak tek kullanımlık geçici olarak gerekli ise, taşımanın gerçekleşmesine -IgnoreAffinityRule izin vermek için anahtarını kullanın. Bu durumda, VM için bir ihlal uyarısı görüntülenir. Ardından kuralı gereken şekilde yeniden etkinleştirin.

Start-ClusterGroup

Yeni -IgnoreAffinityRule anahtar kuralı yoksayır ve kümelenmiş kaynak grubunu geçerli konumunu çevrimiçine getirir. Bu cmdlet hakkında daha fazla bilgi için bkz. Start-ClusterGroup.

Örnek:

Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Benzeşm kuralı örnekleri

Benzeşm kuralları, kaynakları aynı sunucuda, kümede veya sitede saklayan "birlikte" kurallardır. Benzeşim kurallarını ayarlamaya için yaygın olarak karşılaşılan birkaç senaryoyu burada açık şekilde sınız.

1\. Senaryo

Bir sanal makineniz SQL Server 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. SameFaultDomainkullanılarak, aşağıda gösterildiği gibi bu 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ıklarını görmek için Get-ClusterAffinityRule cmdlet'ini kullanarak çıktıyı bakı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 olması gerektiğini ancak aynı sitede olması gerek olmadığını belirtme dışında yukarıdaki aynı senaryoyu kullan o zaman. kullanarak SameNode bunu aşağıdaki gibi ayarlayın:

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ıklarını görmek için Get-ClusterAffinityRule cmdlet'ini kullanarak çıktıyı bakın:

Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1

Name    RuleType    Groups        Enabled
----    --------    ------        -------
DC      SameNode    {SQL1, WEB1}     1

Benzeşm karşıtı kural örnekleri

Benzeşm karşıtı kurallar, kaynakları ayıran ve farklı sunuculara, kümelere veya sitelere ek olarak bunları alan "ayrı" kurallardır.

1\. Senaryo

Her biri birden çok siteli kümede SQL Server çalıştıran Azure Stack HCI VM'niz vardır. Her VM çok fazla bellek, CPU ve depolama kaynağı kullanır. İki düğüm aynı düğümde olursa, bu durum bellek, CPU ve depolama döngüleri için rekabet halindeki bir veya her ikisinde de performans sorunlarına neden olabilir. Kural türü olarak ile bir benzeşim karşıtlığı kuralı kullanarak, bu DifferentNode VM'ler her zaman farklı küme düğümlerde 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ıklarını görmek için Get-ClusterAffinityRule cmdlet'ini kullanarak çıktıyı bakın:

Get-ClusterAffinityRule -Name SQL -Cluster Cluster1

Name    RuleType        Groups        Enabled
----    -----------     -------       -------
SQL     DifferentNode   {SQL1, SQL2}     1

2\. Senaryo

İki site (hata etki alanları) Azure Stack HCI esnetilmiş bir kümeye sahip olduğunu kabul edin. Ayrı sitelerde tutmak istediğiniz iki etki alanı denetleyici var. Kural türü olarak ile bir benzeşim DifferentFaultDomain karşıtlığı kuralı kullanarak, 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ıklarını görmek için Get-ClusterAffinityRule cmdlet'ini kullanarak çıktıyı bakın:

Get-ClusterAffinityRule -Name DC -Cluster Cluster1

Name    RuleType                Groups        Enabled
----    --------                -------       -------
DC      DifferentFaultDomain    {DC1, DC2}       1

Birleşik kural örnekleri

Benzeşm ve benzeşma önleme kurallarını 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 Sunucusu (WEB) ve etki alanı denetleyicisi (DC). Birleşimlerin her biri için, bunların hepsini aynı sitede tutmak için ile SameFaultDomain benzeşm kuralları kullanabilirsiniz. Ayrıca, her site için etki alanı denetleyicilerini benzeşİm önleme kurallarıyla ve etki alanı denetleyicisi VM'lerini aşağıda gösterildiği gibi ayrı DifferentFaultDomain sitelerde tutmak için de ayarlayın:

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 anahtar olmadan cmdlet'ini kullanın; oluşturulan tüm kuralları Get-ClusterAffinityRule-Name ve bunların çıkışlarını da görebilir.

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 benzeşm kuralları

Vm'yi ve VHDX'i aynı küme Küme Paylaşılan Birimi (CSV) üzerinde de tutabilirsiniz. Bu, CSV yeniden yönlendirmesini engeller ve bu da VM'nin başlama veya durdurmayı yavaşlatmanızı sağlar. Daha önce birleşik benzeşm ve benzeşma önleme senaryosunu dikkate alarak, SQL VM'lerini ve Küme Paylaşılan Birimi 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 Get-ClusterAffinityRule cmdlet'ini -Name anahtarı olmadan kullanın ve çıktıyı görüntülemeniz gerekir.

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. Yönetim Merkezi'ni Azure Stack HCI vm'Windows VM'leri yönetme.