Belajar OpenBSD - Data Management & Backup
Episode 11 of 23

Belajar OpenBSD - Data Management & Backup

Mengelola dan mengamankan data di OpenBSD: merawat filesystem dengan fsck, memanfaatkan dump dan restore untuk backup tingkat filesystem, mengambil snapshot FFS yang konsisten, serta mengombinasikan tar, cpio, dan rsync dalam strategi backup base system yang teruji.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 10 sebelumnya, kalian mengamankan layanan dengan TLS dan sertifikat otomatis. Namun semua konfigurasi, sertifikat, dan data itu berharga hanya jika bisa dipulihkan. Episode ini membahas sisi yang sering dilupakan admin: data management dan backup.

Filosofi OpenBSD berlaku juga di sini: gunakan alat bawaan yang sudah teruji, pahami apa yang kalian lakukan, dan jangan percaya pada backup yang belum pernah diuji restore. Backup bukan kegiatan "jika sempat" — ia adalah asuransi yang harganya kelihatan justru saat data hilang.

Perawatan Filesystem: fsck dalam Konteks

Episode 7 memperkenalkan fsck untuk pemeriksaan filesystem. Dalam konteks data management, fsck adalah langkah pertama sebelum membackup: jangan membackup filesystem yang rusak. Pola yang benar:

Memeriksa kesehatan sebelum backup
umount /dev/sd0d
fsck -y /dev/sd0d
mount /dev/sd0d

Periksa juga penggunaan dan inode agar tidak ada kejutan saat backup:

Memeriksa penggunaan dan inode
df -h
df -i

df -i menampilkan penggunaan inode. Kehabisan inode bisa terjadi tanpa ruang penuh — kondisi yang bikin aplikasi aneh-aneh.

dump dan restore: Alat Bawaan yang Andal

dump membackup filesystem ke level yang didukung (0 = penuh, 1-9 = inkremental). Keunggulannya: bekerja pada raw device, mempertahankan metadata, dan mendukung backup inkremental:

Membackup filesystem dengan dump
dump -0au -f /backup/root.dump /dev/sd0a
dump -1au -f /backup/root.inc.dump /dev/sd0a
  • -0 level 0 (penuh), -1 level inkremental pertama.
  • -a mendeteksi kapasitas media, -u mencatat history di /etc/dumpdates.

Pemulihan dilakukan dengan restore:

Merestore dari dump
restore -rf /backup/root.dump
restore -tf /backup/root.dump

-r melakukan restore penuh, -t menampilkan daftar isi tanpa mengekstrak. Selalu cek daftar isi dulu.

Warning

dump harus dijalankan pada filesystem yang unmount atau di snapshot (lihat bagian berikutnya) agar hasilnya konsisten. Mencampur data yang berubah saat proses dump berlangsung bisa menghasilkan backup yang tidak bisa dipercaya.

Snapshot FFS: Backup Tanpa Downtime

FFS2 mendukung snapshot: gambar filesystem yang konsisten tanpa mematikan layanan. Ambil snapshot lalu dump dari sana:

Snapshot FFS2 dan dump
mount -u -o snapshot=/var/snap/root.snap /dev/sd0a
dump -0af /backup/root.snap.dump /var/snap/root.snap
mount -u -o snapshot= /dev/sd0a

Snapshot di-mount sebagai file di direktori /var/snap, kemudian di-dump seperti filesystem biasa, lalu dilepas. Ini pola yang benar untuk server produksi yang tidak boleh berhenti.

tar dan cpio: Backup Berbasis File

Untuk membackup direktori tertentu (bukan seluruh filesystem), tar dan cpio adalah pilihan:

Arsip direktori dengan tar
tar -czf /backup/etc.tgz -C / /etc
tar -tzf /backup/etc.tgz | head

cpio berguna ketika daftar file dibentuk oleh perintah lain:

Arsip dengan cpio lewat pipe
find /var/www -type f | cpio -o > /backup/www.cpio

Perhatikan bahwa tar dan cpio bekerja pada level file, bukan level filesystem — cepat dan fleksibel, tetapi harus dijalankan pada sistem yang hidup atau dari media yang di-mount read-only agar konsisten.

rsync: Sinkronisasi dan Backup Jarak Jauh

rsync adalah package pihak ketiga paling populer untuk sinkronisasi. Instal dulu:

Menginstal rsync
pkg_add rsync

Lalu sinkronkan direktori ke backup server:

Sinkronisasi dengan rsync
rsync -aAXv /var/www/ backup:/backup/www/
rsync -avz --delete /var/www/ backup:/backup/www/

Opsi -a (archive), -X (menjaga xattrs), -z (kompresi), dan --delete membuat rsync mencerminkan sumber ke tujuan. Untuk rsync lewat SSH, tambahkan -e ssh — memanfaatkan SSH yang sudah kalian amankan di episode 14.

Strategi Backup Base System

Base system OpenBSD jarang berubah kecuali saat upgrade, tapi file konfigurasinya wajib dibackup. Daftar minimum yang harus selalu ada di backup:

Membackup file konfigurasi penting
tar -czf /backup/base-config.tgz /etc /root /var/cron
ls -la /backup

Pertimbangkan juga mencatat daftar package agar bisa menginstal ulang dengan cepat:

Mencatat package terinstal
pkg_info -Q | awk '{print $1}' > /backup/packages.txt

File packages.txt ini adalah "manifest" yang memungkinkan pemulihan cepat: instal OpenBSD bersih, jalankan pkg_add $(cat packages.txt), dan sistem kalian kembali.

Danger

Backup yang tidak pernah diuji restore bukanlah backup — ia hanya harapan. Lakukan uji restore secara berkala di lingkungan terpisah, setidaknya setiap kali strategi backup diubah. Episode 18 (virtualisasi) memberi tempat yang aman untuk menguji restore ini.

Membangun Jadwal Backup

Kombinasi yang masuk akal untuk server produksi:

  • Harian: rsync data aplikasi ke mesin lain.
  • Mingguan: dump level 0 untuk filesystem penting, lewat /etc/weekly.local.
  • Bulanan: snapshot FFS + dump, disimpan di media terpisah.
  • Terus-menerus: manifest package dan config untuk recovery cepat.

Semua jadwal ini bisa dijalankan oleh cron bawaan OpenBSD tanpa alat tambahan.

Penutup

Di episode 11 ini kalian mengelola dan mengamankan data OpenBSD: merawat filesystem dengan fsck sebelum backup, memakai dump/restore dengan snapshot FFS untuk konsistensi, mengarsipkan dengan tar dan cpio, menyinkronkan dengan rsync, serta menyusun strategi backup base system yang bisa dipulihkan.

Inti yang harus dibawa pulang:

  • Jangan membackup filesystem yang rusak; periksa dulu dengan fsck.
  • dump bekerja di level filesystem, tar/cpio di level file, rsync untuk sinkronisasi.
  • Snapshot FFS2 memungkinkan backup konsisten tanpa downtime.
  • Backup yang tidak pernah diuji restore hanyalah harapan.

Di episode 12 selanjutnya, kita masuk ke jantung keamanan jaringan OpenBSD: pf firewall fundamental — memahami /etc/pf.conf, konsep ruleset, block dan pass, service rules, log lewat pflog, serta kebiasaan memvalidasi dengan pfctl.

Belajar OpenBSD - Data Management & Backup | Belajar OpenBSD