Belajar DragonFlyBSD - HAMMER2 Fundamentals
Episode 8 of 23

Belajar DragonFlyBSD - HAMMER2 Fundamentals

Episode ini membuka pintu HAMMER2 secara menyeluruh: konsep PFS (Pseudo File System) sebagai dataset, cara mount dengan mount_hammer2, penambahan volume lewat hammer2 volume-add untuk multi-volume spanning disks, serta property compression zstd dan lz4, checksum, dan opsi mount penting.

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

Pendahuluan

Di episode 7 sebelumnya kalian sudah mengenal HAMMER2 sebagai salah satu pilihan filesystem, memformatnya dengan newfs_hammer2, dan menyusun mount di /etc/fstab. Sekarang kita masuk ke dalam: apa yang sebenarnya terjadi di balik HAMMER2, dan bagaimana fitur-fiturnya dikendalikan. Episode ini adalah fondasi teknis untuk semua pembahasan storage selanjutnya.

HAMMER2 bukan sekadar filesystem — ia adalah sistem storage dengan model yang berbeda dari UFS atau ext4. Daripada satu filesystem untuk satu device, HAMMER2 mengenal konsep PFS (Pseudo File System), volume, dan mount points yang lebih fleksibel. Bayangkan HAMMER2 sebagai bangunan dengan banyak pintu masuk yang bisa diatur sendiri-sendiri.

Konsep PFS: Dataset di dalam Filesystem

Apa itu PFS?

PFS (Pseudo File System) adalah unit utama di HAMMER2 — mirip dengan dataset di ZFS. Satu filesystem HAMMER2 bisa berisi banyak PFS, masing-masing dengan property sendiri: opsi compression, checksum, bahkan enkripsi. PFS default dibuat saat format dan diberi nama sesuai label filesystem.

Untuk melihat daftar PFS dalam sebuah filesystem:

Mendaftar PFS dalam filesystem
hammer2 pfs-list /mnt/data

Setiap PFS bisa di-mount ke mount point yang berbeda. Inilah yang membuat HAMMER2 fleksibel: satu disk, banyak "filesystem logis" dengan pengaturan berbeda.

Membuat PFS Baru

Membuat PFS baru berarti memberi sistem storage layer baru. PFS baru muncul sebagai direktori di dalam filesystem, dan bisa di-mount secara terpisah:

Buat PFS baru dan mount
hammer2 pfs-create /mnt/data/apps
mkdir /apps
mount_hammer2 /mnt/data/apps /apps

Pola ini adalah kunci utama series ini: kalian akan sering membuat PFS per aplikasi atau per layanan, sehingga snapshot dan property bisa diatur per-PFS.

Mount dengan mount_hammer2

Mounting HAMMER2 dilakukan dengan mount_hammer2. Sintaks dasarnya menunjuk label atau path PFS:

Mount filesystem HAMMER2
mount_hammer2 @LABEL /mnt/data
mount_hammer2 @data:local /mnt/data

Notasi @LABEL menunjuk PFS dengan label tertentu. Setelah ter-mount, seluruh property PFS — compression, checksum, opsi mount — berlaku untuk mount point tersebut. Untuk otomatis di boot, tulis entri di /etc/fstab dengan -t hammer2:

Entri fstab untuk HAMMER2
/dev/da1s1d@ROOT     /mnt/data    hammer2    rw    0    0

Volume: Multi-Volume & Spanning Disks

Konsep Volume

Volume adalah blok ruang fisik yang disumbangkan ke sebuah filesystem HAMMER2. Satu filesystem bisa terdiri dari banyak volume yang tersebar di beberapa disk — inilah mekanisme RAID-like dan spanning disks di HAMMER2. Ketika satu disk penuh, tambahkan disk baru sebagai volume tanpa menghentikan layanan.

Menambahkan Volume

Untuk menambahkan disk ke filesystem HAMMER2 yang sudah ada:

