Bagikan melalui


Memahami kuorum kluster dan kumpulan

Berlaku untuk: Azure Stack HCI, versi 22H2 dan 21H2; Windows Server 2022, Windows Server

Pengklusteran Failover Windows Server menyediakan ketersediaan tinggi untuk beban kerja yang berjalan pada kluster Azure Stack HCI dan Windows Server. Sumber daya ini dianggap sangat tersedia jika node yang menghosting sumber daya sudah habis; namun, kluster umumnya memerlukan lebih dari setengah node untuk dijalankan, yang dikenal sebagai memiliki kuorum.

Kuorum dirancang untuk mencegah skenario split-brain yang dapat terjadi ketika ada partisi dalam jaringan dan subset dari simpul-simpul tidak dapat saling berkomunikasi. Ini dapat menyebabkan kedua subset simpul mencoba mengelola beban kerja dan menulis ke disk yang sama, yang dapat menimbulkan banyak masalah. Namun, ini dicegah dengan konsep kuorum dari Pengklusteran Failover, yang hanya memaksa salah satu grup simpul ini untuk tetap berjalan, sehingga hanya satu dari grup ini yang tetap daring.

Kuorum menentukan jumlah kegagalan yang dapat ditoleransi kluster sementara tetap berfungsi secara online. Kuorum dirancang untuk menangani skenario ketika ada masalah dengan komunikasi antara subset node kluster, sehingga beberapa server tidak mencoba menghosting grup sumber daya secara bersamaan dan menulis ke disk yang sama secara bersamaan. Dengan memiliki konsep kuorum ini, kluster memaksa layanan kluster untuk berhenti di salah satu subset simpul untuk memastikan bahwa hanya ada satu pemilik sejati dari grup sumber daya tertentu. Simpul yang telah dihentikan sekali lagi dapat berkomunikasi dengan grup utama simpul dan akan secara otomatis bergabung kembali dengan kluster dan memulai layanan kluster mereka.

Di Azure Stack HCI dan Windows Server 2019, ada dua komponen sistem yang memiliki mekanisme kuorum mereka sendiri:

  • Kuorum Kluster: Ini beroperasi di tingkat kluster (yaitu Anda dapat kehilangan node dan membuat kluster tetap aktif)
  • Kuorum Kumpulan: Ini beroperasi pada tingkat kumpulan (yaitu Anda dapat kehilangan simpul dan drive dan membuat kumpulan tetap terjaga). Kumpulan penyimpanan dirancang untuk digunakan dalam skenario berkluster dan tidak berkluster, itulah sebabnya mereka memiliki mekanisme kuorum yang berbeda.

Gambaran umum kuorum kluster

Tabel di bawah ini memberikan gambaran umum tentang hasil kuorum kluster per skenario:

Node kluster Dapat bertahan dari satu kegagalan node kluster Dapat bertahan dari satu kegagalan node kluster, lalu yang lain Dapat bertahan dari dua kegagalan node kluster secara bersamaan
2 50/50 Tidak. Tidak.
2 + Saksi Ya Tidak. Tidak.
3 Ya 50/50 Tidak.
3 + Saksi Ya Ya Tidak.
4 Ya Ya 50/50
4 + Saksi Ya Ya Ya
5 ke atas Ya Ya Ya

Rekomendasi kuorum kluster

  • Jika Anda memiliki dua simpul, saksi diperlukan.
  • Jika Anda memiliki tiga atau empat node, witness sangat disarankan.
  • Jika Anda memiliki lima simpul atau lebih, saksi tidak diperlukan dan tidak memberikan ketahanan tambahan.
  • Jika Anda memiliki akses internet, gunakan bukti cloud.
  • Jika Anda berada di lingkungan TI dengan mesin lainnya serta berbagi file, gunakan saksi berbagi file.

Cara kerja kuorum kluster

Ketika node gagal, atau ketika beberapa subset node kehilangan kontak dengan subset lain, node yang bertahan perlu memverifikasi bahwa mereka merupakan mayoritas kluster untuk tetap online. Jika tidak dapat memverifikasinya, mereka akan offline.

