Node mati permanen
Node yang menyimpan satu-satunya salinan shard (mis. index dengan 0 replica) mati atau hilang dari cluster.
Status red berarti satu atau lebih primary shard hilang atau belum teralokasi — sebagian data Anda tidak tersedia. Ini situasi serius. Panduan ini membahas penyebab, diagnosis presisi, dan jalur pemulihan dari yang paling aman hingga upaya terakhir yang berisiko kehilangan data.
Setiap index dibagi menjadi shard. Tiap shard punya satu primary dan nol atau lebih replica. Selama primary aktif, data shard bisa dibaca dan ditulis. Jika primary suatu shard hilang dan tidak ada salinan yang bisa dipromosikan, shard tersebut unassigned dan cluster menjadi red.
Node yang menyimpan satu-satunya salinan shard (mis. index dengan 0 replica) mati atau hilang dari cluster.
Korupsi file segmen Lucene akibat crash mendadak atau kerusakan disk membuat shard gagal dibuka.
Disk melewati flood stage 95% sehingga pemulihan shard terhenti dan primary baru gagal dialokasikan.
Saat full restart, jika tidak menunggu semua master/data node bergabung, sebagian primary bisa sementara red.
# status keseluruhan GET /_cluster/health?pretty # status per index untuk tahu mana yang red GET /_cluster/health?level=indices&pretty
Contoh keluaran red:
{
"status": "red",
"active_primary_shards": 10,
"unassigned_shards": 2,
"indices": {
"orders": { "status": "red", "active_shards": 0, "unassigned_shards": 1 }
}
}
# cari primary yang UNASSIGNED
GET /_cat/shards?v&h=index,shard,prirep,state,unassigned.reason | grep UNASSIGNED
GET /_cluster/allocation/explain
{
"index": "orders",
"shard": 0,
"primary": true
}
Contoh saat node hilang:
{
"index": "orders",
"shard": 0,
"primary": true,
"current_state": "unassigned",
"unassigned_info": {
"reason": "NODE_LEFT",
"details": "node_left [a1B2c3D4]"
},
"can_allocate": "no_valid_shard_copy",
"allocate_explanation": "cannot allocate because all found copies of the shard are either stale or corrupt"
}
| Penjelasan | Tindakan yang tepat |
|---|---|
NODE_LEFT + node bisa kembali | Hidupkan node — shard pulih otomatis. |
no_valid_shard_copy | Restore snapshot, atau allocate_stale/empty (upaya terakhir). |
| Disk flood stage | Bebaskan disk lalu reroute?retry_failed=true. |
ALLOCATION_FAILED | Periksa log node, lalu retry reroute. |
Cara teraman. Begitu node penyimpan primary bergabung lagi, Elasticsearch memulihkan shard tanpa kehilangan data. Cek dengan GET /_cat/nodes?v.
Hapus index lama / snapshot, lalu reset blokir read-only dan retry: POST /_cluster/reroute?retry_failed=true.
Bila node tidak bisa kembali dan salinan rusak, restore index dari snapshot terbaru.
Hanya jika tidak ada snapshot dan node tidak akan kembali. Berisiko kehilangan data.
# tutup/hapus index red dulu bila perlu, lalu restore
POST /_snapshot/repo_s3/snap_2026_06_20/_restore
{
"indices": "orders",
"rename_pattern": "orders",
"rename_replacement": "orders-restored"
}
# promosikan salinan basi jadi primary (kehilangan tulisan terbaru) POST /_cluster/reroute { "commands": [{ "allocate_stale_primary": { "index": "orders", "shard": 0, "node": "es-02", "accept_data_loss": true } }] }
# buat shard kosong baru (SELURUH data shard ini HILANG) POST /_cluster/reroute { "commands": [{ "allocate_empty_primary": { "index": "orders", "shard": 0, "node": "es-02", "accept_data_loss": true } }] }
allocate_stale_primary mempertahankan data lama (kehilangan hanya tulisan terbaru). allocate_empty_primary membuang seluruh isi shard — gunakan hanya agar cluster kembali operasional saat data shard itu memang sudah tak terselamatkan.Yellow berarti semua primary shard aktif (data utuh) tetapi sebagian replica belum teralokasi. Red berarti ada primary shard yang hilang atau belum teralokasi, sehingga sebagian data benar-benar tidak tersedia untuk dibaca maupun ditulis. Red adalah kondisi serius yang menuntut tindakan segera.
Belum tentu. Sering kali primary hanya tidak tersedia sementara karena node mati atau allocation diblokir. Jika node bisa dihidupkan kembali atau snapshot tersedia, data dapat dipulihkan utuh. Kehilangan permanen baru terjadi bila semua salinan shard rusak/hilang dan tidak ada snapshot.
Itu perintah reroute yang memaksa Elasticsearch mengaktifkan salinan primary yang basi (stale) ketika salinan terbaru hilang permanen. Ini upaya terakhir dan berisiko kehilangan data terbaru yang belum sempat tersalin. Gunakan hanya jika node asli tidak mungkin kembali dan tidak ada snapshot.
Urutan terbaik: (1) hidupkan kembali node yang mati agar shard pulih otomatis, (2) jika tidak bisa, restore dari snapshot terbaru, (3) jalankan reroute retry_failed, (4) sebagai upaya terakhir gunakan allocate_stale_primary atau allocate_empty_primary dengan kesadaran risiko kehilangan data.
Restore snapshot adalah cara paling aman keluar dari status red. Siapkan backup snapshot otomatis ke storage S3-compatible.
Panduan Snapshot ke S3