Belajar DragonFlyBSD - HAMMER2 Snapshot, Dedup & Encryption
Episode 9 of 23

Belajar DragonFlyBSD - HAMMER2 Snapshot, Dedup & Encryption

Episode ini membawa HAMMER2 ke level lanjutan: membuat snapshot dengan hammer2 snapshot, mengelola daftar PFS dengan pfs-list, rollback dan clones, block deduplication, enkripsi per-PFS dengan hammer2 set-encrypted, serta fitur remote mounting eksperimental 6.4.

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

Pendahuluan

Di episode 8 sebelumnya kalian sudah memahami PFS, volume, dan property HAMMER2 — fondasi yang membuat filesystem ini unik. Sekarang kita mengambil fitur yang paling sering dicari orang: snapshot, deduplication, dan encryption. Inilah tiga alasan terbesar seseorang memilih DragonFlyBSD sebagai storage platform.

Bayangkan snapshot sebagai foto polaroid gudang kalian pada satu momen: seluruh isi — setiap file, setiap byte — terekam persis, tanpa menghabiskan ruang ganda. Deduplication adalah staf yang menemukan barang kembar dan menyimpannya sekali saja. Encryption adalah gembok yang memastikan isi gudang hanya bisa dibaca dengan kunci yang benar.

Snapshot

Membuat Snapshot

Snapshot HAMMER2 dibuat dengan hammer2 snapshot. Setiap snapshot adalah PFS baru yang merekam keadaan filesystem pada titik waktu tertentu:

Buat snapshot pada PFS
hammer2 snapshot /mnt/data
hammer2 pfs-list /mnt/data

Perintah pertama membuat snapshot dengan nama default bertanggal; perintah kedua menampilkan semua PFS termasuk snapshot yang baru dibuat. Setiap snapshot bisa di-mount, diakses, bahkan di-rollback.

Mengelola Daftar PFS dan Snapshot

Menampilkan detail seluruh PFS:

Daftar dan detail PFS
hammer2 pfs-list /mnt/data
hammer2 pfs-destroy /mnt/data/.snapshot/2026.08.03-1200

pfs-destroy menghapus sebuah PFS atau snapshot. Hati-hati — operasi ini permanen. Selalu verifikasi nama snapshot sebelum menghapus.

Rollback

Rollback mengembalikan filesystem ke keadaan yang terekam pada sebuah snapshot. Ini adalah penyelamat ketika data terhapus atau rusak:

Rollback ke snapshot
hammer2 snapshot /mnt/data
umount /mnt/data
hammer2 rollback /mnt/data@ROLLBACK
mount_hammer2 /mnt/data /mnt/data

Pola amannya: buat snapshot baru terlebih dahulu (jika memungkinkan), lepas mount, lakukan rollback, lalu mount kembali. Data di masa sekarang tidak akan hilang karena masih tersimpan sebagai snapshot.

Warning

Rollback mengubah PFS aktif ke keadaan snapshot. Proses yang sedang menulis ke filesystem harus dihentikan dulu — itulah kenapa umount dilakukan sebelum rollback. Di production, lakukan dalam window pemeliharaan.

Clones

Clone adalah salinan PFS yang bisa di-mount secara paralel — berguna untuk development, staging, atau analisis data tanpa menyentuh data asli:

Buat clone dari snapshot
hammer2 snapshot /mnt/data
hammer2 clone /mnt/data@CLONE /mnt/data/.snapshots/clone-1
mount_hammer2 /mnt/data/.snapshots/clone-1 /mnt/clone

Dengan clone, kalian bisa bereksperimen dengan bebas di /mnt/clone — perubahan di sana tidak memengaruhi PFS asli.

Deduplication

Block Deduplication

Deduplication menemukan blok data yang identik dan menyimpannya hanya sekali, mengurangi konsumsi ruang secara signifikan — terutama untuk VM images, backup, dan repo package yang punya banyak data berulang. HAMMER2 menjalankan dedup lewat bulkfree atau secara eksplisit:

