Membuat aturan afinitas server dan situs untuk VM

Berlaku untuk: Azure Stack HCI, versi 23H2 dan 22H2

Dengan menggunakan Pusat Admin Windows atau Windows PowerShell, Anda dapat dengan mudah membuat aturan afinitas dan anti-afinitas untuk mesin virtual (VM) Anda dalam satu kluster.

Catatan

Cara yang disarankan untuk membuat dan mengelola VM di Azure Stack HCI 23H2 adalah menggunakan sarana kontrol Azure Arc. Gunakan mekanisme yang dijelaskan di bawah ini untuk mengelola VM Anda hanya jika Anda memerlukan fungsionalitas yang tidak tersedia di Azure Arc VM.

Afinitas adalah aturan yang menetapkan hubungan atau peran antara dua atau lebih grup sumber daya, seperti mesin virtual (VM), agar tetap berada pada server, kluster, atau situs yang sama. Anti-afinitas adalah sebaliknya karena digunakan untuk menjaga VM atau grup sumber daya yang ditentukan terpisah satu sama lain, seperti dua pengontrol domain yang ditempatkan di server terpisah atau di situs terpisah untuk pemulihan bencana.

Aturan afinitas dan anti-afinitas digunakan serupa dengan cara Azure menggunakan Zona Ketersediaan. Di Azure, Anda dapat mengonfigurasi Zona Ketersediaan untuk menyimpan VM di zona terpisah dan jauh dari satu sama lain atau di zona yang sama satu sama lain.

Dengan menggunakan aturan afinitas dan anti-afinitas, setiap VM berkluster berada di node kluster yang sama atau dicegah untuk berada dalam node kluster yang sama. Dengan cara ini, satu-satunya cara untuk mengeluarkan VM dari node adalah dengan melakukannya secara manual. Anda juga dapat menyimpan VM bersama dengan penyimpanannya sendiri, seperti Cluster Shared Volume (CSV) tempat VHDX berada.

Dengan menggabungkan aturan afinitas dan anti-afinitas, Anda juga dapat mengonfigurasi kluster rentang di dua situs dan menyimpan VM di situs yang seharusnya.

Menggunakan Pusat Admin Windows

Anda dapat membuat aturan afinitas dan anti-afinitas dasar menggunakan Pusat Admin Windows.

Layar komputer virtual

  1. Pada beranda Pusat Admin Windows, di bawah Semua koneksi, pilih server atau kluster yang ingin Anda buatkan aturan VM.
  2. Di bawah Alat, pilih Pengaturan.
  3. Di bawah Pengaturan, pilih Aturan afinitas, lalu pilih Buat aturan di bawah Aturan afinitas.
  4. Di bawah Nama aturan, masukkan nama untuk aturan Anda.
  5. Di bawah Jenis aturan, pilih Bersama (server yang sama) atau Terpisah (server yang berbeda) untuk menempatkan VM Anda di server yang sama atau berbeda.
  6. Di bawah Berlaku untuk, pilih VM tempat aturan ini berlaku. Gunakan tombol Tambahkan untuk menambahkan lebih banyak VM ke aturan.
  7. Setelah selesai, pilih Buat aturan.
  8. Untuk menghapus aturan, cukup pilih aturan dan pilih Hapus aturan.

Menggunakan Windows PowerShell

Anda dapat membuat aturan yang lebih kompleks dengan Windows PowerShell daripada dengan Pusat Admin Windows. Biasanya, Anda mengatur aturan dari komputer jarak jauh, bukan di server host dalam kluster. Komputer jarak jauh ini disebut komputer manajemen.

Saat menjalankan perintah Windows PowerShell dari komputer manajemen, sertakan -Name parameter atau -Cluster dengan nama kluster yang Anda kelola. Jika berlaku, Anda juga perlu menentukan nama domain yang sepenuhnya memenuhi syarat (FQDN) saat menggunakan -ComputerName parameter untuk simpul server

Cmdlet PowerShell baru

Untuk membuat aturan afinitas untuk kluster, gunakan cmdlet PowerShell baru berikut:

New-ClusterAffinityRule

Cmdlet New-ClusterAffinityRule digunakan untuk membuat aturan baru. Dengan perintah ini, Anda akan menentukan nama aturan dan jenis aturannya, di mana:

-Name adalah nama aturan

Nilai -RuleType adalah SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode

Contoh:

