Membuat kluster Azure Stack HCI menggunakan Windows Powershell

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

Peringatan

Instruksi penyebaran yang disediakan dalam artikel ini berlaku untuk versi lama, Azure Stack HCI, versi 22H2. Untuk penyebaran baru, kami sarankan Anda menggunakan versi terbaru yang tersedia secara umum, Azure Stack HCI, versi 23H2. Untuk instruksi penyebaran, lihat Tentang Azure Stack HCI, penyebaran versi 23H2.

Dalam artikel ini, Anda mempelajari cara menggunakan Windows PowerShell untuk membuat kluster hyperconverged Azure Stack HCI yang menggunakan Storage Spaces Direct. Jika Anda lebih suka menggunakan wizard Pembuatan Kluster di Pusat Admin Windows untuk membuat kluster, lihat Membuat kluster dengan Pusat Admin Windows.

Catatan

Gunakan PowerShell untuk membuat kluster jika Anda melakukan penginstalan server tunggal Azure Stack HCI 21H2.

Anda memiliki pilihan antara dua jenis kluster:

  • Kluster standar dengan satu atau dua node kluster, yang semuanya berada di satu situs.
  • Kluster terentang dengan setidaknya empat node kluster yang membentang di dua situs, dengan dua node per situs.

Untuk skenario server tunggal, selesaikan instruksi yang sama untuk satu server.

Catatan

Kluster stretch tidak didukung dalam konfigurasi server tunggal.

Dalam artikel ini, kami membuat contoh kluster bernama Cluster1 yang terdiri dari empat simpul server bernama Server1, Server2, Server3, dan Server4.

Untuk skenario kluster yang direntangkan, kami menggunakan ClusterS1 sebagai nama dan menggunakan empat simpul server yang sama yang direntangkan di situs Site1 dan Site2.

Untuk informasi selengkapnya tentang kluster yang direntangkan, lihat Gambaran umum kluster yang direntangkan.

Untuk menguji Azure Stack HCI dengan perangkat keras minimal atau tanpa tambahan, Anda dapat melihat Panduan Evaluasi Azure Stack HCI. Dalam panduan ini, kami memandu Anda mengalami Azure Stack HCI menggunakan virtualisasi berlapis di dalam Azure VM. Atau coba tutorial Membuat lab berbasis VM untuk Azure Stack HCI untuk membuat lingkungan lab privat Anda sendiri menggunakan virtualisasi berlapis di server pilihan Anda untuk menyebarkan VM yang menjalankan Azure Stack HCI untuk pengklusteran.

Sebelum Anda mulai

Sebelum memulai, pastikan Anda:

Menggunakan Windows PowerShell

Anda dapat menjalankan PowerShell secara lokal dalam sesi RDP di server host, atau Anda dapat menjalankan PowerShell dari jarak jauh dari komputer manajemen. Artikel ini membahas opsi jarak jauh.

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

Anda memerlukan cmdlet Remote Server Administration Tools (RSAT) dan modul PowerShell untuk Pengklusteran Hyper-V dan Failover. Jika cmdlet dan modul belum tersedia di sesi PowerShell di komputer manajemen, Anda dapat menambahkannya menggunakan perintah berikut: Add-WindowsFeature RSAT-Clustering-PowerShell.

Langkah 1: Menyiapkan server

Pertama, sambungkan ke setiap server, gabungkan ke domain (domain yang sama tempat komputer manajemen berada), dan instal peran dan fitur yang diperlukan.

Langkah 1.1: Menyambungkan ke server

Untuk tersambung ke server, Anda harus terlebih dahulu memiliki konektivitas jaringan, yang tergabung ke domain yang sama atau domain tepercaya penuh, dan memiliki izin administratif lokal ke server.

Buka PowerShell dan gunakan nama domain yang sepenuhnya memenuhi syarat atau alamat IP server yang ingin Anda sambungkan. Anda akan dimintai kata sandi setelah menjalankan perintah berikut di setiap server.

