Sebarkan set kluster

Berlaku untuk: Windows Server 2019

Artikel ini menyediakan informasi tentang cara menyebarkan kumpulan kluster untuk Kluster Failover Windows Server menggunakan PowerShell. Set kluster adalah kelompok yang terdiri dari beberapa kluster failover yang dikelompokkan bersama. Dengan menggunakan set kluster, Anda dapat meningkatkan jumlah node server dalam satu cloud Software Defined Data Center (SDDC) berdasarkan urutan besarnya.

Set kluster telah diuji dan didukung hingga 64 node kluster total. Namun, set kluster dapat menskalakan ke batas yang jauh lebih besar dan tidak dikodekan secara permanen untuk batas.

Keuntungan

Set kluster menawarkan manfaat berikut:

  • Secara signifikan meningkatkan skala cloud SDDC yang didukung untuk menjalankan mesin virtual (VM) dengan ketersediaan tinggi dengan menggabungkan beberapa kluster yang lebih kecil menjadi satu fabric besar, sambil menjaga batas kesalahan perangkat lunak ke satu kluster. Anda dapat dengan mudah memigrasikan mesin virtual di seluruh set kluster.

  • Meningkatkan ketahanan. Memiliki empat 4-kluster node dalam set kluster memberi Anda ketahanan yang lebih baik daripada kluster-16 node tunggal sehingga meskipun sejumlah node komputasi dalam tidak berfungsi namun produksi tetap berjalan.

  • Pengelolaan siklus hidup kluster failover, termasuk onboarding dan penghentian kluster, tanpa memengaruhi ketersediaan mesin virtual penyewa.

  • Fleksibilitas mesin virtual di seluruh kluster individu dan menghadirkan ruang nama penyimpanan terpadu.

  • Ubah rasio beban kerja komputasi-ke-penyimpanan dengan mudah di lingkungan hyper-converged Anda.

  • Dapatkan manfaat dari Domain Kesalahan dan set Ketersediaan yang mirip Azure di seluruh kluster individual dalam penempatan mesin virtual awal dan migrasi berikutnya.

  • Dapat menggunakan meskipun perangkat keras komputasi dan penyimpanan antara node kluster tidak identik.

  • Migrasi langsung mesin virtual antar kluster.

  • Set ketersediaan mitip-Azure dan domain kesalahan di beberapa kluster.

  • Memindahkan mesin virtual SQL Server antar kluster.

Persyaratan dan batasan

Ada beberapa persyaratan dan batasan untuk menggunakan set kluster:

  • Semua kluster anggota dalam set kluster harus berada di forest Active Directory (AD) yang sama.

  • Server anggota di set harus menjalankan versi sistem operasi yang sama. Komputer virtual tidak dapat dimigrasikan secara langsung antara sistem operasi yang berbeda. Anda dapat memiliki set kluster yang terdiri dari salah satu, tetapi tidak kelipatan, dari opsi berikut:

    • Kluster Failover Windows Server 2019 dan Kluster Failover Windows Server 2019
    • Kluster Failover Windows Server 2019 dan Storage Spaces Direct Windows Server 2019
    • Storage Spaces Direct Windows Server 2019 dan Storage Spaces Direct Windows Server 2019
  • Perangkat keras prosesor yang identik diperlukan untuk semua server anggota agar migrasi langsung antar kluster anggota terjadi; jika tidak, Anda harus memilih Kompatibilitas Prosesor CPU dalam pengaturan mesin virtual.

  • VM set kluster harus dimigrasikan secara manual di seluruh kluster - mereka tidak dapat secara otomatis melakukan failover.

  • Replika Penyimpanan harus digunakan di antara kluster anggota untuk mewujudkan ketahanan penyimpanan terhadap kegagalan kluster. Saat menggunakan Replika Penyimpanan, ingatlah bahwa jalur UNC penyimpanan namespace tidak akan berubah secara otomatis pada failover Replika Penyimpanan ke kluster target replika.

  • Storage Spaces Direct tidak berfungsi di seluruh kluster anggota dalam kumpulan kluster. Sebaliknya, Storage Spaces Direct berlaku untuk satu kluster, di mana setiap kluster memiliki kumpulan penyimpanan sendiri.