New-ClusterAffinityRule -Name Rule1 -RuleType SameFaultDomain

Set-ClusterAffinityRule

Cmdlet Set-ClusterAffinityRule digunakan untuk mengaktifkan atau menonaktifkan aturan, di mana:

-Name adalah nama aturan untuk mengaktifkan atau menonaktifkan

-Enabled | Disabled mengaktifkan atau menonaktifkan aturan

Contoh:

Set-ClusterAffinityRule -Name Rule1 -Enabled

Get-ClusterAffinityRule

Cmdlet Get-ClusterAffinityRule digunakan untuk menampilkan aturan yang ditentukan dan jenisnya. Jika -Name tidak ditentukan, aturan akan mencantumkan semua aturan.

Contoh:

Get-ClusterAffinityRule -Name Rule1

Add-ClusterGroupToAffinityRule

Cmdlet Add-ClusterGroupToAffinityRule digunakan untuk menambahkan peran VM atau nama grup ke aturan afinitas tertentu, di mana:

-Groups adalah nama grup atau peran untuk ditambahkan ke aturan

-Name adalah nama aturan yang akan ditambahkan

Contoh:

Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1

Add-ClusterSharedVolumeToAffinityRule

Add-ClusterSharedVolumeToAffinityRule memungkinkan VM Anda untuk tetap bersama dengan Cluster Shared Volume tempat VHDX berada, di mana:

-ClusterSharedVolumes adalah disk CSV yang ingin Anda tambahkan ke aturan

-Name adalah nama aturan yang akan ditambahkan

Contoh:

Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Remove-ClusterAffinityRule

Remove-ClusterAffinityRule menghapus aturan yang ditentukan, di mana -Name adalah nama aturan.

Contoh:

Remove-ClusterAffinityRule -Name Rule1

Remove-ClusterGroupFromAffinityRule

menghapus Remove-ClusterGroupFromAffinityRule grup atau peran VM dari aturan tertentu tetapi tidak menonaktifkan atau menghapus aturan, di mana:

-Name adalah nama aturan

-Groups adalah grup atau peran yang ingin Anda hapus dari aturan

Contoh:

Remove-ClusterGroupFromAffinityRule -Name Rule1 -Groups Group1

Remove-ClusterSharedVolumeFromAffinityRule

Remove-ClusterSharedVolumeFromAffinityRule Cmdlet digunakan untuk menghapus Volume Bersama Kluster dari aturan tertentu tetapi tidak menonaktifkan atau menghapus aturan, di mana:

-ClusterSharedVolumes adalah disk CSV yang ingin Anda hapus dari aturan

-Name adalah nama aturan yang akan ditambahkan

Contoh:

Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Cmdlet PowerShell yang ada

Dengan munculnya cmdlet baru, kami juga menambahkan sakelar baru tambahan ke beberapa cmdlet yang ada.

Move-ClusterGroup

Pengalih -IgnoreAffinityRule baru mengabaikan aturan dan memindahkan grup sumber daya kluster ke node kluster lain. Untuk informasi selengkapnya tentang cmdlet ini, lihat Move-ClusterGroup.

Contoh:

Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Catatan

Jika aturan pindah valid (didukung), semua grup dan peran yang terpengaruh juga akan berpindah. Jika pemindahan VM dengan sengaja melanggar aturan, tetapi diperlukan secara sementara satu kali, gunakan pengalih -IgnoreAffinityRule untuk memungkinkan pemindahan terjadi. Dalam hal ini, peringatan pelanggaran untuk VM akan ditampilkan. Anda kemudian dapat mengaktifkan aturan kembali seperlunya.

Start-ClusterGroup

Pengalih -IgnoreAffinityRule baru mengabaikan aturan dan membawa grup sumber daya kluster online di lokasi saat ini. Untuk informasi selengkapnya tentang cmdlet ini, lihat Start-ClusterGroup.

Contoh:

Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Contoh aturan afinitas

Aturan afinitas adalah aturan "bersama" yang menyimpan sumber daya di server, kluster, atau situs yang sama. Berikut adalah beberapa skenario umum untuk menyiapkan aturan afinitas.

Skenario 1

Misalkan Anda memiliki VM SQL Server dan VM Server Web. Kedua VM ini harus selalu tetap berada di situs yang sama tetapi tidak harus berada di node kluster yang sama di situs. Anda dapat melakukannya dengan menggunakan SameFaultDomain, seperti yang ditunjukkan di bawah ini:

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

