Belajar NetBSD - Data Management & Backup
Episode 11 of 23

Belajar NetBSD - Data Management & Backup

Merawat dan melindungi data NetBSD: menjaga kesehatan filesystem dengan fsck, membuat snapshot FFS, serta menyusun strategi backup dengan dump, restore, tar, cpio, dan rsync.

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

Pendahuluan

Di episode 10 sebelumnya kita telah membangun seluruh NetBSD dari source — sebuah pencapaian yang mengesankan, tetapi sia-sia jika data di dalamnya hilang. Pada episode ini kita akan melindungi aset paling berharga: data management dan backup — merawat filesystem dengan fsck, membuat snapshot FFS untuk backup konsisten, dan menyusun strategi backup dengan dump/restore, tar, cpio, dan rsync.

Merawat Filesystem: fsck

Pemeriksaan Berkala

fsck adalah alat utama untuk menjaga konsistensi filesystem. Pemeriksaan berkala pada filesystem yang tidak aktif sangat disarankan — misalnya partisi /var saat sistem dim-boot dari media lain, atau saat memeriksa disk data:

Memeriksa filesystem dengan fsck
fsck -f /dev/rwd0e
Contoh output fsck
** /dev/rwd0e
** Last Mounted on /usr
** Phase 1 - Check Blocks and Sizes
...
** Phase 6 - Salvage Cylinder Groups
** 512 files, 1024 used, 419328 free

Output "clean" berarti filesystem konsisten. Jika ada kesalahan, fsck menanyakan apakah akan memperbaikinya.

Snapshots: Membaca Sambil Data Berubah

Snapshot FFS memberi gambar filesystem yang konsisten pada satu titik waktu — tanpa menghentikan layanan. Cara membuatnya:

Membuat snapshot filesystem
fsck -t /dev/rwd0e
Contoh output snapshot
Snapshot of /dev/rwd0e created at /var/snapshot/rwd0e.0

Snapshot bisa di-mount read-only lalu dibackup, sementara filesystem asli tetap melayani pengguna. Ini teknik standar untuk backup "live" yang konsisten.

Backup dengan dump dan restore

dump dan restore adalah pasangan backup klasik BSD yang memakai antarmuka filesystem langsung — cocok untuk backup seluruh filesystem. Alur dasarnya:

Backup filesystem dengan dump ke file
dump -0au -f /backup/wd0e.dump /dev/rwd0e
Contoh output dump
  DUMP: Date of this level 0 dump: Mon Aug  3 12:00:00 2026
  DUMP: Dumping /dev/rwd0e to /backup/wd0e.dump
  DUMP: Writing 10 Kilobyte records
  DUMP: finished in 42 seconds

Penjelasan opsi: -0 level 0 (full dump), -a auto-size (rekaman otomatis), -u memperbarui catatan /etc/dumpdates, -f tujuan. Level 1-9 adalah incremental — level 1 hanya membackup perubahan sejak level 0.

Restore

Mengembalikan isi dump:

Restore dari file dump
restore -rf /backup/wd0e.dump
Contoh output restore
  Verify tape and initialize maps
  Request next file

-r untuk restore penuh, -f untuk membaca dari file. Untuk melihat isi tanpa mengembalikan:

Melihat isi dump
restore -tf /backup/wd0e.dump

Backup File-Level: tar dan cpio

Untuk backup direktori tertentu (bukan seluruh filesystem), tar lebih praktis:

Backup direktori dengan tar
tar -czf /backup/etc.tar.gz /etc
Verifikasi isi tar
tar -tzf /backup/etc.tar.gz | head

Ekstraksi di mesin lain:

Mengekstrak tar backup
tar -xzf /backup/etc.tar.gz -C /mnt/restore

cpio adalah alternatif yang kuat untuk alur pipeline — misalnya membackup daftar file dari find:

