Menyebarkan kumpulan kluster

Artikel ini menyediakan informasi tentang cara menyebarkan kumpulan kluster untuk Kluster Failover Windows Server menggunakan PowerShell. Kumpulan kluster adalah sekelompok beberapa kluster failover yang diklusterkan bersama-sama. Dengan menggunakan set kluster, Anda dapat meningkatkan jumlah simpul server dalam satu cloud Software Defined Data Center (SDDC) berdasarkan urutan besarnya.

Set kluster telah diuji dan didukung hingga 64 total node kluster. Namun, kelompok kluster dapat berkembang ke batas yang jauh lebih besar dan tidak ditentukan secara tetap untuk batas.

Benefits

Set kluster menawarkan manfaat berikut:

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

  • Peningkatan ketahanan. Memiliki empat kluster 4-node dalam satu set kluster memberikan keandalan yang lebih baik daripada satu kluster 16-node, karena beberapa simpul komputasi dapat mengalami gangguan tanpa mengganggu produksi.

  • Manajemen siklus hidup kluster failover, termasuk penerapan dan penghentian kluster, tanpa memengaruhi ketersediaan VM bagi penyewa.

  • Fleksibilitas VM di seluruh kluster individual dan menyajikan namespace penyimpanan terpadu.

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

  • Manfaatkan Domain Kesalahan dan Set Ketersediaan seperti Azure di seluruh kluster individual dalam penempatan VM awal dan migrasi berikutnya.

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

  • Migrasi langsung VM antar kluster.

  • Set ketersediaan dan domain kesalahan seperti Azure di beberapa kluster.

  • Pemindahan komputer virtual SQL Server antar kluster.

Persyaratan dan batasan

Ada beberapa persyaratan dan batasan untuk menggunakan set kluster:

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

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

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

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

  • Replika Penyimpanan harus digunakan di antara kluster anggota untuk mewujudkan ketahanan penyimpanan menghadapi 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, dengan setiap kluster memiliki kumpulan penyimpanannya sendiri.

Architecture

Diagram berikut mengilustrasikan kumpulan kluster pada tingkat tinggi:

Diagram memperlihatkan kumpulan kluster.

Berikut ini menyediakan ringkasan dari setiap elemen yang diperlihatkan:

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 kluster anggota individual yang menjalankan beban kerja VM. Ini membuat sarana manajemen set kluster tahan terhadap kegagalan di seluruh kluster yang dilokalkan, seperti hilangnya daya kluster anggota.

SOFS rujukan kumpulan nama kluster