Untuk contoh ini, kami berasumsi bahwa server diberi nama Server1, Server2, Server3, dan Server4:

Enter-PSSession -ComputerName "Server1" -Credential "Server1\Administrator"

Berikut adalah contoh lain dari tindakan yang sama:

$myServer1 = "Server1"
$user = "$myServer1\Administrator"

Enter-PSSession -ComputerName $myServer1 -Credential $user

Tip

Saat menjalankan perintah PowerShell dari PC manajemen, Anda mungkin mendapatkan kesalahan seperti WinRM tidak dapat memproses permintaan. Untuk memperbaikinya, gunakan PowerShell untuk menambahkan setiap server ke daftar Host Tepercaya di komputer manajemen Anda. Daftar ini mendukung kartubebas, seperti Server* misalnya.

Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server1 -Force

Untuk melihat daftar Host Tepercaya Anda, ketik Get-Item WSMAN:\Localhost\Client\TrustedHosts.

Untuk mengosongkan daftar, ketik Clear-Item WSMAN:\Localhost\Client\TrustedHost.

Langkah 1.2: Bergabung dengan domain dan menambahkan akun domain

Pada langkah sebelumnya Anda tersambung ke setiap simpul server dengan, akun <ServerName>\Administratoradministrator lokal .

Untuk melanjutkan, Anda harus bergabung dengan server ke domain dan menggunakan akun domain yang ada di grup Administrator lokal di setiap server.

Gunakan cmdlet Enter-PSSession untuk tersambung ke tiap server dan jalankan cmdlet berikut serta ganti nama server, nama domain, dan info masuk domain:

Add-Computer -NewName "Server1" -DomainName "contoso.com" -Credential "Contoso\User" -Restart -Force  

Jika akun administrator Anda bukan anggota grup Administrator Domain, tambahkan akun administrator Anda ke grup Administrator lokal di setiap server - atau lebih baik lagi, tambahkan grup yang Anda gunakan untuk administrator. Anda dapat menggunakan perintah berikut untuk melakukannya:

Add-LocalGroupMember -Group "Administrators" -Member "king@contoso.local"

Langkah 1.3: Menginstal peran dan fitur

Langkah berikutnya adalah menginstal peran dan fitur Windows yang diperlukan di setiap server untuk kluster. Berikut adalah peran yang akan diinstal:

  • BitLocker
  • Bridging Pusat Data
  • Pengklusteran Failover
  • Server File
  • Modul FS-Data-Deduplikasi
  • Hyper-V
  • Powershell Hyper-V
  • Modul RSAT-Clustering-PowerShell
  • Modul RSAT-AD-PowerShell
  • NetworkATC
  • NetworkHUD
  • Batas Bandwidth SMB
  • Storage Replica (untuk kluster yang direntangkan)

Gunakan perintah berikut untuk setiap server (jika Anda tersambung melalui Desktop Jauh menghilangkan -ComputerName parameter di sini dan di perintah berikutnya):

Install-WindowsFeature -ComputerName "Server1" -Name "BitLocker", "Data-Center-Bridging", "Failover-Clustering", "FS-FileServer", "FS-Data-Deduplication", "FS-SMBBW", "Hyper-V", "Hyper-V-PowerShell", "RSAT-AD-Powershell", "RSAT-Clustering-PowerShell", "NetworkATC", "NetworkHUD", "Storage-Replica" -IncludeAllSubFeature -IncludeManagementTools

Untuk menjalankan perintah pada semua server di kluster sekaligus, gunakan skrip berikut, modifikasi daftar variabel di awal agar sesuai dengan lingkungan Anda:

# Fill in these variables with your values
$ServerList = "Server1", "Server2", "Server3", "Server4"
$FeatureList = "BitLocker", "Data-Center-Bridging", "Failover-Clustering", "FS-FileServer", "FS-Data-Deduplication", "Hyper-V", "Hyper-V-PowerShell", "RSAT-AD-Powershell", "RSAT-Clustering-PowerShell", "NetworkATC", "NetworkHUD", "FS-SMBBW", "Storage-Replica"

