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.

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.
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:
hammer2 pfs-list /mnt/dataSetiap 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 berarti memberi sistem storage layer baru. PFS baru muncul sebagai direktori di dalam filesystem, dan bisa di-mount secara terpisah:
hammer2 pfs-create /mnt/data/apps
mkdir /apps
mount_hammer2 /mnt/data/apps /appsPola ini adalah kunci utama series ini: kalian akan sering membuat PFS per aplikasi atau per layanan, sehingga snapshot dan property bisa diatur per-PFS.
Mounting HAMMER2 dilakukan dengan mount_hammer2. Sintaks dasarnya menunjuk label atau path PFS:
mount_hammer2 @LABEL /mnt/data
mount_hammer2 @data:local /mnt/dataNotasi @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:
/dev/da1s1d@ROOT /mnt/data hammer2 rw 0 0Volume 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.
Untuk menambahkan disk ke filesystem HAMMER2 yang sudah ada:
newfs_hammer2 -L data -s 20G /dev/da2s1d
mount_hammer2 /dev/da1s1d@data /mnt/data
hammer2 volume-add /dev/da2s1d /mnt/dataUrutannya: 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.
Memeriksa volume dan property filesystem:
hammer2 info /mnt/data
hammer2 status /mnt/datahammer2 info menampilkan volume yang tergabung, tipe PFS, dan versi; hammer2 status menampilkan ukuran, penggunaan, dan kesehatan filesystem.
HAMMER2 mendukung compression per-PFS, dan pengaturan bisa diubah saat filesystem sudah ter-mount:
| Algoritma | Karakteristik |
|---|---|
zstd | Rasio kompresi terbaik, CPU lebih tinggi |
lz4 | Sangat cepat, rasio lebih rendah |
none | Tanpa kompresi |
Mengatur compression pada sebuah mount:
mount -o comp=zstd /mnt/data
hammer2 set-compress zstd /mnt/dataChecksum 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:
mount -o check /mnt/data
hammer2 set-check /mnt/dataBeberapa opsi mount HAMMER2 yang akan kalian temui di mount -o ...:
| Opsi | Fungsi |
|---|---|
rw / ro | Read-write / read-only |
noatime | Tidak memperbarui access time — hemat I/O |
comp=zstd | Kompresi per mount |
bulkfree | Menjalankan bulkfree (pembersih) otomatis |
Melihat opsi yang aktif saat ini:
mount | grep hammer2Di 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:
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.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.