Arsitektur

Diagram berikut mengilustrasikan set kluster tingkat tinggi:

Diagram showing a cluster set.

Berikut ini adalah ringkasan dari masing-masing elemen yang ditampilkan:

Kluster manajemen

Kluster manajemen menghosting bidang manajemen yang sangat tersedia dan server file peluasan skala rujukan namespace (SOFS) untuk kumpulan kluster. Kluster manajemen secara logis dipisahkan dari masing-masing kluster anggota individu yang menjalankan beban kerja mesin virtual. Hal ini menjadikan bidang manajemen set kluster tahan terhadap kegagalan kluster-wide lokal, seperti hilangnya daya kluster anggota.

SOFS rujukan namespace layanan set kluster

Namespace layanan untuk set kluster disediakan beserta dengan peran server SOFS yang berjalan pada kluster manajemen. Ini mirip dengan Distributed File System Namespace (DFSN). Namun tidak seperti DFSN, metadata rujukan namespace kumpulan kluster diisi secara otomatis pada semua node kluster tanpa intervensi apa pun, sehingga hampir tidak ada overhead performa di jalur akses penyimpanan. Mekanisme rujukan ringan ini tidak berpartisipasi dalam jalur I/O.

Setiap bagian rujukan Server Message Block (SMB) pada SOFS rujukan namespace layanan set kluster adalah jenis SimpleReferral. Rujukan ini memungkinkan klien SMB mengakses target berbagi SMB yang dihosting di SOFS kluster anggota. Rujukan di-cache terus-menerus pada masing-masing node klien dan namespace layanan set kluster secara dinamis memperbarui rujukan sesuai kebutuhan secara otomatis. Informasi rujukan terus-menerus di-cache di setiap node set kluster, bahkan selama reboot.

Master set kluster

Komunikasi antar kluster anggota digabungkan secara longgar dan dikoordinasikan oleh sumber daya master set kluster (CS-Master). Seperti sumber daya set kluster lainnya, CS-Master sangat tersedia dan tahan terhadap kegagalan kluster anggota individu atau kegagalan node kluster manajemen. Melalui penyedia WMI set kluster, CS-Master menyediakan titik akhir manajemen untuk semua tindakan manajemen set kluster.

Kluster anggota

Kluster anggota menjalankan beban kerja mesin virtual dan Storage Spaces Direct. Beberapa kluster anggota berpartisipasi dalam penyebaran set kluster, membentuk fabric cloud SDDC yang lebih besar. Kluster anggota berbeda dari kluster manajemen dalam dua aspek utama: kluster anggota berpartisipasi dalam pembuatan domain kesalahan dan set ketersediaan, dan kluster anggota disesuaikan ukurannya untuk menghosting beban kerja mesin virtual dan Storage Spaces Direct. Mesin virtual yang bergerak melintasi kluster anggota tidak dihosting di kluster manajemen karena alasan ini.

Pekerja set kluster

CS-Master berinteraksi dengan sumber daya kluster pada kluster anggota yang disebut cluster set worker (CS-Worker). CS-Worker menanggapi permintaan CS-Master, termasuk penempatan mesin virtual dan inventaris sumber daya. Ada satu instans CS-Worker per kluster anggota.

Fault domain

Domain kesalahan adalah sekelompok perangkat keras dan perangkat lunak yang bisa mengalami kegagalan bersama. Meskipun Anda dapat menentukan satu atau beberapa kluster sekaligus sebagai domain kesalahan, setiap node dapat berpartisipasi dalam domain kesalahan dalam set ketersediaan. Batas domain kesalahan didasarkan pada topologi pusat data, arsitektur jaringan, dan pertimbangan lainnya.

Rangkaian ketersediaan

Set ketersediaan digunakan untuk mengonfigurasi redundansi beban kerja dalam kluster yang diinginkan di seluruh domain kesalahan dengan mengelompokkan dan menyebarkan beban kerja. Untuk aplikasi dua tingkat, Anda harus mengonfigurasi setidaknya dua mesin virtual dalam set ketersediaan untuk setiap tingkat, yang memastikan bahwa ketika domain kesalahan dalam set ketersediaan tidak berfungsi, aplikasi Anda akan memiliki setidaknya satu mesin virtual di setiap tingkat yang dihosting pada domain kesalahan yang berbeda.