# This part runs the Install-WindowsFeature cmdlet on all servers in $ServerList, passing the list of features in $FeatureList.
Invoke-Command ($ServerList) {
    Install-WindowsFeature -Name $Using:Featurelist -IncludeAllSubFeature -IncludeManagementTools
}

Selanjutnya, hidupkan ulang semua server:

$ServerList = "Server1", "Server2", "Server3", "Server4"
Restart-Computer -ComputerName $ServerList -WSManAuthentication Kerberos

Langkah 2: Persiapan untuk penyiapan kluster

Selanjutnya, verifikasi bahwa server Anda siap untuk pengklusteran.

Sebagai pemeriksaan kewarasan, pertimbangkan untuk menjalankan perintah berikut untuk memastikan bahwa server Anda belum termasuk dalam kluster:

Gunakan Get-ClusterNode untuk menampilkan semua node:

Get-ClusterNode

Gunakan Get-ClusterResource untuk menampilkan semua node kluster:

Get-ClusterResource

Gunakan Get-ClusterNetwork untuk menampilkan semua jaringan kluster:

Get-ClusterNetwork

Langkah 2.1: Menyiapkan drive

Sebelum Anda mengaktifkan Storage Spaces Direct, pastikan drive permanen Anda kosong. Jalankan skrip berikut untuk menghapus partisi lama dan data lainnya.

Catatan

Kecuali drive yang dapat dilepas yang dilampirkan ke node server dari skrip. Jika Anda menjalankan skrip ini secara lokal dari node server misalnya, Anda tidak ingin menghapus drive yang dapat dilepas yang mungkin Anda gunakan untuk menyebarkan kluster.

# Fill in these variables with your values
$ServerList = "Server1", "Server2", "Server3", "Server4"

Invoke-Command ($ServerList) {
    Update-StorageProviderCache
    Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue
    Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue
    Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue
    Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue
    Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % {
        $_ | Set-Disk -isoffline:$false
        $_ | Set-Disk -isreadonly:$false
        $_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
        $_ | Set-Disk -isreadonly:$true
        $_ | Set-Disk -isoffline:$true
    }
    Get-Disk | Where Number -Ne $Null | Where IsBoot -Ne $True | Where IsSystem -Ne $True | Where PartitionStyle -Eq RAW | Group -NoElement -Property FriendlyName
} | Sort -Property PsComputerName, Count

Langkah 2.2: Menguji konfigurasi kluster

Dalam langkah ini, pastikan bahwa simpul server dikonfigurasi dengan benar untuk membuat kluster. Cmdlet Test-Cluster digunakan untuk menjalankan pengujian untuk memverifikasi apakah konfigurasi Anda cocok untuk berfungsi sebagai kluster hyperconverged. Contoh berikut menggunakan -Include parameter , dengan kategori pengujian tertentu yang ditentukan untuk memastikan bahwa pengujian yang benar disertakan dalam validasi.

Test-Cluster -Node $ServerList -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

Langkah 3: Membuat kluster

Anda sekarang siap untuk membuat kluster dengan simpul server yang Anda validasi di langkah-langkah sebelumnya.

Saat membuat kluster, Anda mungkin mendapatkan peringatan yang menyatakan - "There were issues while creating the clustered role that may prevent it from starting. For more information, view the report file below." Anda dapat mengabaikan peringatan ini dengan aman. Peringatan ini karena tidak ada disk yang tersedia untuk bukti kluster. Bukti kluster dibuat di langkah-langkah selanjutnya.

Catatan

Jika server menggunakan alamat IP statis, ubah perintah berikut untuk mencerminkan alamat IP statis dengan menambahkan parameter berikut dan menentukan alamat IP: -StaticAddress <X.X.X.X>;.

$ClusterName="cluster1" 
New-Cluster -Name $ClusterName –Node $ServerList –nostorage

