Episode ini merancang storage production di DragonFlyBSD: NAS dengan multi-volume HAMMER2, pengelolaan dedup dan encryption, penjadwalan snapshot dengan cron, pemantauan hammer2 status, serta growfs untuk resize filesystem di 6.2+.

Di episode 18 sebelumnya kalian sudah menjalankan VM di atas NVMM. Sekarang kita memakai seluruh ilmu storage yang telah dikumpulkan sejak episode 7 untuk satu tujuan terakhir yang paling nyata: merancang storage production. Inilah momen di mana HAMMER2 — filesystem yang sejak awal jadi alasan kalian belajar series ini — benar-benar bekerja.
Bayangkan kalian ditugaskan membangun server penyimpanan untuk perusahaan: banyak disk, data yang terus bertambah, kebutuhan backup harian, dan tuntutan integritas data. Episode 19 menyusun blueprint-nya: multi-volume HAMMER2 untuk memanfaatkan semua disk, dedup dan encryption untuk efisiensi dan keamanan, snapshot terjadwal lewat cron, pemantauan rutin, dan resize yang mulus saat kapasitas bertambah.
Dasar storage production adalah memanfaatkan semua ruang disk yang ada. Dengan multi-volume HAMMER2, disk tambahan di-format dan digabung tanpa menghentikan layanan:
newfs_hammer2 -L data -s 4T /dev/da1s1d
newfs_hammer2 -L data -s 4T /dev/da2s1d
mount_hammer2 /dev/da1s1d@data /srv/nas
hammer2 volume-add /dev/da2s1d /srv/nasSetelah volume-add, filesystem data memiliki 8 TB dari dua disk. Saat butuh lebih, format disk baru dan volume-add lagi — kapasitas tumbuh secara hot.
Di dalam filesystem besar itu, pecah menjadi PFS per layanan agar snapshot dan property bisa diatur per-kebutuhan:
hammer2 pfs-create /srv/nas/docker
hammer2 pfs-create /srv/nas/backup
hammer2 pfs-create /srv/nas/secure
mount_hammer2 /srv/nas/backup /mnt/backupPFS secure bisa di-encrypt, PFS backup diberi snapshot paling sering, dan PFS docker memakai compression zstd untuk image yang berulang.
Dedup bekerja paling baik untuk data berulang — VM images, backup tar, ISO. Aktifkan dan jalankan bulkfree terjadwal:
hammer2 bulkfree /srv/nasUntuk PFS yang menyimpan data sensitif, aktifkan enkripsi dan dokumentasikan kuncinya:
hammer2 set-encrypted /srv/nas/secureSnapshot rutin adalah tulang punggung recovery. Susun jadwal dengan cron — snapshot harian yang disimpan beberapa hari, snapshot mingguan lebih lama:
# snapshot harian jam 2 pagi, simpan 7 hari
0 2 * * * hammer2 snapshot /srv/nas/docker
0 2 * * * hammer2 snapshot /srv/nas/backupHapus snapshot yang melewati usia target dengan hammer2 pfs-destroy terjadwal, atau kelola manual pada titik waktu tertentu. Kunci dari jadwal yang baik adalah keteraturan, bukan keragaman.
Warning
Snapshot yang tidak pernah diuji restore sama berharganya dengan tidak ada snapshot. Jadwalkan juga uji restore berkala — misalnya mount snapshot tertua dan verifikasi isinya — sebagai bagian dari prosedur operasional bulanan.
hammer2 status menjadi dashboard kesehatan:
hammer2 status /srv/nas
df -h /srv/nasIntegrasikan ke sistem monitoring (misalnya cron + mail, atau output ke tool external). Ketika penggunaan mendekati batas, inilah saatnya menambah volume atau membersihkan snapshot lama.
Saat volume diperbesar — misalnya disk virtual di VM ditambah — HAMMER2 bisa memperluas filesystem tanpa unmount. Sejak 6.2, growfs menangani resize otomatis:
growfs /srv/nasSetelah disk fisik membesar, growfs menyesuaikan ukuran volume. Cek ukuran setelah growfs dengan hammer2 status — kapasitas baru langsung tersedia untuk volume dan snapshot berikutnya.
Storage server tanpa backup off-site adalah bom waktu. Kombinasikan:
Terapkan aturan 3-2-1 dari episode 11: tiga salinan, dua media, satu off-site.
Di episode 19 ini kalian telah merancang storage production dengan HAMMER2: membangun NAS multi-volume dengan hammer2 volume-add, menyusun PFS per layanan dengan property berbeda, mengaktifkan dedup dan encryption, menjadwalkan snapshot dengan cron, memantau dengan hammer2 status, dan memperluas filesystem dengan growfs (6.2+).
Inti yang harus dibawa pulang:
hammer2 volume-add /dev/da2s1d /srv/nas.hammer2 status dan df -h adalah dashboard pemantauan harian.growfs memperluas filesystem tanpa unmount; kombinasikan snapshot lokal + rsync/send off-site.Di episode 20 selanjutnya kita bermain dengan source: build system & kernel customization. Kalian akan membangun sistem dari source dengan make buildworld dan make buildkernel, meng-install dengan make installkernel, memahami binary updates dengan dragonfly-update, serta menulis custom kernel config di /usr/src/sys.