Mengenal High Availability (HA), Cara Agar Server Tetap Nyambung Meski Mati Lampu


1. Pendahuluan

Self-hosting itu asyik, karena kita bisa mengoprek dan mengatur server suka-suka kita sendiri. Namun, self-hosting di Indonesia memiliki risiko server mati saat listrik padam. Matinya server mengganggu jalannya proses bisnis yang terjadi dalam server. Melalui artikel ini, kita akan mengenal beberapa penyebab dan cara agar server di rumah tetap nyala melalui High Availability (HA).

2. Definisi HA

High Availability (HA) adalah berbagai teknik supaya sistem tetap beroperasi meski ada kerusakan pada suatu komponen sistem. Pada prinsipnya, HA mengantisipasi terjadinya kegagalan pada suatu komponen server. Komponen server yang dapat kita cegah agar tidak gagal antara lain adalah daya, jaringan, dan penyimpanan. Target nyalanya server (uptime) adalah mendekati 99,9% saat menggunakan HA.

3. Komponen Daya (Power)

Komponen daya menjadi titik kegagalan yang sangat berpengaruh pada sistem. Listrik yang tidak stabil, sering mati-nyala, dan pemadaman bergilir merupakan risiko nyata saat menjalankan server di rumah. Idealnya, sistem selalu mendapatkan pasokan listrik secara terus-menerus. Meskipun demikian, ada beberapa cara supaya pasokan listrik tetap stabil:

a. UPS (Uninterruptible Power Supply)

UPS adalah baterai cadangan.UPS menyuplai listrik saat pemadaman singkat, mulai dari detik hingga beberapa menit. UPS melindungi server dari lonjakan tegangan secara tiba-tiba.Meskipun demikian, UPS tidak bisa dijadikan sebagai alternatif utama. Ia merupakan komponen pendukung yang berjalan sesaat sebelum komponen sumber listrik alternatif berjalan stabil.

b. Genset atau Sumber Listrik Non-PLN

Genset adalah sumber listrik utama cadangan. Genset menyala otomatis saat listrik PLN padam. Genset beroperasi untuk waktu yang lama (hitungan jam). Pastikan genset selalu memiliki bahan bakar yang cukup agar selalu siap sedia saat PLN padam. Selain itu, pastikan genset dilengkapi dengan modul ATS (Automatic Transfer Switch) agar bisa menyala otomatis. Tanpa ATS, genset hanya bisa dinyalakan secara manual.

Selain genset, sekarang sedang tren memasang listrik tenaga surya di rumah. Agar awet, listrik dari panel surya disimpan ke baterai terlebih dahulu. Lalu dari baterai didistribusikan ke komponen sistem atau seluruh rumah. Waktu beroperasinya listrik tenaga surya bergantung pada jumlah baterai yang digunakan untuk menyimpan lebihan daya saat siang hari. Saat malam hari, panel surya tidak menghasilkan listrik, sehingga listrik diambil dari baterai.

c. Server dengan 2 PSU (Power Supply Unit)

Setelah UPS dan genset, dapat dikonfigurasikan agar satu server memiliki dua unit catu daya (power supply unit, PSU). Setiap PSU tersambung ke sumber listrik yang berbeda.

Contoh: PSU-1 ke UPS, PSU-2 ke Genset atau listrik langsung.

Jika satu PSU atau satu sumber mati, PSU lainnya tetap bekerja, sehingga server tetap hidup tanpa interupsi.

4. Komponen Jaringan (Network)

Jaringan adalah jalur internet server. Jika jalur jaringan terputus, pengguna tidak bisa mengakses layanan. Stabilnya komponen jaringan mencegah jalur komunikasi terputus. Agar selalu tersambung ke internet, bisa menggunakan cara berikut ini:

a. Dua Jalur Internet dari ISP Berbeda

Siapkan dua koneksi internet untuk server. Gunakan penyedia jasa internet (ISP) yang berbeda untuk setiap jalur.

Contoh: ISP A untuk jalur utama, ISP B untuk jalur cadangan.

Jika satu ISP mengalami gangguan, jalur kedua tetap tersambung. Sistem akan berpindah (failover) secara otomatis ke jalur yang aktif.

b. Dua Switch Jaringan

Switch adalah alat yang menghubungkan server ke internet. Sayangnya, switch juga bisa rusak, entah karena listrik tidak stabil, panas berlebih, atau komponennya sudah tua. Kalau cuma andalkan satu switch dan tiba-tiba mati, server otomatis tidak dapat diakses dan kehilangan koneksi

