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 memiliki ketersediaan tinggi apabila node yang menghosting sumber daya aktif; namun, kluster umumnya membutuhkan lebih dari setengah node untuk berjalan, yang dikenal memiliki kuorum.

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

Kuorum menentukan jumlah kegagalan yang dapat ditangani kluster selagi tetap 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 pada saat yang sama. Dengan memiliki konsep kuorum ini, kluster memaksa layanan kluster 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.

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

  • Kuorum Kluster: Beroperasi pada tingkat kluster (yaitu Anda dapat kehilangan node dan membuat kluster tetap aktif)
  • Kuorum Kumpulan: 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 non-kluster, itulah sebabnya mereka memiliki mekanisme kuorum yang berbeda.

Gambaran umum kuorum kluster

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

Node server 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 node, diperlukan adanya saksi.
  • Jika Anda memiliki tiga atau empat node, saksi sangat direkomendasikan.
  • Jika Anda memiliki lima simpul atau lebih, saksi tidak diperlukan serta tidak memberikan ketahanan tambahan.
  • Jika Anda memiliki akses Internet, harap gunakan saksi 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 lainnya, node yang masih bertahan perlu memverifikasi bahwa mereka merupakan mayoritas dari kluster untuk tetap online. Jika tidak dapat memverifikasinya, mereka akan offline.

Namun, konsep mayoritas hanya bekerja dengan mulus ketika jumlah total node dalam kluster adalah ganjil (misalnya, tiga node dalam kluster lima node). Jadi, bagaimana dengan kluster dengan jumlah node genap (katakanlah, kluster empat node)?

Terdapat dua cara kluster dapat membuat jumlah total suara menjadi ganjil:

  1. Pertama, suara dapat meningkat satu dengan menambahkan saksi dengan suara tambahan. Hal ini membutuhkan penyiapan pengguna.
  2. Atau, suara dapat berkurang satu dengan membuat satu suara node yang kurang beruntung menjadi nol (terjadi secara otomatis sesuai kebutuhan).

Setiap kali node yang bertahan berhasil memverifikasi bahwa mereka adalah mayoritas, definisi mayoritas diperbarui menjadi salah satu yang selamat. Hal ini memungkinkan kluster kehilangan satu node, kemudian node lainnya, kemudian satu node lagi, dan seterusnya. Konsep jumlah total suara yang beradaptasi setelah kegagalan berturut-turut ini dikenal sebagai Kuorum dinamis.

Saksi dinamis

Saksi dinamis mengalihkan suara saksi untuk memastikan bahwa jumlah total suara adalah ganjil. Apabila terdapat jumlah suara yang ganjil, saksi tidak memiliki suara. Jika ada jumlah suara yang merata, saksi memiliki suara. Bukti dinamis secara signifikan mengurangi risiko kluster turun karena kegagalan saksi. Kluster memutuskan apakah akan menggunakan suara saksi berdasarkan jumlah node suara yang tersedia di kluster.

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

Perilaku kuorum dinamis

  • Apabila Anda memiliki jumlah node genap dan tidak ada saksi, suara pada satu node dijadikan nol. Misalnya, hanya tiga dari empat node yang mendapatkan suara, sehingga jumlah total suara adalah tiga, dan dua node yang bertahan dengan suara dianggap sebagai mayoritas.
  • Apabila Anda memiliki jumlah node ganjil dan tidak ada saksi, mereka semua mendapatkan suara.
  • Apabila Anda memiliki jumlah node genap ditambah saksi, saksi memberikan suara, sehingga totalnya menjadi ganjil.
  • Apabila Anda memiliki jumlah node ganjil ditambah saksi, saksi tidak memberikan suara.

Kuorum dinamis memungkinkan kemampuan untuk menetapkan suara ke node secara dinamis untuk menghindari kehilangan mayoritas 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 tidak akan berfungsi apabila Anda kehilangan dua node.

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 node yang tersedia. Jadi, dengan kuorum dinamis, kluster tetap terjaga bahkan jika Anda kehilangan tiga simpul.

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 node. Hal ini dijelaskan lebih lanjut pada bagian kuorum kumpulan.

Contoh

Dua node tanpa saksi

Suara satu node dibuat menjadi nol, sehingga suara mayoritas ditentukan dari total 1 suara. Apabila node non-pemungutan suara tidak berfungsi secara tak terduga, node yang bertahan memiliki 1/1 dan kluster bertahan. Apabila node pemungutan suara tidak berfungsi secara tak terduga, node yang bertahan memiliki 0/1 dan kluster tidak berfungsi. Apabila node pemungutan suara dinonaktifkan dengan cekatan, suara ditransfer ke node lain, dan kluster bertahan. Inilah alasan pentingnya mengonfigurasi saksi.

Kuorum dijelaskan dalam kasus dengan dua simpul tanpa saksi.

  • Dapat bertahan dari satu kegagalan server: Peluang lima puluh persen.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Tidak.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Dua node dengan saksi

Kedua node memberi suara, ditambah suara saksi, sehingga mayoritas ditentukan dari total 3 suara. Apabila salah satu node tidak berfungsi, node yang bertahan memiliki 2/3 dan kluster bertahan.

Kuorum dijelaskan dalam kasus dengan dua simpul dengan saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Tidak.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Tiga node tanpa saksi

Semua node memberi suara, sehingga mayoritas ditentukan dari total 3 suara. Apabila salah satu node tidak berfungsi, node yang bertahan adalah 2/3 dan kluster bertahan. Kluster menjadi dua node tanpa saksi – pada saat itu, Anda berada di Skenario 1.