Tetapi konsep mayoritas hanya berfungsi dengan bersih ketika jumlah total simpul dalam kluster ganjil (misalnya, tiga node dalam kluster lima node). Jadi, bagaimana dengan kluster dengan jumlah node genap (katakanlah, kluster empat node)?

Ada dua cara kluster dapat membuat jumlah total suara ganjil:

  1. Pertama, ia dapat naik satu tingkat dengan menambahkan saksi yang memiliki suara tambahan. Ini memerlukan pengaturan pengguna.
  2. Atau, itu bisa dikurangi satu dengan meniadakan suara dari satu simpul yang kurang beruntung (terjadi secara otomatis sesuai kebutuhan).

Setiap kali node yang bertahan berhasil memverifikasi bahwa mereka adalah bagian dari mayoritas, definisi mayoritas diperbarui untuk mencakup hanya para penyintas. Ini memungkinkan kluster untuk kehilangan satu simpul, kemudian simpul lain, kemudian yang lain, dan sebagainya. Konsep jumlah total suara yang beradaptasi setelah kegagalan berturut-turut dikenal sebagai kuorum Dinamis.

Bukti dinamis

Bukti dinamis mengubah suara saksi untuk memastikan bahwa jumlah total suara ganjil. Jika ada jumlah suara ganjil, saksi tidak memiliki suara. Jika ada jumlah suara yang merata, saksi memiliki suara. Bukti dinamis secara signifikan mengurangi kemungkinan kluster turun karena kegagalan pengamat. Kluster memutuskan apakah akan menggunakan suara saksi berdasarkan jumlah simpul pemungutan suara yang tersedia di kluster.

Kuorum dinamis bekerja dengan saksi dinamis dengan cara yang dijelaskan di bawah ini.

Perilaku kuorum dinamis

  • Jika Anda memiliki jumlah node yang merata dan tidak ada saksi, satu simpul akan mendapatkan suaranya nol. Misalnya, hanya tiga dari empat simpul yang mendapatkan suara, sehingga jumlah total suara adalah tiga, dan dua orang yang selamat dengan suara dianggap sebagai mayoritas.
  • Jika Anda memiliki jumlah node ganjil dan tidak ada saksi, mereka semua mendapatkan suara.
  • Jika Anda memiliki jumlah node yang genap ditambah saksi, maka saksi memberikan suara, sehingga totalnya menjadi ganjil.
  • Jika Anda memiliki jumlah node yang ganjil dengan tambahan saksi, maka saksi tidak memberikan suara.

Kuorum dinamis memungkinkan kemampuan untuk menetapkan suara ke node secara dinamis untuk menghindari kehilangan sebagian besar suara dan untuk memungkinkan kluster berjalan dengan satu node (dikenal sebagai last-man standing). Mari kita ambil kluster empat node sebagai contoh. Asumsikan bahwa kuorum membutuhkan 3 suara.

Dalam hal ini, kluster akan mengalami kegagalan jika Anda kehilangan dua simpul.

Diagram memperlihatkan empat node kluster, yang masing-masing mendapatkan suara.

Namun, kuorum dinamis mencegah hal ini terjadi. Jumlah total suara yang diperlukan untuk kuorum sekarang ditentukan berdasarkan jumlah simpul yang tersedia. Jadi, dengan kuorum dinamis, kluster tetap terjaga bahkan jika Anda kehilangan tiga node.

Diagram memperlihatkan empat node kluster, dengan node gagal satu per satu, dan jumlah suara yang diperlukan menyesuaikan setelah setiap kegagalan.

Skenario di atas berlaku untuk kluster umum yang tidak mengaktifkan Storage Spaces Direct. Namun, ketika Storage Spaces Direct diaktifkan, Kluster hanya dapat mendukung dua kegagalan simpul. Ini dijelaskan lebih lanjut di bagian kuorum kumpulan.

Contoh

Dua simpul tanpa saksi

