Split-brain Condition
split-brain condition (kondisi otak terbelah) adalah istilah teknis dalam komputasi terdistribusi (distributed systems) dan sistem high availability (HA) yang merujuk pada situasi yang sangat kritis.
Apa Itu Split-Brain Condition?
Definisi Inti: Split-brain adalah kondisi kritis yang terjadi dalam sebuah klaster (kumpulan server/node) ketika koneksi antar node terputus, biasanya karena kegagalan jaringan atau heartbeat link.
Akar Masalah: Karena tidak dapat berkomunikasi satu sama lain, setiap node (atau grup node) secara keliru menganggap bahwa node lain telah mati atau gagal (non-fungsional).
Hasil: Akibat asumsi yang salah tersebut, kedua belah pihak yang terisolasi kemudian mencoba untuk mengambil alih peran sebagai master atau leader (pemimpin).
Konflik Utama: Ini menghasilkan situasi berbahaya di mana terdapat dua (atau lebih) master yang aktif secara bersamaan dalam satu klaster, padahal seharusnya hanya ada satu.
Mengapa Split-Brain Sangat Berbahaya?
Data Divergen: Setiap master yang aktif secara independen menerima permintaan perubahan data (transaksi write) dari aplikasi atau pengguna.
Inkonsistensi Data: Karena kedua master bekerja sendiri-sendiri, data di antara keduanya menjadi tidak sinkron, berbeda, atau divergen.
Korupsi Data: Ketika koneksi jaringan akhirnya pulih, sistem akan dihadapkan pada dua salinan data yang saling bertentangan (konflik). Hal ini dapat menyebabkan korupsi data permanen dan membuat seluruh klaster menjadi tidak bisa diandalkan.
Penyebab Umum Split-Brain
Partisi Jaringan (Network Partitioning): Ini adalah penyebab paling umum, di mana kegagalan pada perangkat jaringan (seperti switch atau router) memutus konektivitas antar node.
Kegagalan Heartbeat Link: Komunikasi heartbeat (sinyal "detak jantung" yang digunakan node untuk saling mengecek status) gagal, misalnya karena kegagalan kartu jaringan (NIC) atau kabel.
Beban Sistem Tinggi: Proses pada salah satu node bisa menjadi sangat sibuk sehingga tidak dapat merespons heartbeat tepat waktu, membuatnya tampak seolah-olah telah gagal.
Kesalahan Konfigurasi: Pengaturan jaringan atau firewall yang salah dapat secara tidak sengaja memblokir komunikasi heartbeat.
Cara Mencegah Split-Brain
Mekanisme Kuorum (Quorum): Ini adalah metode pencegahan yang paling umum dan efektif.
Klaster dikonfigurasi sehingga keputusan (seperti memilih leader) hanya bisa diambil jika mayoritas node setuju.
Jika terjadi split, hanya grup node yang memiliki kuorum (mayoritas) yang diizinkan untuk menjadi leader dan menerima data baru. Grup minoritas (yang tidak memiliki kuorum) akan dicegah membuat perubahan.
Inilah mengapa klaster sering direkomendasikan memiliki jumlah node ganjil (misalnya, 3, 5, atau 7 node), untuk memastikan satu sisi akan selalu memiliki mayoritas jika terjadi pemisahan.
Redundansi Jaringan: Menggunakan lebih dari satu jalur (link) untuk komunikasi heartbeat. Jika satu jalur gagal, jalur cadangan masih bisa digunakan.
Fencing (STONITH): Mekanisme "pemagaran". Jika sebuah node tidak yakin dengan status klaster atau tidak bisa mencapai kuorum, ia akan "memagari" dirinya sendiri (berhenti beroperasi) atau secara paksa mematikan node lain yang dianggap bermasalah. Metode ekstrem ini dikenal sebagai STONITH (Shoot The Other Node In The Head).
Last updated