Membuat set kluster

Gunakan PowerShell dalam alur kerja contoh berikut untuk membuat set kluster menggunakan dua kluster. Nama set kluster di sini adalah CSMASTER.

Nama kluster Nama Infrastructure SOFS
SET-CLUSTER SOFS-CLUSTERSET
CLUSTER1 SOFS-CLUSTER1
CLUSTER2 SOFS-CLUSTER2
  1. Gunakan komputer klien manajemen yang menjalankan Windows Server 2022 atau Windows Server 2019.

  2. Instal alat Failover Cluster di server kluster manajemen.

  3. Buat dua anggota kluster dan dengan setidaknya dua Cluster Shared Volume (CSV) di setiap kluster.

  4. Buat kluster manajemen (fisik atau tamu) yang men-straddle kluster anggota. Hal ini memastikan bahwa bidang manajemen set kluster terus tersedia meskipun terdapat kemungkinan terjadinya kegagalan kluster anggota.

  5. Untuk membuat set kluster:

    New-ClusterSet -Name CSMASTER -NamespaceRoot SOFS-CLUSTERSET -CimSession SET-CLUSTER
    

    Catatan

    Jika Anda menggunakan alamat IP statis, Anda harus menyertakan -StaticAddress x.x.x.x pada perintah New-ClusterSet.

  6. Untuk menambahkan anggota kluster ke set kluster:

    Add-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER -InfraSOFSName SOFS-CLUSTER1
    Add-ClusterSetMember -ClusterName CLUSTER2 -CimSession CSMASTER -InfraSOFSName SOFS-CLUSTER2
    
  7. Untuk menyebutkan semua kluster anggota dalam set kluster:

    Get-ClusterSetMember -CimSession CSMASTER
    
  8. Untuk menyebutkan semua kluster anggota dalam set kluster termasuk node kluster manajemen:

    Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterNode
    
  9. Untuk mencantumkan semua node server dari semua kluster anggota:

    Get-ClusterSetNode -CimSession CSMASTER
    
  10. Untuk mencantumkan semua grup sumber daya di seluruh set kluster:

    Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterGroup
    
  11. Untuk memverifikasi set kluster yang berisi satu berbagi SMB (ScopeName menjadi nama Infrastructure File Server) pada Infrastructure SOFS untuk setiap volume CSV anggota kluster:

    Get-SmbShare -CimSession CSMASTER
    
  12. Ulas file log debug set kluster untuk set kluster, kluster manajemen, dan setiap anggota kluster:

    Get-ClusterSetLog -ClusterSetCimSession CSMASTER -IncludeClusterLog -IncludeManagementClusterLog -DestinationFolderPath <path>
    
  13. Konfigurasikan Kerberos dengan delegasi terbatas antara semua anggota set kluster.

  14. Mengonfigurasi jenis autentikasi migrasi langsung mesin virtual lintas kluster ke Kerberos pada setiap node di set kluster:

    foreach($h in $hosts){ Set-VMHost -VirtualMachineMigrationAuthenticationType Kerberos -ComputerName $h }
    
  15. Tambahkan kluster manajemen ke grup administrator lokal pada setiap node server anggota kluster di set kluster:

    foreach($h in $hosts){ Invoke-Command -ComputerName $h -ScriptBlock {Net localgroup administrators /add <management_cluster_name>$} }
    

Membuat mesin virtual set kluster

Setelah membuat set kluster, langkah selanjutnya adalah membuat mesin virtual. Anda harus melakukan pemeriksaan berikut sebelumnya:

  • Memeriksa memori yang tersedia pada setiap node server kluster
  • Memeriksa ruang disk yang tersedia pada setiap node server kluster
  • Memeriksa persyaratan penyimpanan mesin virtual tertentu dalam hal kecepatan dan performa