Setelah kluster dibuat, perlu beberapa waktu agar nama kluster direplikasi melalui DNS di seluruh domain Anda, terutama jika server grup kerja baru ditambahkan ke Direktori Aktif. Meskipun kluster mungkin telah ditampilkan di Pusat Admin Windows, mungkin kluster belum tersedia untuk sambungan.

Pemeriksaan yang baik untuk memastikan semua sumber daya kluster telah online:

Get-Cluster -Name $ClusterName | Get-ClusterResource

Jika menyelesaikan kluster tidak berhasil setelah beberapa waktu, dalam kebanyakan kasus Anda dapat menyambungkan dengan menggunakan nama salah satu server berkluster alih-alih nama kluster.

Langkah 4: Mengonfigurasi jaringan host

Microsoft merekomendasikan menggunakan ATC Jaringan untuk menyebarkan jaringan host jika Anda menjalankan Azure Stack HCI versi 21H2 atau yang lebih baru. Atau, lihat Persyaratan jaringan host untuk persyaratan dan informasi spesifik.

ATC Jaringan dapat mengotomatiskan penyebaran konfigurasi jaringan yang Anda maksudkan jika Anda menentukan satu atau beberapa jenis niat untuk adaptor Anda. Untuk informasi selengkapnya tentang jenis niat tertentu, lihat: Jenis Lalu Lintas Jaringan.

Langkah 4.1: Meninjau adapter fisik

Pada salah satu node kluster, jalankan Get-NetAdapter untuk meninjau adapter fisik. Pastikan bahwa setiap node dalam kluster memiliki adapter fisik bernama yang sama dan bahwa mereka melaporkan status sebagai 'Aktif'.

Get-NetAdapter -Name pNIC01, pNIC02 -CimSession $ClusterName | Select Name, PSComputerName

Jika nama adapter fisik bervariasi di seluruh node di kluster Anda, Anda dapat mengganti namanya menggunakan Rename-NetAdapter.

Rename-NetAdapter -Name oldName -NewName newName

Langkah 4.2: Mengonfigurasi niat

Dalam contoh ini, niat yang dibuat menentukan niat komputasi dan penyimpanan. Lihat Menyederhanakan jaringan host dengan ATC Jaringan untuk contoh niat lainnya.

Jalankan perintah berikut untuk menambahkan jenis niat penyimpanan dan komputar ke pNIC01 dan pNIC02. Catatan, kami menentukan -ClusterName parameter .

Add-NetIntent -Name Cluster_ComputeStorage -Compute -Storage -ClusterName $ClusterName -AdapterName pNIC01, pNIC02

Perintah akan segera kembali setelah beberapa verifikasi awal.

Langkah 4.3: Memvalidasi penyebaran niat

Jalankan cmdlet Get-NetIntent untuk melihat niat kluster. Jika Anda memiliki lebih dari satu niat, Anda dapat menentukan parameter Name untuk melihat detail niat tertentu saja.

Get-NetIntent -ClusterName $ClusterName

Untuk melihat status provisi niat, jalankan perintah Get-NetIntentStatus:

Get-NetIntentStatus -ClusterName $ClusterName -Name Cluster_ComputeStorage

Perhatikan parameter status yang menunjukkan Provisi, Validasi, Berhasil, Gagal.

Status akan menampilkan keberhasilan dalam beberapa menit. Jika status keberhasilan tidak terjadi atau Anda melihat kegagalan parameter status, periksa penampil peristiwa untuk masalah.

Catatan

Pada saat ini, ATC Jaringan tidak mengonfigurasi alamat IP untuk salah satu adapter yang dikelola. Setelah Get-NetIntentStatus melaporkan status selesai, Anda harus menambahkan alamat IP ke adapter.

Langkah 5: Menyiapkan situs (kluster terentang)

Tugas ini hanya berlaku jika Anda membuat kluster yang direntangkan antara dua situs dengan setidaknya dua server di setiap situs.

Catatan

Jika Anda telah menyiapkan Situs dan Layanan Direktori Aktif sebelumnya, Anda tidak perlu membuat situs secara manual seperti yang dijelaskan di bagian berikutnya.