Solusi paling aman adalah pasang dua switch. Cukup sambungkan server ke kedua switch tersebut, dan sambungkan juga setiap jalur ISP ke keduanya. Nanti jika satu switch bermasalah, server tetap hidup dan langsung terhubung lewat switch yang satunya lagi. Kita pun tidak akan merasakan gangguan sama sekali.

Caranya, pastikan server memiliki dua port jaringan (NIC). Sambungkan NIC-1 ke Switch A dan NIC-2 ke Switch B. Konfigurasikan kedua NIC dalam mode bonding (active-backup) di sistem operasi server. Jika satu switch mati, trafik akan otomatis berpindah ke switch lain melalui NIC cadangan.

5. Komponen Penyimpanan (Storage)

SSD dan HDD adalah tempat menyimpan semua data server. Komponen ini sangat rentan terhadap listrik yang sering padam. Listrik yang tidak stabil bisa merusak hard disk lebih cepat. Jika hard disk rusak, kita bisa menggantinya dengan yang baru. Namun, data di dalamnya hilang dan tidak bisa diganti begitu saja. Agar data server tetap aman, bisa menggunakan cara berikut ini:

a. Redundant Array of Inexpensive Disks (RAID)

RAID adalah teknologi yang menggabungkan beberapa hard disk menjadi satu kesatuan. Data yang sama disimpan ke beberapa hard disk sekaligus. Jika satu hard disk mati, data tetap aman di hard disk lainnya. Server pun tetap bisa berjalan tanpa kehilangan data penting.

b. Replikasi Data

Replikasi adalah proses membuat salinan data di beberapa server yang berbeda. Jika satu server mati, data tetap bisa diakses dari server lain. Cara ini sangat berguna untuk sistem High Availability (HA) yang membutuhkan ketersediaan tinggi.

c. Sistem File Modern (ZFS atau Btrfs)

ZFS dan Btrfs adalah sistem file dengan fitur perlindungan data bawaan. Keduanya bisa mendeteksi dan memperbaiki kerusakan data secara otomatis. Kita tidak perlu konfigurasi RAID terpisah karena fiturnya sudah terintegrasi.

d. Distributed Storage (Ceph)

Untuk skala besar, gunakan distributed storage seperti Ceph. Sistem ini menyebarkan data ke banyak server sekaligus. Jika beberapa server mati, sistem tetap berjalan normal. Cara ini cocok untuk lingkungan cloud atau data center berskala besar.

e. Backup

Backup adalah salinan data yang disimpan di tempat terpisah, seperti hard disk eksternal atau cloud. Backup melindungi data dari kesalahan manusia, virus, atau bencana. Jangan pernah mengandalkan satu cara saja. Untuk hasil terbaik, gabungkan RAID dengan backup rutin ke lokasi yang aman.

6. Mekanisme Failover

Failover adalah proses perpindahan otomatis dari server utama ke server cadangan. Proses ini terjadi saat server utama mengalami gangguan atau mati total. Tujuannya agar layanan tetap berjalan tanpa interupsi yang terasa oleh pengguna. Berikut cara kerjanya secara sederhana:

a. Health Check (Pemeriksaan Kesehatan)

Sistem akan memeriksa kondisi server utama secara rutin. Pemeriksaan bisa berupa ping, pengecekan port, atau akses ke aplikasi. Jika server utama merespons dengan baik, sistem menganggapnya sehat. Pemeriksaan ini dilakukan setiap beberapa detik sekali.

b. Deteksi Gangguan

Jika server utama tidak merespons ping atau layanan aplikasi dalam batas waktu yang ditentukan, sistem langsung mendeteksi adanya masalah. Penyebabnya bisa karena mati listrik, kabel jaringan putus, atau server mengalami crash. Sistem tidak akan menunggu terlalu lama untuk memastikan server benar-benar mati.

c. Proses Pengalihan (Failover)

Setelah gangguan terdeteksi, sistem langsung mengalihkan lalu lintas ke server cadangan. Server cadangan sebelumnya dalam kondisi siaga (standby) dan sudah memiliki data yang sama. Proses pengalihan ini berlangsung otomatis dalam hitungan detik. Jika diatur dengan benar, kita tidak akan menyadari adanya perpindahan di server.

d. Kembali ke Server Utama (Failback)

Ketika server utama sudah pulih dan stabil, sistem bisa mengembalikan lalu lintas ke server utama. Proses ini juga berjalan otomatis. Pastikan server utama sudah benar-benar sehat sebelum failback dilakukan.