Satu suara simpul dinyatakan nol, sehingga suara mayoritas ditentukan dari total 1 suara. Jika node yang tidak memiliki hak suara turun secara tak terduga, node yang bertahan memiliki 1/1 dan kluster tetap berfungsi. Jika simpul pemungutan suara turun secara tak terduga, penyintas memiliki 0/1 dan kluster turun. Jika node pemungutan suara dimatikan dengan baik, suara ditransfer ke node lain, dan kluster bertahan. Inilah sebabnya mengapa sangat penting untuk mengonfigurasi saksi.

Dijelaskan bahwa kuorum dalam kasus yang melibatkan dua node tanpa saksi.

  • Dapat bertahan dari satu kegagalan server: Peluang lima puluh persen.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Tidak.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Dua simpul dengan saksi

Kedua simpul memilih, ditambah suara saksi, sehingga mayoritas ditentukan dari total 3 suara. Jika salah satu node mengalami gangguan, node lain memiliki 2/3 dan kluster tetap bertahan.

Kuorum dijelaskan dalam kasus dengan dua node dan satu saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Tidak.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Tiga simpul tanpa saksi

Semua simpul memilih, sehingga mayoritas ditentukan dari total 3 suara. Jika ada node yang turun, sisanya adalah 2/3 dari jumlah total node dan kluster tetap berfungsi. Kluster menjadi dua node tanpa saksi - pada saat itu, Anda berada di Skenario 1.

Penjelasan tentang kuorum dalam kasus dengan tiga simpul tanpa saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Peluang lima puluh persen.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Tiga node dengan saksi

Semua simpul memilih, sehingga saksi awalnya tidak memilih. Mayoritas ditentukan dari total 3 suara. Setelah satu kegagalan, kluster memiliki dua node dengan saksi - yang kembali ke Skenario 2. Jadi, sekarang dua simpul dan saksi memilih.

Penjelasan tentang kuorum pada kasus dengan tiga simpul dan saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Empat simpul tanpa saksi

Satu suara node adalah nol, sehingga mayoritas ditentukan dari total 3 suara. Setelah satu kegagalan, kluster menjadi tiga node, dan Anda berada dalam Skenario 3.

Kuorum dijelaskan pada kasus dengan empat simpul tanpa saksi tambahan.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Peluang lima puluh persen.

Empat simpul dengan saksi

Semua suara simpul dan suara saksi, sehingga mayoritas ditentukan dari total 5 suara. Setelah satu kegagalan, Anda berada dalam Skenario 4. Setelah dua kegagalan bersamaan, Anda melompat ke Skenario 2.

Kuorum dijelaskan dalam kasus dengan empat simpul dan satu saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Ya.

Lima node dan seterusnya

Semua simpul memberikan suara, atau semua kecuali satu, mana saja yang membuat jumlahnya ganjil. Ruang Penyimpanan Langsung tidak dapat menangani lebih dari dua simpul ke bawah, jadi pada saat ini, tidak ada saksi yang diperlukan atau berguna.

Penjelasan tentang kuorum dalam kasus dengan lima simpul dan lebih.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Ya.

Sekarang setelah kita memahami cara kerja kuorum, mari kita lihat jenis saksi kuorum.

Jenis saksi kuorum

Pengklusteran Failover mendukung tiga kategori Saksi Quorum:

  • Cloud Witness - Penyimpanan blob di Azure dapat diakses oleh semua simpul kluster. Ini mempertahankan informasi pengklusteran dalam file witness.log, tetapi tidak menyimpan salinan database kluster.
  • File Share Witness – Berbagi file SMB yang dikonfigurasi pada server file yang menjalankan Windows Server. Ini mempertahankan informasi pengklusteran dalam file witness.log, tetapi tidak menyimpan salinan database kluster.
  • Disk Witness - Sebuah disk kecil yang dicluster yang termasuk dalam grup Penyimpanan Tersedia untuk Kluster. Disk ini memiliki ketersediaan tinggi dan dapat beralih antar node. Ini berisi salinan database kluster. Saksi Disk tidak didukung dengan Storage Spaces Direct.