Untuk melihat aturan ini dan bagaimana aturan ini dikonfigurasi, gunakan Get-ClusterAffinityRule cmdlet untuk melihat output:

Get-ClusterAffinityRule -Name WebData -Cluster Cluster1

Name        RuleType          Groups        Enabled
----        ---------         ------        -------
WebData     SameFaultDomain   {SQL1, WEB1}     1

Skenario 2

Mari kita gunakan skenario yang sama di atas kecuali tentukan bahwa VM harus berada pada node kluster yang sama. Dengan menggunakan SameNode, Anda dapat mengaturnya sebagai berikut:

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

Untuk melihat aturan dan bagaimana aturan dikonfigurasi, gunakan Get-ClusterAffinityRule cmdlet untuk melihat output:

Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1

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

Contoh aturan anti-afinitas

Aturan anti-afinitas adalah aturan "terpisah" yang memisahkan sumber daya dan menempatkannya di server, kluster, atau situs yang berbeda.

Skenario 1

Anda memiliki dua VM yang masing-masing menjalankan SQL Server pada kluster multisitus Azure Stack HCI yang sama. Setiap VM menggunakan banyak memori, CPU, dan penyimpanan sumber daya. Jika keduanya berakhir pada node yang sama, ini dapat menyebabkan masalah performa dengan satu atau keduanya karena mereka bersaing untuk siklus memori, CPU, dan penyimpanan. Menggunakan aturan anti-afinitas dengan DifferentNode sebagai jenis aturan, VM ini akan selalu berada di node kluster yang berbeda.

Contoh perintah untuk ini adalah:

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

Untuk melihat aturan dan bagaimana aturan dikonfigurasi, gunakan Get-ClusterAffinityRule cmdlet untuk melihat output:

Get-ClusterAffinityRule -Name SQL -Cluster Cluster1

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

Skenario 2

Katakanlah Anda memiliki kluster rentang Azure Stack HCI dengan dua situs (domain kesalahan). Anda memiliki dua pengendali domain yang ingin Anda simpan di situs terpisah. Menggunakan aturan anti-afinitas dengan DifferentFaultDomain sebagai jenis aturan, pengendali domain ini akan selalu berada di situs yang berbeda. Contoh perintah untuk ini adalah:

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

Untuk melihat aturan ini dan bagaimana aturan dikonfigurasi, gunakan Get-ClusterAffinityRule cmdlet untuk melihat output:

Get-ClusterAffinityRule -Name DC -Cluster Cluster1

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

Contoh aturan gabungan

Menggabungkan aturan afinitas dan anti-afinitas, Anda dapat dengan mudah mengonfigurasi berbagai kombinasi VM di seluruh kluster multisitus. Dalam skenario ini, setiap situs memiliki tiga VM: SQL Server (SQL), Server Web (WEB), dan pengendali domain (DC). Untuk setiap kombinasi, Anda dapat menggunakan aturan afinitas dengan SameFaultDomain untuk menyimpan semuanya di situs yang sama. Anda juga dapat mengatur pengendali domain untuk setiap situs dengan aturan anti-afinitas dan DifferentFaultDomain untuk menyimpan VM pengendali domain di situs terpisah seperti yang ditunjukkan di bawah ini:

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

Untuk melihat aturan dan bagaimana aturan dikonfigurasi, gunakan Get-ClusterAffinityRule cmdlet tanpa -Name sakelar dan Anda dapat melihat semua aturan yang dibuat dan outputnya.

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

Aturan afinitas penyimpanan

Anda juga dapat menyimpan VM dan VHDX-nya pada Cluster Shared Volume (CSV) pada node kluster yang sama. Ini akan mencegah pengalihan CSV terjadi, yang dapat memperlambat dimulainya atau dihentikannya VM. Dengan mempertimbangkan skenario afinitas dan anti-afinitas gabungan sebelumnya, Anda dapat menyimpan SQL VM dan Cluster Shared Volume pada node kluster yang sama. Untuk melakukannya, gunakan perintah berikut:

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

Untuk melihat aturan ini dan bagaimana aturan dikonfigurasi, gunakan Get-ClusterAffinityRule cmdlet tanpa sakelar -Name dan lihat output.

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

Langkah berikutnya

Pelajari cara mengelola VM Anda. Lihat Mengelola VM di Azure Stack HCI menggunakan Pusat Admin Windows.