Contoh Self-Hosting Sederhana:

Bayangkan kita menjalankan server di rumah dengan dua unit Raspberry Pi. Raspberry Pi A sebagai server utama, Raspberry Pi B sebagai cadangan. Pasang software seperti HAProxy atau Keepalived untuk mengatur failover. Jika Raspberry Pi A mati karena listrik padam, Raspberry Pi B akan otomatis mengambil alih. Website atau aplikasi kita tetap bisa diakses.

7. Cara Memulai (Implementasi)

Membangun sistem High Availability tidak harus mahal. Untuk skala kecil atau self-hosting, kita bisa memulai dari langkah sederhana. Berikut panduan praktisnya:

a. Mulai dari yang Paling Dasar

Langkah pertama adalah pastikan server kita memiliki UPS. UPS melindungi server dari pemadaman singkat dan lonjakan listrik. Pilih UPS dengan kapasitas yang cukup untuk memberi waktu server mati secara aman atau menyalakan genset.

b. Siapkan Jalur Internet Cadangan

Gunakan dua koneksi internet dari penyedia yang berbeda. Misalnya, langganan MyRepublic untuk jalur utama dan Starlink untuk jalur cadangan. Pasang router dengan fitur failover otomatis seperti MikroTik atau OpenWrt. Jika jalur utama putus, router akan beralih ke jalur cadangan.

c. Gunakan Dua Server atau Dua Hard Disk

Untuk penyimpanan, gunakan RAID 1 (mirroring) pada server. Jika anggaran terbatas, kita bisa menggunakan dua hard disk eksternal dan melakukan sinkronisasi data secara rutin menggunakan rsync.

d. Manfaatkan Cloud sebagai Cadangan

Tidak harus memiliki dua server fisik di rumah, layanan cloud seperti AWS, Google Cloud, atau VPS murah juga bisa digunakan sebagai server cadangan. Setup DNS Failover menggunakan layanan seperti Cloudflare atau Route 53. Jika server rumah mati, DNS akan otomatis mengarahkan trafik ke cloud. Namun, ingat: jika menggunakan cloud sebagai backup, pastikan replikasi data real-time (misal menggunakan rsync atau tools sinkronisasi database) dari server rumah ke cloud tersebut sudah diatur tersebut. Jika tidak, saat failover terjadi, kita akan mengakses data lama yang sudah tidak mutakhir.

e. Gunakan Software Open Source

Banyak software open source yang mendukung HA dan cocok untuk self-hosting:

  • Keepalived: Untuk virtual IP dan failover di level jaringan.
  • HAProxy: Untuk load balancer dan failover aplikasi.
  • Proxmox VE: Untuk virtualisasi dengan fitur cluster dan failover otomatis.
  • TrueNAS: Untuk penyimpanan dengan dukungan RAID dan replikasi.
  • Syncthing atau rsync: Untuk sinkronisasi data antar server.

f. Mulai dari Skala Kecil

Jangan langsung membangun sistem yang rumit. Mulailah dengan satu atau dua komponen HA terlebih dahulu. Contoh: pasang UPS dan satu jalur internet cadangan. Setelah berjalan stabil, tambahkan server cadangan. Evaluasi dan tingkatkan secara bertahap sesuai kebutuhan.

8. Penutup

High Availability bukan hanya untuk perusahaan besar dengan anggaran miliaran rupiah. Kita sebagai self-hoster pun bisa menerapkannya dengan biaya yang terjangkau.

Kuncinya adalah memahami risiko dan menyiapkan antisipasi. Mati lampu, koneksi internet putus, atau hard disk rusak adalah hal yang wajar terjadi. Yang membedakan adalah bagaimana kita menghadapinya.

Mulailah dari langkah kecil yang bisa dilakukan hari ini:

  • Pastikan server terhubung ke UPS.
  • Siapkan koneksi internet cadangan dari ISP berbeda.
  • Lakukan backup data secara rutin ke lokasi yang aman.
  • Pelajari software open source untuk failover seperti Keepalived atau HAProxy.

Dengan persiapan yang matang, server akan tetap nyambung meskipun listrik padam. Kita tetap bisa mengakses layanan yang kita miliki tanpa gangguan. Itulah tujuan utama dari High Availability.

Jangan tunggu sampai server kita benar-benar mati baru sadar. Mulai sekarang, selagi masih ada waktu.


Leave a Reply

Your email address will not be published. Required fields are marked *