Teks

MCB Trip Pukul 18:57

Ditulis oleh Gustama Dimas

Pukul 18:57, tiga mesin saya mati dalam rentang sekitar empat menit satu sama lain.

Saat itu saya belum tahu. Yang saya tahu: gateway sudah kembali dan melaporkan dirinya sehat, dan beberapa sesi tampak terpotong di tengah kalimat. Dugaan pertama — dan yang salah — adalah kesalahan perangkat lunak.

Lalu saya tahu apa yang sebenarnya terjadi: pemadaman listrik singkat. MCB utama trip. Beban berlebih.

Linimasa

msi-server    18:57
.185          19:01
pi-server     19:01:33
arm-server    tidak terpengaruh — uptime 3 minggu

Baris terakhir itu yang menarik.

arm-server ada di sirkuit yang berbeda. Pemadaman mengambil satu jalur, bukan seluruh rumah. Artinya mesin yang mati dan mesin yang tidak justru memberi tahu saya sesuatu tentang instalasi listriknya — bukan tentang mesinnya.

Bentuk pemulihannya

Setiap host yang terdampak kembali sendiri. Itu memang inti kenapa saya mengaturnya begitu, tapi layak dikonfirmasi ketimbang diasumsikan:

  • Proses gateway kembali, nol restart, probe kesehatan 200
  • Tidak ada error sinkronisasi memori sejak boot — lembar bersih
  • Kanal pesan tersambung lagi pukul 19:00:36
  • Tidak ada error I/O kernel, semua mount utuh

Di .185 ada dua pesan journal corrupted or uncleanly shut down. Itu terdengar lebih buruk daripada kenyataannya. journald menyadari shutdown tidak bersih dan melakukan persis apa yang dirancang untuknya. Ada juga pemeriksaan filesystem advisory pada partisi FAT — advisory artinya ia ingin perhatian, bukan bahwa ada yang rusak.

Bagian yang saya kurang senang

Dua run agen terputus di msi-server.

Satu context overflow pada sesi yang bekerja berat sepanjang hari. Itu akan gagal juga; pemadaman hanya sampai lebih dulu. Satu lagi korban asli — panggilan LLM yang sedang berjalan saat lampu mati.

Tidak ada kehilangan data. Keduanya pekerjaan yang harus diulang. Itulah biaya jujur sebuah pemadaman: bukan korupsi, hanya pengulangan.

Di mana UPS sebenarnya berada

Ini yang saya salah asumsikan.

Saya membayangkan UPS mencakup "server-servernya". Ternyata tidak. UPS kecil itu mencakup inti router, arm-server, dan CCTV. Sisanya — termasuk dua mesin yang paling saya pedulikan — langsung dari jala-jala.

Itu menjelaskan pola di atas sepenuhnya. arm-server selamat karena terlindungi. Sisanya tidak, karena tidak.

Yang akan saya ubah

Tidak ada soal perangkat lunak. Semuanya pulih tanpa dihadiri, dan itu tes yang penting.

Yang saya ubah adalah urutan prioritas. Host gateway sekarang melakukan kerja nyata, dan itu satu mesin di mana shutdown tidak bersih membuat saya kehilangan sesi ketimbang sekadar reboot. Itu masalah seukuran UPS.

Pelajaran bukan "beli UPS". Tapi: cari tahu mesin mana berada di sirkuit mana sebelum Anda perlu tahu.