Sebuah namespace untuk set kluster disediakan dengan peran server SOFS yang beroperasi pada kluster manajemen. Ini mirip dengan Namespace Sistem File Terdistribusi (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 rujukan berbagi Blok Pesan Server (SMB) pada namespace kluster rujukan SOFS berjenis SimpleReferral. Rujukan ini memungkinkan klien SMB mengakses berbagi SMB target yang dihosting di kluster anggota SOFS. Rujukan di-cache terus-terusan pada setiap simpul klien dan namespace kumpulan kluster secara dinamis memperbarui rujukan sesuai kebutuhan secara otomatis. Informasi rujukan terus-menerus di-cache di setiap node set kluster, bahkan selama reboot.

Pengaturan utama kluster

Komunikasi antar kluster anggota digabungkan secara longgar dan dikoordinasikan oleh sumber daya master set kluster (CS-Master). Seperti sumber daya kumpulan 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 kumpulan kluster.

Kluster anggota

Kluster anggota menjalankan beban kerja VM dan Storage Spaces Direct. Beberapa kluster anggota berpartisipasi dalam penyebaran kumpulan kluster, membentuk jaringan cloud SDDC yang lebih besar. Kluster anggota berbeda dari kluster pengelolaan dalam dua aspek utama: kluster anggota berpartisipasi dalam konstruksi domain kesalahan dan set ketersediaan, serta kluster anggota diatur ukurannya untuk mendukung beban kerja VM dan Storage Spaces Direct. VM yang berpindah di seluruh kluster anggota tidak dihosting pada kluster manajemen karena alasan ini.

Pengolah Set Kluster

CS-Master berinteraksi dengan sumber daya kluster pada kluster anggota yang disebut pengelola set kluster (CS-Worker). CS-Worker menanggapi permintaan oleh CS-Master, termasuk penempatan VM dan inventori sumber daya. Ada satu instance CS-Worker untuk setiap kluster anggota.

Domain kesalahan

Domain kesalahan adalah sekelompok perangkat keras dan perangkat lunak yang dapat gagal bersamaan. Meskipun Anda dapat menunjuk satu atau beberapa kluster bersama-sama sebagai domain kesalahan, setiap simpul dapat berpartisipasi dalam domain kesalahan dalam set ketersediaan. Batas domain kesalahan didasarkan pada topologi pusat data, arsitektur jaringan, dan pertimbangan lainnya.

Set ketersediaan

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

Membuat kumpulan kluster

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

Nama kluster Nama Infrastruktur 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 manajemen kluster.

  3. Buat dua anggota kluster dan dengan setidaknya dua Volume Bersama Kluster (CSV) di setiap kluster.

  4. Buat kluster manajemen (fisik atau virtual) yang mencakup kluster anggota. Ini memastikan bahwa lapisan manajemen set kluster terus tersedia meskipun terjadi kegagalan pada kluster anggota.

  5. Untuk membuat kumpulan kluster:

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

    Note

    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 menghitung semua kluster anggota dalam kumpulan kluster:

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

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

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

    Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterGroup
    
  11. Untuk memverifikasi kumpulan kluster yang memiliki satu share SMB (ScopeName menjadi nama Server File Infra) di SOFS infrastruktur untuk setiap volume CSV anggota kluster.

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

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

  14. Konfigurasikan jenis autentikasi migrasi langsung VM lintas kluster ke Kerberos pada setiap simpul dalam 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 dalam kumpulan kluster:

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

Membuat set kluster VM

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

  • Periksa memori yang tersedia pada setiap node server kluster
  • Periksa ruang disk yang tersedia pada setiap node server kluster
  • Periksa persyaratan penyimpanan VM tertentu dalam hal kecepatan dan performa

Get-ClusterSetOptimalNodeForVM Perintah mengidentifikasi kluster dan node optimal dalam kumpulan kluster lalu menyebarkan VM di atasnya. Dalam contoh berikut, VM baru dibuat dengan:

  • Tersedia 4 GB
  • Satu prosesor virtual
  • Minimum CPU yang tersedia 10%
# 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

Anda akan diperlihatkan pada simpul kluster mana VM disebarkan setelah proses selesai. Untuk contoh di atas, 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 VM dibuat, VM ditampilkan di manajer Hyper-V pada simpul tertentu yang ditentukan. Untuk menambahkannya sebagai set kluster VM dan 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 VM sekaligus, gunakan:

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

Selanjutnya, tambahkan jalur VM ke namespace kumpulan kluster.

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

Migrasi penyimpanan diperlukan, karena jalur CSV dirancang lokal ke satu kluster anggota dan oleh karena itu tidak dapat diakses oleh VM setelah mereka dimigrasikan secara langsung di seluruh kluster anggota.

Dalam contoh ini, CLUSTER3 ditambahkan ke himpunan kluster menggunakan Add-ClusterSetMember dengan server berkas scale-out SOFS-CLUSTER3. Untuk memindahkan konfigurasi dan penyimpanan VM, 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 komputer virtual. Lokasi fisik aktual tidak berubah; hanya jalur konfigurasi yang melakukannya.

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

Migrasi langsung VM dalam kumpulan kluster melibatkan hal berikut:

Set-VMHost -UseAnyNetworkForMigration $true

Kemudian, untuk memindahkan VM 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 didaftarkan ke jalur berbagi server file infrastruktur, drive dan VM tidak perlu berada di node yang sama dengan VM.

Membuat server file peluasan skala infrastruktur

Ada satu peran cluster SOFS infrastruktur di dalam kluster. Peran SOFS Infrastruktur dibuat dengan menentukan parameter pengalihan -Infrastructure ke Add-ClusterScaleOutFileServerRole cmdlet. Contohnya:

Add-ClusterScaleoutFileServerRole -Name "my_infra_sofs_name" -Infrastructure

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

Dalam konfigurasi hyperconverged, INFRASTRUCTURE SOFS memungkinkan klien SMB (Hyper-V host) untuk berkomunikasi dengan ketersediaan berkelanjutan (CA) ke server Infrastructure SOFS SMB. Loopback SMB hyper-converged ini dicapai ketika VM mengakses file disk virtual (VHDX) mereka, di mana identitas pemilik VM diteruskan antara klien dan server. Penerusan identitas ini memungkinkan penggunaan ACL untuk file VHDx sebagaimana dalam konfigurasi klaster hyperconverged standar seperti sebelumnya.

Setelah set kluster dibuat, ruang nama set kluster mengandalkan Infrastruktur SOFS pada setiap kluster anggota, dan juga Infrastruktur SOFS di kluster manajemen.

Pada saat kluster anggota ditambahkan ke kumpulan kluster, Anda dapat menentukan nama SOFS Infrastruktur pada kluster tersebut jika sudah ada. Jika SOFS Infrastruktur tidak ada, maka peran SOFS Infrastruktur baru akan dibuat pada kluster anggota yang baru. Jika peran SOFS Infrastruktur sudah ada 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 kumpulan kluster dibuat, Anda memiliki opsi untuk menggunakan objek komputer AD yang ada sebagai akar namespace pada kluster manajemen. Pembuatan kumpulan kluster membuat peran kluster Infrastruktur SOFS pada kluster manajemen atau mengganti nama peran Infrastruktur SOFS yang ada. SOFS Infrastruktur pada kluster manajemen digunakan sebagai SOFS rujukan namespace layanan kluster.

Membuat domain kesalahan dan set ketersediaan

Domain kesalahan seperti Azure dan set ketersediaan dapat dikonfigurasi dalam kumpulan kluster. Ini bermanfaat untuk penempatan VM awal dan migrasi antar kluster.

Contoh di bawah ini memiliki empat kluster pada satu set kluster. Dalam himpunan, domain kesalahan pertama dibentuk dengan dua kluster dan domain kesalahan kedua dibentuk dengan dua kluster lainnya. Dua domain kesalahan ini merupakan grup ketersediaan.

Dalam 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 berhasil dibuat, Get-ClusterSetFaultDomain dapat dijalankan dan outputnya 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 telah dibuat, gunakan:

Get-ClusterSetAvailabilitySet -AvailabilitySetName CSMASTER-AS -CimSession CSMASTER

Saat membuat VM baru, gunakan -AvailabilitySet parameter untuk menentukan simpul optimal untuk penempatan. Berikut adalah sebuah contoh:

# 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 kluster dari satu set

Ada kalanya kluster perlu dihapus dari kumpulan kluster. Sebagai praktik terbaik, semua VM set kluster harus dipindahkan dari kluster terlebih dahulu. Ini dapat dilakukan menggunakan Move-ClusterSetVM perintah dan 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 serta VM yang berjalan di atasnya, dan dengan menghapus namespace serta semua referensi ke berbagi yang dihosting pada kluster yang dihapus.

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

Remove-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER

Pencadangan keadaan sistem

Pencadangan status sistem akan mencadangkan status kluster dan metadata. Dengan menggunakan Windows Server Backup, Anda dapat memulihkan database kluster hanya jika diperlukan atau melakukan pemulihan otoritatif untuk mengembalikan seluruh database kluster di semua simpul. Untuk set kluster, sebaiknya lakukan pemulihan otoritatif terlebih dahulu untuk kluster anggota lalu untuk kluster manajemen. Untuk informasi selengkapnya tentang pencadangan status sistem, lihat Back up system state and bare metal.

Langkah selanjutnya