Perintah Get-ClusterSetOptimalNodeForVM mengidentifikasi kluster dan node optimal di set kluster dan kemudian menyebarkan mesin virtual di sana. Dalam contoh berikut, mesin virtual baru dibuat dengan:

  • 4 GB yang tersedia
  • Satu prosesor virtual
  • Minimum 10% CPU yang tersedia
# Identify the optimal node to create a new virtual machine
$memoryinMB=4096
$vpcount = 1
$targetnode = Get-ClusterSetOptimalNodeForVM -CimSession CSMASTER -VMMemory $memoryinMB -VMVirtualCoreCount $vpcount -VMCpuReservation 10
$secure_string_pwd = convertto-securestring "<password>" -asplaintext -force
$cred = new-object -typename System.Management.Automation.PSCredential ("<domain\account>",$secure_string_pwd)

# Deploy the virtual machine on the optimal node
Invoke-Command -ComputerName $targetnode.name -scriptblock { param([String]$storagepath); New-VM CSVM1 -MemoryStartupBytes 3072MB -path $storagepath -NewVHDPath CSVM.vhdx -NewVHDSizeBytes 4194304 } -ArgumentList @("\\SOFS-CLUSTER1\VOLUME1") -Credential $cred | Out-Null

Start-VM CSVM1 -ComputerName $targetnode.name | Out-Null
Get-VM CSVM1 -ComputerName $targetnode.name | fl State, ComputerName

Setelah selesai, Anda akan melihat node kluster tempat mesin virtual disebarkan. Untuk contoh di atas, hal ini akan ditampilkan sebagai:

State         : Running
ComputerName  : 1-S2D2

Jika tidak ada cukup memori, kapasitas CPU, atau ruang disk yang tersedia untuk menambahkan VM, Anda akan menerima kesalahan berikut:

Get-ClusterSetOptimalNodeForVM : A cluster node isn't available for this operation.

Setelah mesin virtual dibuat, mesin virtual ditampilkan dalam manajer Hyper-V pada node khusus yang ditentukan. Untuk menambahkannya sebagai mesin virtual set kluster dan untuk menambahkannya ke kluster, gunakan perintah ini:

Register-ClusterSetVM -CimSession CSMASTER -MemberName $targetnode.Member -VMName CSVM1

Setelah selesai, outputnya adalah:

Id  VMName  State  MemberName  PSComputerName
--  ------  -----  ----------  --------------
 1  CSVM1     On   CLUSTER1    CSMASTER

Jika Anda telah membuat kluster menggunakan VM yang ada, VM harus didaftarkan dengan kumpulan kluster. Untuk mendaftarkan semua mesin virtual sekaligus, gunakan:

Get-ClusterSetMember -Name CLUSTER3 -CimSession CSMASTER | Register-ClusterSetVM -RegisterAll -CimSession CSMASTER

Selanjutnya, tambahkan jalur mesin virtual ke namespace layanan set kluster.

Sebagai contoh, misalnya kluster yang ada ditambahkan ke set kluster dengan mesin virtual yang telah dikonfigurasi sebelumnya yang berada di Cluster Shared Volume (CSV) lokal. Jalur untuk VHDX akan menjadi sesuatu yang mirip dengan C:\ClusterStorage\Volume1\MYVM\Virtual Hard Disks\MYVM.vhdx1.

Migrasi penyimpanan diperlukan, karena jalur CSV berdasarkan rancangan bersifat lokal ke satu kluster anggota dan karena itu tidak dapat diakses oleh mesin virtual setelah mereka dimigrasi langsung melintasi kluster anggota.

Dalam contoh ini, CLUSTER3 ditambahkan ke set kluster menggunakan Add-ClusterSetMember dengan server file scale-out SOFS-CLUSTER3. Untuk memindahkan konfigurasi dan penyimpanan mesin virtual, perintahnya adalah:

Move-VMStorage -DestinationStoragePath \\SOFS-CLUSTER3\Volume1 -Name MyVM

Setelah selesai, Anda mungkin menerima peringatan:

WARNING: There were issues updating the virtual machine configuration that may prevent the virtual machine from running. For more information view the report file below.
WARNING: Report file location: C:\Windows\Cluster\Reports\Update-ClusterVirtualMachineConfiguration '' on date at time.htm.