Kuorum dijelaskan dalam kasus dengan tiga simpul tanpa saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Peluang lima puluh persen.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Tiga node dengan saksi

Semua node memberi suara, sehingga saksi awalnya tidak memberi suara. Mayoritas ditentukan dari total 3 suara. Setelah satu kegagalan, kluster memiliki dua node dengan saksi – yang kembali ke Skenario 2. Sehingga, sekarang kedua node serta saksi memberikan suara.

Kuorum dijelaskan dalam kasus dengan tiga simpul dengan saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Empat node tanpa saksi

Suara satu node dibuat menjadi nol, sehingga mayoritas ditentukan dari total 3 suara. Setelah satu kegagalan, kluster menjadi tiga node, dan Anda berada di Skenario 3.

Kuorum dijelaskan dalam kasus dengan empat simpul tanpa saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Peluang lima puluh persen.

Empat node dengan saksi

Semua node memberikan suara dan saksi memberikan suara, sehingga mayoritas ditentukan dari total 5 suara. Setelah satu kegagalan, Anda berada di Skenario 4. Setelah dua kegagalan berturut-turut, Anda melompat ke Skenario 2.

Kuorum dijelaskan dalam kasus dengan empat simpul dengan saksi.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Ya.

Lima node dan seterusnya

Semua node memberikan suara, atau semua kecuali satu memberikan suara, apa pun yang menjadikan totalnya ganjil. Ruang Penyimpanan Langsung tidak dapat menangani lebih dari dua node, jadi pada titik ini, tidak ada bukti yang diperlukan atau berguna.

Kuorum dijelaskan dalam kasus dengan lima simpul dan seterusnya.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Ya.

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

Jenis saksi kuorum

Pengklusteran Failover mendukung tiga jenis Saksi Kuorum:

  • Saksi Cloud - Penyimpanan blob di Azure yang dapat diakses oleh semua node kluster. Ia mempertahankan informasi pengklusteran dalam file log bukti, tetapi tidak menyimpan salinan database kluster.
  • File Share Witness – Berbagi file SMB yang dikonfigurasi pada server file yang menjalankan Windows Server. Ia mempertahankan informasi pengklusteran dalam file log bukti, tetapi tidak menyimpan salinan database kluster.
  • Bukti Disk - Disk berkluster kecil yang ada di grup Penyimpanan yang Tersedia Kluster. Disk ini sangat tersedia dan dapat melakukan failover antar simpul. Disk ini berisi salinan database kluster. Saksi Disk tidak didukung dengan Storage Spaces Direct.

Gambaran umum kuorum kumpulan

Kita baru saja membicarakan tentang kuorum kluster, yang beroperasi di tingkat kluster. Sekarang, mari kita masuk ke dalam kuorum kumpulan, yang beroperasi di tingkat kumpulan (yaitu Anda dapat kehilangan node dan drive dan membuat kumpulan tetap aktif). Kumpulan penyimpanan dirancang untuk digunakan dalam skenario berkluster dan non-kluster, itulah sebabnya mereka memiliki mekanisme kuorum yang berbeda.

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

Node server 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 kumpulan

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 pada apakah ia memiliki cukup disk untuk kuorum (50% + 1). Database kluster dapat menjadi +1 selama kluster itu sendiri dikuorasi.

Tetapi cara kerja kuorum kumpulan berbeda dengan kuorum kluster dalam hal berikut:

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

Contoh

Empat node dengan tata letak simetris

Masing-masing dari 16 drive memiliki satu suara dan node dua juga memiliki satu suara (karena merupakan pemilik sumber daya kumpulan). Mayoritas ditentukan dari total 16 suara. Apabila node tiga dan empat tidak berfungsi, subset yang bertahan memiliki 8 drive serta pemilik sumber daya kumpulan, yaitu 9/16 suara. Sehingga, kumpulan bertahan.

Kuorum Kumpulan 1.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Ya.
  • Dapat bertahan dari dua kegagalan server sekaligus: Ya.

Empat node dengan tata letak simetris dan kegagalan drive

Masing-masing dari 16 drive memiliki satu suara dan node 2 juga memiliki satu suara (karena merupakan pemilik sumber daya kumpulan). Mayoritas ditentukan dari total 16 suara. Pertama, drive 7 tidak berfungsi. Apabila node tiga dan empat tidak berfungsi, subset yang bertahan memiliki 7 drive serta pemilik sumber daya kumpulan, yaitu 8/16 suara. Sehingga, kumpulan tersebut tidak memiliki mayoritas dan tidak berfungsi.

Kuorum Kumpulan 2.

  • Dapat bertahan dari satu kegagalan server: Ya.
  • Dapat bertahan dari satu kegagalan server, kemudian satu kegagalan lainnya: Tidak.
  • Dapat bertahan dari dua kegagalan server sekaligus: Tidak.

Rekomendasi kuorum kumpulan

  • Pastikan bahwa setiap node dalam kluster Anda simetris (setiap node 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.
  • Apabila lebih dari dua node tidak berfungsi, atau dua node dan sebuah disk pada node lainnya tidak berfungsi, volume mungkin tidak memiliki akses ke ketiga salinan data mereka, dan oleh karena itu dibuat offline dan tidak tersedia. Disarankan untuk mengembalikan server atau mengganti disk dengan cepat untuk memastikan ketahanan paling besar untuk semua data dalam volume.

Langkah berikutnya