Jalankan deduplication
hammer2 bulkfree /mnt/data

hammer2 bulkfree memindai filesystem, mengidentifikasi blok yang sama, dan membebaskan ruang ganda. Ini adalah operasi yang aman dan bisa dijadwalkan rutin — kita akan mempraktikkannya sebagai cron job di episode 19.

Strategi Dedup

Deduplication bekerja paling baik ketika data berulang dalam skala besar. Pertimbangkan untuk menempatkan VM images, backup tar, dan ISO di satu PFS yang didedup — dengan begitu penghematannya terasa. Data yang unik seperti log dan database tidak banyak diuntungkan.

Encryption

Enkripsi per-PFS

HAMMER2 mendukung enkripsi per-PFS. Ini artinya kalian bisa mengenkripsi satu PFS (misalnya data sensitif) sementara PFS lain tetap polos. Mengaktifkan enkripsi:

Aktifkan enkripsi pada PFS
hammer2 set-encrypted /mnt/data/sensitive

Setelah diaktifkan, PFS tersebut memerlukan kunci saat mount. Tanpa kunci, data tidak bisa dibaca — perlindungan yang sempurna untuk media yang dicuri atau drive yang dipindahkan.

Danger

Enkripsi tanpa kunci berarti data selamanya terkunci. Simpan kunci PFS dengan aman — misalnya di password manager atau file terenkripsi terpisah. Tidak ada backdoor di HAMMER2: kehilangan kunci sama dengan kehilangan data.

Praktik Enkripsi

Pola praktis: pisahkan data yang butuh enkripsi ke PFS sendiri, aktifkan enkripsi, dan dokumentasikan cara mount dengan kunci. Untuk kebutuhan serius, pertimbangkan kombinasi: enkripsi per-PFS untuk data inti, snapshot rutin untuk recovery, dan backup off-site untuk bencana.

Remote Mounting (Eksperimental, 6.4)

Rilis 6.4 membawa kemampuan remote mounting HAMMER2 secara eksperimental — mount filesystem HAMMER2 dari host lain melalui jaringan, mirip konsep NFS namun dengan fitur HAMMER2:

Mount HAMMER2 remote (eksperimental)
mount_hammer2 //host1/mnt/data /mnt/remote

Fitur ini masih muda dan berlabel eksperimental — bagus untuk eksplorasi, tapi jangan jadi tulang punggung production sebelum matang. Di episode 11 kita juga akan melihat hammer2 send yang memanfaatkan model snapshot untuk transfer data.

Penutup

Di episode 9 ini kalian telah menguasai fitur lanjutan HAMMER2: membuat snapshot dengan hammer2 snapshot, mengelola PFS dengan pfs-list dan pfs-destroy, rollback dan clones, block deduplication dengan hammer2 bulkfree, enkripsi per-PFS dengan hammer2 set-encrypted, serta mengenal remote mounting eksperimental di 6.4.

Inti yang harus dibawa pulang:

  • Snapshot adalah PFS titik-waktu: hammer2 snapshot, pfs-list, dan rollback adalah siklus dasarnya.
  • Clone memberi salinan yang bisa dieksperimen tanpa menyentuh data asli.
  • Deduplication dengan hammer2 bulkfree menghemat ruang untuk data berulang.
  • Enkripsi per-PFS dengan hammer2 set-encrypted melindungi data sensitif; simpan kunci dengan aman.
  • Remote mounting di 6.4 masih eksperimental — gunakan dengan hati-hati.

Di episode 10 selanjutnya kita beralih dari storage ke jaringan: networking & network configuration. Kalian akan mengonfigurasi interface di /etc/rc.conf (DHCP dan static), memakai ifconfig dan route, menyusun /etc/resolv.conf, lalu mengenal network stack kustom newbee, interface aliases, VLAN, lagg bonding, bridge, dan IPv6.