Peringatan ini dapat diabaikan karena tidak ada perubahan fisik dalam konfigurasi penyimpanan peran mesin virtual. Lokasi fisik aktual tidak berubah; hanya jalur konfigurasi yang melakukannya.

Untuk informasi selengkapnya tentang Move-VMStorage, lihat Memindahkan VMStorage.

Memigrasi langsung mesin virtual dalam set kluster melibatkan hal-hal berikut:

Set-VMHost -UseAnyNetworkForMigration $true

Kemudian, untuk memindahkan mesin virtual set kluster dari CLUSTER1 ke NODE2-CL3 pada CLUSTER3 misalnya, perintahnya adalah:

Move-ClusterSetVM -CimSession CSMASTER -VMName CSVM1 -Node NODE2-CL3

Perintah ini tidak memindahkan penyimpanan VM atau file konfigurasi dan tidak diperlukan karena jalur ke VM tetap sebagai \\SOFS-CLUSTER1\VOLUME1. Setelah VM terdaftar dengan jalur berbagi server file infrastruktur, drive dan VM tidak memerlukan berada di simpul yang sama dengan VM.

Membuat server file scale-out infrastruktur

Ada satu peran kluster SOFS Infrastruktur pada kluster. Peran Infrastructure SOFS dibuat dengan menentukan parameter sakelar -Infrastructure ke cmdlet Add-ClusterScaleOutFileServerRole. Contohnya:

Add-ClusterScaleoutFileServerRole -Name "my_infra_sofs_name" -Infrastructure

Setiap volume CSV yang dibuat secara otomatis memicu pembuatan berbagi SMB dengan nama yang dibuat secara otomatis berdasarkan nama volume CSV. Anda tidak dapat langsung membuat atau memodifikasi berbagi SMB di bawah peran SOFS, selain dengan menggunakan operasi pembuatan dan modifikasi volume CSV.

Dalam konfigurasi hyperconverged, Infrastructure SOFS memungkinkan klien SMB (host Hyper-V) untuk berkomunikasi dengan ketersediaan berkelanjutan (OS) ke server Infrastructure SOFS SMB. OS loopback SMB hyper-converged ini dicapai oleh mesin virtual yang mengakses file virtual disk (VHDX) mereka di mana identitas mesin virtual pemilik diteruskan antara klien dan server. Penerusan identitas ini memungkinkan penggunaan ACL untuk file VHDx seperti dalam konfigurasi kluster hyperconverged standar seperti sebelumnya.

Setelah set kluster dibuat, namespace layanan set kluster bergantung pada Infrastructure SOFS pada masing-masing kluster anggota, juga Infrastructure SOFS di kluster manajemen.

Pada saat kluster anggota ditambahkan ke set kluster, Anda dapat menentukan nama Infrastructure SOFS pada kluster tersebut jika sudah tersedia. Jika SOFS Infrastruktur tidak ada, peran SOFS Infrastruktur baru pada kluster anggota baru dibuat. Jika peran Infrastructure SOFS sudah tersedia di kluster anggota, operasi Tambahkan secara implisit mengganti namanya menjadi nama yang ditentukan sesuai kebutuhan. Setiap server SMB yang ada, atau peran SOFS non-infrastruktur pada kluster anggota, tidak digunakan oleh kumpulan kluster.

Saat set kluster dibuat, Anda memiliki opsi untuk menggunakan objek komputer AD yang ada sebagai root namespace layanan pada kluster manajemen. Pembuatan set kluster menciptakan peran kluster Infrastructure SOFS pada kluster manajemen atau mengganti nama peran Infrastructure SOFS yang ada. Infrastructure SOFS pada kluster manajemen digunakan sebagai klaster SOFS rujukan namespace layanan set kluster.

Membuat domain kesalahan dan set ketersediaan

Domain kesalahan yang mirip Azure dan set ketersediaan dapat dikonfigurasi dalam set kluster. Hal ini bermanfaat untuk penempatan mesin virtual awal dan migrasi antar kluster.

Contoh di bawah ini memiliki empat kluster dalam satu set kluster. Dalam set tersebut, satu domain kesalahan dibuat dengan dua kluster dan domain kesalahan kedua dibuat dengan dua kluster lainnya. Kedua domain kesalahan ini terdiri dari set ketersediaan.