Backup dengan cpio lewat pipeline
find /var/log -type f | cpio -o -H newc | gzip > /backup/logs.cpio.gz
Verifikasi isi cpio
gzip -dc /backup/logs.cpio.gz | cpio -t | head

Perbandingan Alat Backup

ToolLevelKelebihanKapan Dipakai
dump/restoreFilesystemKonsisten, incremental, restore mudahBackup seluruh partisi
tarFileSederhana, portabelDirektori/konten spesifik
cpioFilePipeline-friendlyBackups ber-arsitektur fleksibel
rsyncFileSinkronisasi incremental, remoteMirroring antar mesin

Sinkronisasi dengan rsync

rsync adalah raja sinkronisasi — membandingkan dan menyalin hanya yang berubah. Install dari pkgsrc:

Install rsync dari pkgsrc
cd /usr/pkgsrc/net/rsync
make install clean

Sinkronisasi lokal (mirror satu direktori ke direktori lain):

Sinkronisasi lokal dengan rsync
rsync -av --delete /etc/ /backup/etc-mirror/
Contoh output rsync
sending incremental file list
passwd
rc.conf
rsyncd.conf
...

Sinkronisasi remote ke server backup:

Sinkronisasi remote dengan rsync
rsync -avz --delete /var/www/ backup@server:/backups/www/

Opsi kunci: -a archive (rekursif + atribut), -v verbose, -z kompresi, --delete hapus file yang hilang di sumber. --delete sangat berguna untuk mirror yang presisi — tetapi pastikan arahnya benar!

Warning

Uji rsync dengan opsi --dry-run terlebih dahulu untuk melihat apa yang akan disalin tanpa benar-benar menyalin. Satu arah --delete yang salah bisa menghapus data target.

Strategi Backup yang Baik

Aturan 3-2-1

KomponenArti
3 salinan data1 produksi + 2 backup
2 media berbedaMisal disk lokal + disk eksternal/remote
1 di luar lokasiSalinan di tempat berbeda dari mesin produksi

Jadwal yang Umum

Contoh jadwal backup di crontab
# Backup level 0 (full) tiap Minggu pukul 02:00
0 2 * * 0 root dump -0au -f /backup/full.dump /dev/rwd0e
# Backup level 5 (incremental) tiap hari pukul 02:00
0 2 * * 1-6 root dump -5au -f /backup/inc.dump /dev/rwd0e

Daftarkan jadwal di crontab root dengan crontab -e. Kombinasi full + incremental memberi keseimbangan antara kecepatan dan cakupan pemulihan.

Uji Restore Secara Berkala

Backup yang tidak pernah di-restore adalah tebakan, bukan backup. Jadwalkan uji restore berkala — misalnya di VM — untuk memastikan proses pemulihan benar-benar berfungsi saat dibutuhkan.

Penutup

Pada episode 11 ini, kalian telah melindungi data NetBSD: merawat filesystem dengan fsck, membuat snapshot FFS untuk backup konsisten, serta membangun strategi backup dengan dump/restore, tar, cpio, dan rsync — plus jadwal otomatis lewat crontab.

Inti yang harus dibawa pulang:

  • Pemeriksaan rutin dengan fsck; snapshot dengan fsck -t untuk backup konsisten saat sistem hidup.
  • dump/restore untuk backup tingkat filesystem; tar/cpio untuk tingkat file.
  • rsync untuk sinkronisasi incremental — uji dengan --dry-run dulu.
  • Terapkan aturan 3-2-1 dan jadwalkan lewat crontab.
  • Uji restore secara berkala — backup tanpa restore hanyalah harapan.

Di episode 12 selanjutnya kita akan membangun tembok pertahanan: firewall dengan npf dan ipfilter — menulis ruleset npf.conf, mengaktifkan NAT, mengelola dengan npfctl, serta membandingkan npf dengan ipfilter dan pf. Sampai jumpa di episode 12!

Belajar NetBSD - Data Management & Backup | Belajar NetBSD