Kesadaran domain kesalahan
Pengklusteran Failover memungkinkan beberapa server bekerja sama untuk memberikan ketersediaan tinggi - atau dengan cara lain, untuk memberikan toleransi kesalahan node. Tetapi bisnis saat ini menuntut ketersediaan yang semakin besar dari infrastruktur mereka. Untuk mencapai waktu aktif seperti cloud, bahkan kejadian yang sangat tidak mungkin seperti kegagalan sasis, pemadaman rak, atau bencana alam harus dilindungi. Itulah sebabnya Pengklusteran Failover di Windows Server 2016 memperkenalkan sasis, rak, dan toleransi kesalahan situs juga.
Domain kesalahan dan toleransi kesalahan
Domain kesalahan dan toleransi kesalahan adalah konsep yang terkait erat. Domain kegagalan adalah seperangkat komponen perangkat keras yang berbagi satu titik kegagalan. Agar toleran terhadap kesalahan ke tingkat tertentu, Anda memerlukan beberapa domain kesalahan pada tingkat tersebut. Misalnya, untuk menjadi toleran terhadap kesalahan rak, server Anda dan data Anda harus didistribusikan di beberapa rak.
Video singkat ini menyajikan gambaran umum domain kesalahan di Windows Server 2016.
Kesadaran domain kesalahan di Windows Server 2019
Kesadaran domain kesalahan tersedia di Windows Server 2019 tetapi dinonaktifkan secara default dan harus diaktifkan melalui Windows Registry.
Untuk mengaktifkan kesadaran domain kesalahan di Windows Server 2019, buka Windows Registry dan atur (Get-Cluster). Kunci registri AutoAssignNodeSite ke 1.
(Get-Cluster).AutoAssignNodeSite=1
Untuk menonaktifkan kesadaran domain kesalahan di Windows 2019, buka Windows Registry dan atur (Get-Cluster). Kunci registri AutoAssignNodeSite ke 0.
(Get-Cluster).AutoAssignNodeSite=0
Keuntungan
Ruang Penyimpanan, termasuk Ruang Penyimpanan Langsung, menggunakan domain kesalahan untuk memaksimalkan keamanan data. Ketahanan di Ruang Penyimpanan secara konseptual seperti RAID yang didistribusikan dan ditentukan perangkat lunak. Beberapa salinan semua data tetap sinkron, dan jika perangkat keras gagal dan satu salinan hilang, yang lain dikodekan ulang untuk memulihkan ketahanan. Untuk mencapai ketahanan sebaik mungkin, salinan harus disimpan di domain kesalahan terpisah.
Layanan Kesehatan menggunakan domain kesalahan untuk memberikan pemberitahuan yang lebih bermanfaat. Setiap domain kesalahan dapat dikaitkan dengan metadata lokasi, yang akan secara otomatis disertakan dalam pemberitahuan berikutnya. Deskriptor ini dapat membantu personel operasi atau pemeliharaan dan mengurangi kesalahan dengan memisahkan perangkat keras.
Pengklusteran stretch menggunakan domain kesalahan untuk afinitas penyimpanan. Pengklusteran stretch memungkinkan server yang jauh untuk bergabung dengan kluster umum. Untuk performa terbaik, aplikasi atau komputer virtual harus dijalankan di server yang berada di dekat mereka yang menyediakan penyimpanan mereka. Kesadaran domain kesalahan memungkinkan afinitas penyimpanan ini.
Tingkat domain kesalahan
Ada empat tingkat domain kesalahan kanonis - situs, rak, sasis, dan simpul. Simpul ditemukan secara otomatis; setiap tingkat tambahan bersifat opsional. Misalnya, jika penyebaran Anda tidak menggunakan server blade, tingkat sasis mungkin tidak masuk akal bagi Anda.
Penggunaan
Anda dapat menggunakan markup PowerShell atau XML untuk menentukan domain kesalahan. Kedua pendekatan setara dan menyediakan fungsionalitas penuh.
Penting
Tentukan domain kesalahan sebelum mengaktifkan Storage Spaces Direct, jika memungkinkan. Ini memungkinkan konfigurasi otomatis untuk menyiapkan kumpulan, tingkatan, dan pengaturan seperti ketahanan dan jumlah kolom, untuk toleransi kesalahan sasis atau rak. Setelah kumpulan dan volume dibuat, data tidak akan berpindah secara surut sebagai respons terhadap perubahan pada topologi domain kesalahan. Untuk memindahkan simpul antara sasis atau rak setelah mengaktifkan Storage Spaces Direct, Anda harus terlebih dahulu mengeluarkan simpul dan drivenya dari kumpulan menggunakan Remove-ClusterNode -CleanUpDisks
.
Menentukan domain kesalahan dengan PowerShell
Windows Server 2016 memperkenalkan cmdlet berikut untuk bekerja dengan domain kesalahan:
Get-ClusterFaultDomain
Set-ClusterFaultDomain
New-ClusterFaultDomain
Remove-ClusterFaultDomain
Video singkat ini menunjukkan penggunaan perintah PowerShell domain kesalahan kluster.
Gunakan Get-ClusterFaultDomain
untuk melihat topologi domain kesalahan saat ini. Ini mencantumkan semua simpul dalam kluster, ditambah sasis, rak, atau situs apa pun yang telah Anda buat. Anda dapat memfilter menggunakan parameter seperti -Type atau -Name, tetapi ini tidak diperlukan.
Get-ClusterFaultDomain
Get-ClusterFaultDomain -Type Rack
Get-ClusterFaultDomain -Name "server01.contoso.com"
Gunakan New-ClusterFaultDomain
untuk membuat sasis, rak, atau situs baru. Parameter -Type
dan -Name
dihitung. Nilai yang mungkin untuk -Type
adalah Chassis
, Rack
, dan Site
. -Name
Dapat berupa string apa pun. (Untuk Node
domain kesalahan jenis, nama harus berupa nama node aktual, sebagaimana diatur secara otomatis).
New-ClusterFaultDomain -Type Chassis -Name "Chassis 007"
New-ClusterFaultDomain -Type Rack -Name "Rack A"
New-ClusterFaultDomain -Type Site -Name "Shanghai"
Penting
Windows Server tidak dapat dan tidak memverifikasi bahwa domain kesalahan apa pun yang Anda buat sesuai dengan apa pun di dunia fisik nyata. (Ini mungkin terdengar jelas, tetapi penting untuk dipahami.) Jika, di dunia fisik, simpul Anda semuanya berada dalam satu rak, maka membuat dua -Type Rack
domain kesalahan dalam perangkat lunak tidak secara ajaib memberikan toleransi kesalahan rak. Anda bertanggung jawab untuk memastikan topologi yang Anda buat menggunakan cmdlet ini cocok dengan pengaturan perangkat keras Anda yang sebenarnya.
Gunakan Set-ClusterFaultDomain
untuk memindahkan satu domain kesalahan ke domain lain. Istilah "induk" dan "anak" biasanya digunakan untuk menggambarkan hubungan bersarang ini. Parameter -Name
dan -Parent
dihitung. Dalam -Name
, berikan nama domain kesalahan yang bergerak; di -Parent
, berikan nama tujuan. Untuk memindahkan beberapa domain kesalahan sekaligus, cantumkan namanya.
Set-ClusterFaultDomain -Name "server01.contoso.com" -Parent "Rack A"
Set-ClusterFaultDomain -Name "Rack A", "Rack B", "Rack C", "Rack D" -Parent "Shanghai"
Penting
Saat domain kesalahan dipindahkan, anak-anak mereka berpindah bersama mereka. Dalam contoh di atas, jika Rack A adalah induk server01.contoso.com, yang terakhir tidak secara terpisah perlu dipindahkan ke situs Shanghai - itu sudah ada karena induknya berada di sana, sama seperti di dunia fisik.
Anda dapat melihat hubungan induk-turunan Get-ClusterFaultDomain
dalam output , di ParentName
kolom dan ChildrenNames
.
Anda juga dapat menggunakan Set-ClusterFaultDomain
untuk memodifikasi properti domain kesalahan tertentu lainnya. Misalnya, Anda dapat menyediakan opsional -Location
atau -Description
metadata untuk domain kesalahan apa pun. Jika disediakan, informasi ini akan disertakan dalam pemberitahuan perangkat keras dari Layanan Kesehatan. Anda juga dapat mengganti nama domain kesalahan menggunakan -NewName
parameter . Jangan ganti nama Node
domain kesalahan jenis.
Set-ClusterFaultDomain -Name "Rack A" -Location "Building 34, Room 4010"
Set-ClusterFaultDomain -Type Node -Description "Contoso XYZ Server"
Set-ClusterFaultDomain -Name "Shanghai" -NewName "China Region"
Gunakan Remove-ClusterFaultDomain
untuk menghapus sasis, rak, atau situs yang telah Anda buat. Parameter -Name
diperlukan. Anda tidak dapat menghapus domain kesalahan yang berisi turunan – pertama, menghapus turunan, atau memindahkannya ke luar menggunakan Set-ClusterFaultDomain
. Untuk memindahkan domain kesalahan di luar semua domain kesalahan lainnya, atur -Parent
ke string kosong (""). Anda tidak dapat menghapus Node
domain kesalahan tipe. Untuk menghapus beberapa domain kesalahan sekaligus, cantumkan namanya.
Set-ClusterFaultDomain -Name "server01.contoso.com" -Parent ""
Remove-ClusterFaultDomain -Name "Rack A"
Menentukan domain kesalahan dengan markup XML
Domain kesalahan dapat ditentukan menggunakan sintaksis yang terinspirasi XML. Sebaiknya gunakan editor teks favorit Anda, seperti Visual Studio Code (tersedia secara gratis di sini) atau Notepad untuk membuat dokumen XML yang dapat Anda simpan dan gunakan kembali.
Video singkat ini menunjukkan penggunaan XML untuk menentukan domain kesalahan dalam pengklusteran failover.
Di PowerShell, jalankan cmdlet berikut: Get-ClusterFaultDomainXML
. Ini mengembalikan spesifikasi domain kesalahan saat ini untuk kluster, sebagai XML. Ini mencerminkan <Node>
setiap tag yang ditemukan, dibungkus <Topology>
dalam tag pembuka dan penutup.
Jalankan yang berikut ini untuk menyimpan output ini ke file.
Get-ClusterFaultDomainXML | Out-File <Path>
Buka file, dan tambahkan <Site>
tag , <Rack>
, dan <Chassis>
untuk menentukan bagaimana simpul ini didistribusikan di seluruh situs, rak, dan sasis. Setiap tag harus diidentifikasi dengan Nama unik. Untuk simpul, Anda harus menyimpan nama simpul seperti yang diisi secara default.
Penting
Meskipun semua tag tambahan bersifat opsional, tag harus mematuhi hierarki Simpul Sasis > Rak > Situs > transitif, dan harus ditutup dengan benar.
Selain nama, bentuk bebas Location="..."
dan Description="..."
deskriptor dapat ditambahkan ke tag apa pun.
Contoh: Dua situs, masing-masing satu rak
<Topology>
<Site Name="SEA" Location="Contoso HQ, 123 Example St, Room 4010, Seattle">
<Rack Name="A01" Location="Aisle A, Rack 01">
<Node Name="Server01" Location="Rack Unit 33" />
<Node Name="Server02" Location="Rack Unit 35" />
<Node Name="Server03" Location="Rack Unit 37" />
</Rack>
</Site>
<Site Name="NYC" Location="Regional Datacenter, 456 Example Ave, New York City">
<Rack Name="B07" Location="Aisle B, Rack 07">
<Node Name="Server04" Location="Rack Unit 20" />
<Node Name="Server05" Location="Rack Unit 22" />
<Node Name="Server06" Location="Rack Unit 24" />
</Rack>
</Site>
</Topology>
Contoh: dua server bilah sasis
<Topology>
<Rack Name="A01" Location="Contoso HQ, Room 4010, Aisle A, Rack 01">
<Chassis Name="Chassis01" Location="Rack Unit 2 (Upper)" >
<Node Name="Server01" Location="Left" />
<Node Name="Server02" Location="Right" />
</Chassis>
<Chassis Name="Chassis02" Location="Rack Unit 6 (Lower)" >
<Node Name="Server03" Location="Left" />
<Node Name="Server04" Location="Right" />
</Chassis>
</Rack>
</Topology>
Untuk mengatur spesifikasi domain kesalahan baru, simpan XML Anda dan jalankan yang berikut ini di PowerShell.
$xml = Get-Content <Path> | Out-String
Set-ClusterFaultDomainXML -XML $xml
Panduan ini hanya menyajikan dua contoh, tetapi <Site>
tag , , <Rack>
<Chassis>
, dan <Node>
dapat dicampur dan dicocokkan dalam beberapa cara untuk mencerminkan topologi fisik penyebaran Anda, apa pun yang mungkin. Kami berharap contoh-contoh ini menggambarkan fleksibilitas tag ini dan nilai deskriptor lokasi bentuk bebas untuk memisahkannya.
Opsional: Metadata lokasi dan deskripsi
Anda dapat menyediakan metadata Lokasi atau Deskripsi opsional untuk domain kesalahan apa pun. Jika disediakan, informasi ini akan disertakan dalam pemberitahuan perangkat keras dari Layanan Kesehatan.
Video singkat ini menunjukkan nilai penambahan deskriptor lokasi ke domain kesalahan.