Tambahkan volume HAMMER2
newfs_hammer2 -L data -s 20G /dev/da2s1d
mount_hammer2 /dev/da1s1d@data /mnt/data
hammer2 volume-add /dev/da2s1d /mnt/data

Urutannya: format disk baru dengan newfs_hammer2, mount filesystem utama, lalu hammer2 volume-add untuk menyatukan disk baru ke dalam filesystem. Setelah itu, data otomatis dapat memanfaatkan ruang tambahan.

Info

Multi-volume HAMMER2 bukan RAID — ia spanning, bukan mirroring. Data disebar ke semua volume untuk memanfaatkan ruang total, tapi tidak ada redundancy otomatis. Di episode 19 kita akan merancang strategi production yang tepat: deduplication, snapshot rutin, dan backup, sehingga ketiadaan mirror tidak menjadi masalah.

Melihat Status Volume

Memeriksa volume dan property filesystem:

Info volume HAMMER2
hammer2 info /mnt/data
hammer2 status /mnt/data

hammer2 info menampilkan volume yang tergabung, tipe PFS, dan versi; hammer2 status menampilkan ukuran, penggunaan, dan kesehatan filesystem.

Property: Compression, Checksum, dan Opsi Mount

Compression: zstd dan lz4

HAMMER2 mendukung compression per-PFS, dan pengaturan bisa diubah saat filesystem sudah ter-mount:

AlgoritmaKarakteristik
zstdRasio kompresi terbaik, CPU lebih tinggi
lz4Sangat cepat, rasio lebih rendah
noneTanpa kompresi

Mengatur compression pada sebuah mount:

Atur compression zstd pada mount point
mount -o comp=zstd /mnt/data
hammer2 set-compress zstd /mnt/data

Checksum

Checksum adalah fitur yang membuat HAMMER2 mendeteksi korupsi data sejak dini. Setiap block menyimpan checksum, dan saat data dibaca, checksum diverifikasi. Checksum diaktifkan default dan bisa diatur per-PFS:

Aktifkan checksum pada mount point
mount -o check  /mnt/data
hammer2 set-check /mnt/data

Opsi Mount Penting

Beberapa opsi mount HAMMER2 yang akan kalian temui di mount -o ...:

OpsiFungsi
rw / roRead-write / read-only
noatimeTidak memperbarui access time — hemat I/O
comp=zstdKompresi per mount
bulkfreeMenjalankan bulkfree (pembersih) otomatis

Melihat opsi yang aktif saat ini:

Lihat opsi mount HAMMER2
mount | grep hammer2

Penutup

Di episode 8 ini kalian telah menguasai fondasi HAMMER2: konsep PFS sebagai dataset yang bisa di-mount terpisah, penggunaan mount_hammer2 dengan notasi @LABEL, penambahan volume dengan hammer2 volume-add untuk multi-volume spanning disks, serta property compression (zstd, lz4), checksum, dan opsi mount penting.

Inti yang harus dibawa pulang:

  • PFS adalah unit utama HAMMER2 — buat satu PFS per aplikasi agar snapshot dan property bisa diatur terpisah.
  • hammer2 pfs-list, hammer2 pfs-create, dan mount_hammer2 adalah trio pengelola PFS.
  • hammer2 volume-add menggabungkan disk baru ke filesystem untuk spanning — bukan mirroring.
  • Compression zstd/lz4 dan checksum diatur per-PFS lewat mount -o atau hammer2 set-compress.
  • hammer2 info dan hammer2 status adalah jendela kesehatan filesystem kalian.

Di episode 9 selanjutnya kita akan membawa HAMMER2 ke level berikutnya: snapshot, dedup & encryption. Kalian akan membuat snapshot dengan hammer2 snapshot, mengelola daftar PFS dengan pfs-list, melakukan rollback dan clones, mengaktifkan block deduplication, mengenkripsi PFS dengan hammer2 set-encrypted, serta melihat fitur remote mounting eksperimental di 6.4.