Langkah 5.1: Membuat situs

Dalam cmdlet berikut, FaultDomain hanyalah nama lain untuk situs. Contoh ini menggunakan "ClusterS1" sebagai nama kluster terentang.

New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site1"
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site2"

Get-ClusterFaultDomain Gunakan cmdlet untuk memverifikasi bahwa kedua situs dibuat untuk kluster.

Get-ClusterFaultDomain -CimSession $ClusterName

Langkah 5.2: Menetapkan node kluster

Selanjutnya, kami menetapkan empat simpul server ke situs masing-masing. Dalam contoh berikut, Server1 dan Server2 ditetapkan ke Site1, sementara Server3 dan Server4 ditetapkan ke Site2.

Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server1", "Server2" -Parent "Site1"
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server3", "Server4" -Parent "Site2"

Dengan menggunakan cmdlet Get-ClusterFaultDomain, verifikasi node berada di situs yang benar.

Get-ClusterFaultDomain -CimSession $ClusterName

Langkah 5.3: Mengatur situs pilihan

Anda juga dapat menentukan situs pilihan global, yang berarti bahwa sumber daya dan grup harus berjalan pada situs pilihan. Pengaturan ini dapat ditentukan pada tingkat situs menggunakan perintah berikut:

(Get-Cluster).PreferredSite = "Site1"

Menentukan Situs yang disukai untuk kluster terentang yang memiliki keuntungan berikut:

  • Awal dingin - selama awal dingin, mesin virtual ditempatkan di situs pilihan

  • Pemungutan suara kuorum

    • Dengan kuorum dinamis, pembobotan dikurangi dari situs pasif (direplikasi) terlebih dahulu untuk memastikan bahwa situs pilihan bertahan jika semua hal lain sama. Selain itu, simpul server dipindah dari situs pasif terlebih dahulu selama grup ulang setelah peristiwa seperti kegagalan konektivitas jaringan asimetris.

    • Selama pemisahan kuorum dua situs, jika saksi kluster tidak dapat dihubungi, situs pilihan secara otomatis dipilih untuk menang. Simpul server di situs pasif kemudian keluar dari keanggotaan kluster yang memungkinkan kluster bertahan dari kehilangan suara 50% secara bersamaan.

Situs pilihan juga dapat dikonfigurasi pada tingkat grup atau peran kluster. Dalam hal ini, situs pilihan yang berbeda dapat dikonfigurasi untuk setiap grup komputer virtual yang memungkinkan situs aktif dan lebih disukai untuk komputer virtual tertentu.

Langkah 5.4: Menyiapkan Pengklusteran Stretch dengan ATC Jaringan

Setelah versi 22H2, Anda dapat menggunakan NETWORK ATC untuk menyiapkan pengklusteran Stretch. ATC Jaringan menambahkan Stretch sebagai jenis niat dari versi 22H2. Untuk menyebarkan niat dengan Pengklusteran Stretch dengan Network ATC, jalankan perintah berikut:

Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01", "pNIC02"

Niat peregangan juga dapat dikombinasikan dengan niat lain, saat menyebarkan dengan Network ATC.

SiteOverrides

Berdasarkan langkah 5.1-5.3, Anda dapat menambahkan situs yang telah dibuat sebelumnya ke niat stretch yang disebarkan dengan Network ATC. ATC Jaringan menangani ini menggunakan SiteOverrides. Untuk membuat SiteOverride, jalankan:

 $siteOverride = New-NetIntentSiteOverrides

Setelah siteOverride Anda dibuat, Anda dapat mengatur properti apa pun untuk siteOverride. Pastikan bahwa properti nama siteOverride memiliki nama yang sama persis, seperti nama yang dimiliki situs Anda di ClusterFaultDomain. Ketidakcocokan nama antara ClusterFaultDomain dan siteOverride menghasilkan siteOverride tidak diterapkan.