Pada contoh di bawah ini, CLUSTER1 dan CLUSTER2 berada di domain kesalahan FD1 dan CLUSTER3 dan CLUSTER4 berada di domain kesalahan FD2. Set ketersediaan adalah CSMASTER-AS.

Untuk membuat domain kesalahan, perintahnya adalah:

New-ClusterSetFaultDomain -Name FD1 -FdType Logical -CimSession CSMASTER -MemberCluster CLUSTER1,CLUSTER2 -Description "First fault domain"

New-ClusterSetFaultDomain -Name FD2 -FdType Logical -CimSession CSMASTER -MemberCluster CLUSTER3,CLUSTER4 -Description "Second fault domain"

Untuk memastikan mereka berhasil dibuat, Get-ClusterSetFaultDomain dapat dijalankan dengan output yang ditampilkan untuk FD1:

PS C:\> Get-ClusterSetFaultDomain -CimSession CSMASTER -FdName FD1 | fl *

PSShowComputerName    : True
FaultDomainType       : Logical
ClusterName           : {CLUSTER1, CLUSTER2}
Description           : First fault domain
FDName                : FD1
Id                    : 1
PSComputerName        : CSMASTER

Sekarang setelah domain kesalahan dibuat, set ketersediaan dibuat:

New-ClusterSetAvailabilitySet -Name CSMASTER-AS -FdType Logical -CimSession CSMASTER -ParticipantName FD1,FD2

Untuk memvalidasi bahwa set telah dibuat, gunakan:

Get-ClusterSetAvailabilitySet -AvailabilitySetName CSMASTER-AS -CimSession CSMASTER

Saat membuat mesin virtual baru, gunakan parameter -AvailabilitySet untuk menentukan node optimal untuk penempatan. Berikut contohnya:

# Identify the optimal node to create a new VM
$memoryinMB=4096
$vpcount = 1
$av = Get-ClusterSetAvailabilitySet -Name CSMASTER-AS -CimSession CSMASTER
$targetnode = Get-ClusterSetOptimalNodeForVM -CimSession CSMASTER -VMMemory $memoryinMB -VMVirtualCoreCount $vpcount -VMCpuReservation 10 -AvailabilitySet $av
$secure_string_pwd = convertto-securestring "<password>" -asplaintext -force
$cred = new-object -typename System.Management.Automation.PSCredential ("<domain\account>",$secure_string_pwd)

Menghapus klaster dari set

Ada kalanya kluster perlu dihapus dari set kluster. Sebagai praktik terbaik, semua mesin virtual set kluster harus dipindahkan dari kluster sebelumnya. Hal ini dapat dilakukan dengan menggunakan perintah Move-ClusterSetVMdan Move-VMStorage.

Jika VM tidak dipindahkan dari kluster terlebih dahulu, semua VM set kluster yang tersisa yang dihosting pada kluster yang dihapus akan menjadi VM yang sangat tersedia yang terikat ke kluster tersebut, dengan asumsi mereka memiliki akses ke penyimpanan mereka. Set kluster juga secara otomatis memperbarui inventaris mereka dengan tidak lagi melacak kesehatan kluster yang dihapus dan mesin virtual yang berjalan di sana, dan dengan menghapus namespace layanan dan semua referensi ke berbagi yang dihosting di kluster yang dihapus.

Misalnya, perintah untuk menghapus kluster CLUSTER1 dari set kluster adalah:

Remove-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER

Cadangan status sistem

Pencadangan status sistem akan mencadangkan status kluster dan metadata. Menggunakan Windows Server Backup, Anda dapat memulihkan hanya database kluster node jika diperlukan atau melakukan pemulihan otoritatif untuk menggulung balik seluruh database kluster di semua node. Untuk set kluster, sebaiknya lakukan pemulihan otoritatif terlebih dahulu untuk kluster anggota dan kemudian untuk kluster manajemen. Untuk informasi selengkapnya tentang cadangan status sistem, lihat Mencadangkan status sistem dan bare metal.

Langkah berikutnya