Gambaran umum kuorum kumpulan

Kami baru saja berbicara tentang kuorum kluster, yang beroperasi di tingkat kluster. Sekarang, mari kita menyelami kuorum kumpulan, yang beroperasi pada tingkat kumpulan (yaitu Anda dapat kehilangan node dan drive dan membuat kumpulan tetap aktif). Kumpulan penyimpanan dirancang untuk digunakan dalam skenario berkluster dan tidak berkluster, itulah sebabnya mereka memiliki mekanisme kuorum yang berbeda.

Tabel di bawah ini memberikan gambaran umum tentang hasil kuorum kumpulan per skenario:

Node kluster Dapat bertahan dari satu kegagalan node kluster Dapat bertahan dari satu kegagalan node kluster, lalu yang lain Dapat bertahan dari dua kegagalan node kluster secara bersamaan
2 Ya Tidak. Tidak.
2 + Saksi Ya Tidak. Tidak.
3 Ya Tidak. Tidak.
3 + Saksi Ya Tidak. Tidak.
4 Ya Tidak. Tidak.
4 + Saksi Ya Ya Ya
5 ke atas Ya Ya Ya

Cara kerja kuorum kelompok

Ketika drive gagal, atau ketika beberapa subset drive kehilangan kontak dengan subset lain, metadata hosting drive yang bertahan perlu memverifikasi bahwa mereka merupakan sebagian besar kumpulan untuk tetap online. Jika tidak dapat memverifikasinya, mereka akan offline. Kumpulan adalah entitas yang offline atau tetap online berdasarkan apakah memiliki disk yang cukup untuk kuorum (50% + 1). Database kluster dapat menjadi +1 selama kluster itu sendiri dikuorasikan.

Tetapi kuorum kumpulan bekerja secara berbeda dari kuorum kluster dengan cara berikut:

  • Kumpulan memilih subset drive per simpul untuk menghosting metadata
  • Kumpulan menggunakan database kluster untuk memutuskan ikatan
  • Kumpulan tidak memiliki kuorum dinamis
  • Kumpulan tidak mengimplementasikan versinya sendiri untuk menghapus suara

Contoh

Empat simpul dengan tata letak simetris

Setiap dari 16 drive memiliki satu suara, dan node dua juga memiliki satu suara (karena merupakan pemilik sumber daya dari pool). Mayoritas ditentukan dari total 16 suara. Jika simpul tiga dan empat turun, subset yang bertahan memiliki 8 drive dan pemilik sumber daya kumpulan, yaitu 9/16 suara. Jadi, kolam renang selamat.

Kumpulan Kuorum 1.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Ya.

Empat simpul dengan tata letak simetris dan kegagalan drive

Masing-masing dari 16 drive memiliki satu suara dan simpul 2 juga memiliki satu suara (karena simpul 2 adalah pemilik sumber daya kumpulan). Mayoritas ditentukan dari total 16 suara. Pertama, drive 7 bergerak turun. Jika simpul tiga dan empat turun, subset yang bertahan memiliki 7 drive dan pemilik sumber daya kumpulan, yaitu 8/16 suara. Jadi, kumpulan tidak memiliki mayoritas dan turun.

Kumpulan Kuorum 2.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, lalu yang lain: Tidak.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Rekomendasi kuorum kelompok

  • Pastikan bahwa setiap simpul di kluster Anda bersifat simetris (setiap simpul memiliki jumlah drive yang sama)
  • Aktifkan cermin tiga arah atau paritas ganda sehingga Anda dapat mentolerir dua kegagalan simpul dan menjaga disk virtual tetap online.
  • Jika lebih dari dua node tidak berfungsi, atau dua node dan disk pada node lain tidak berfungsi, volume mungkin tidak memiliki akses ke semua tiga salinan data mereka, sehingga mereka diambil secara offline dan tidak tersedia. Disarankan untuk mengembalikan server atau mengganti disk dengan cepat untuk memastikan ketahanan paling besar untuk semua data dalam volume.

Langkah selanjutnya