Properti yang dapat Anda atur untuk siteOverride tertentu adalah: Nama, StorageVlan, dan StretchVlan. Misalnya, Anda membuat 2 siteOverrides untuk dua situs Anda- site1 dan site2 menggunakan:

$siteOverride1 = New-NetIntentSiteOverrides
$siteoverride1.Name = "site1"
$siteOverride1.StorageVLAN = 711
$siteOverride1.StretchVLAN = 25

$siteOverride2 = New-NetIntentSiteOverrides
$siteOverride2.Name = "site2"
$siteOverride2.StorageVLAN = 712
$siteOverride2.StretchVLAN = 26

Anda dapat menjalankan $siteOverride1, $siteOverride2 di jendela PowerShell untuk memastikan semua properti Anda diatur dengan cara yang diinginkan.

Terakhir, untuk menambahkan satu atau beberapa siteOverrides ke niat Anda, jalankan:

Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01" , "pNIC02" -SiteOverrides $siteOverride1, $siteOverride2

Langkah 6: Mengaktifkan Storage Spaces Direct

Setelah membuat kluster, gunakan cmdlet Enable-ClusterStorageSpacesDirect, yang akan mengaktifkan Storage Spaces Direct dan melakukan tindakan berikut secara otomatis:

  • Membuat kumpulan penyimpanan: Membuat kumpulan penyimpanan untuk kluster yang memiliki nama seperti "Kumpulan Penyimpanan Cluster1".

  • Membuat disk Riwayat Performa Kluster: Membuat disk virtual Riwayat Performa Kluster di kumpulan penyimpanan.

  • Membuat volume data dan log: Membuat volume data dan volume log di kumpulan penyimpanan.

  • Mengonfigurasi cache Storage Spaces Direct: Jika ada lebih dari satu jenis media (drive) yang tersedia untuk Ruang Penyimpanan Langsung, itu memungkinkan yang tercepat sebagai perangkat cache (baca dan tulis dalam banyak kasus).

  • Membuat tingkatan: Membuat dua tingkatan sebagai tingkatan default. Yang satu disebut "Kapasitas" dan yang lainnya disebut "Performa". Cmdlet menganalisis perangkat dan mengonfigurasi setiap tingkat dengan campuran jenis perangkat dan ketahanan.

Untuk skenario server tunggal, satu-satunya FaultDomainAwarenessDefault adalah PhysicalDisk. Enable-ClusterStorageSpacesDirect cmdlet mendeteksi satu server dan secara otomatis mengonfigurasi FaultDomainAwarenessDefault sebagai PhysicalDisk selama pengaktifan.

Untuk kluster yang direntangkan, Enable-ClusterStorageSpacesDirect cmdlet juga akan:

  • Periksa untuk melihat apakah situs disiapkan
  • Menentukan node mana yang ada di situs mana
  • Menentukan penyimpanan apa yang dimiliki setiap node
  • Pemeriksaan untuk melihat apakah fitur Storage Replica terinstal pada setiap node
  • Membuat kolam penyimpanan untuk setiap situs dan mengidentifikasinya dengan nama situs
  • Membuat volume log dan data di setiap kumpulan penyimpanan - satu per situs

Perintah berikut memungkinkan Ruang Penyimpanan Langsung pada kluster multi-node. Anda juga dapat menentukan nama yang ramah untuk kumpulan penyimpanan, seperti yang ditunjukkan di sini:

Enable-ClusterStorageSpacesDirect -PoolFriendlyName "$ClusterName Storage Pool" -CimSession $ClusterName

Berikut adalah contoh menonaktifkan cache penyimpanan, pada kluster simpul tunggal:

Enable-ClusterStorageSpacesDirect -CacheState Disabled

Untuk melihat kumpulan penyimpanan, gunakan perintah berikut:

Get-StoragePool -CimSession $ClusterName

Setelah Anda membuat kluster

Sekarang setelah kluster Anda dibuat, ada tugas penting lainnya yang perlu Anda selesaikan:

Langkah berikutnya