Episode ini memilih dan mengoptimalkan storage tempat datastore PBS hidup: ZFS dengan compression, snapshot, dan checksum plus best practice recordsize 1M; skenario ext4 + LVM; serta trade-off performa saat memakai NFS/SMB. Kalian juga belajar menghitung kapasitas storage berdasarkan dedup ratio dan ukuran data aktual.

Keamanan di episode 14 membuat repository tahan banting — sekarang kita bicara tempat datanya berpijak: storage. Semua chunk, dedup, dan snapshot PBS hidup di atas filesystem, dan pilihan filesystem menentukan ketahanan, performa, dan fitur yang bisa dipakai. Episode 15 membahas ZFS, ext4 + LVM, dan NFS/SMB sebagai wadah datastore.
Bayangkan PBS seperti rumah sakit: datastore adalah ruang penyimpanan sampel. ZFS adalah ruangan ber-AC dengan sistem pencatatan dan cadangan otomatis; ext4+LVM adalah ruangan simpel yang dirawat manual; dan NFS adalah ruangan di gedung seberang — tetap berfungsi, tapi tiap kali ambil sampel harus menyeberang jalan (latency jaringan).
ZFS adalah rekomendasi utama Proxmox untuk datastore karena tiga kemampuan yang persis melengkapi PBS:
Satu pengaturan yang wajib untuk datastore PBS adalah recordsize 1M (1 MiB). Default ZFS untuk dataset data adalah 128K — tapi chunk PBS berukuran hingga 4 MiB dan ditulis berurutan. Ukuran record yang lebih besar berarti:
zfs create -o recordsize=1M -o compression=lz4 rpool/dataAtur juga xattr=sa dan atime=off untuk performa metadata dan pembacaan yang lebih baik. Dataset ZFS terpisah untuk datastore memudahkan snapshot dan pemantauan ruang.
Important
Ubah recordsize sebelum datastore terisi, dan pertimbangkan kompresi ZFS vs kompresi PBS: aktifkan salah satunya saja untuk menghindari CPU terbuang pada data yang sudah padat. Lz4 ZFS sangat ringan, tapi chunk PBS yang terkompresi tidak akan menyusut lagi.
Tidak semua environment punya ZFS — entah karena preferensi tim atau hardware yang sudah berjalan. ext4 di atas LVM adalah alternatif yang stabil:
e2fsck).Yang hilang dibanding ZFS: checksum end-to-end (bertumpu pada checksum PBS), dan snapshot immutable berbasis ZFS. Untuk proteksi anti-ransomware di skenario ini, andalkan off-site sync dan firewall.
lvcreate -L 1T -n pbs-data vg1
mkfs.ext4 /dev/vg1/pbs-data
mount /dev/vg1/pbs-data /var/lib/proxmox-backup/datastore/store1noatime untuk mengurangi tulis metadata.df dan inode (df -i) — chunk PBS banyak jumlahnya; inode bisa menjadi batasan di filesystem kecil.Datastore di NFS atau SMB itu legal dan didukung — misalnya untuk memanfaatkan NAS/array yang sudah ada. Namun ada biaya nyata:
Untuk production yang serius, network storage 10G dan jaring terpisah (episode 13) adalah syarat minimum yang wajar. Untuk keperluan lab atau environment kecil, NFS di link 1G cukup.
mount -t nfs 10.0.20.5:/backup /mnt/pbs-nfsKapasitas storage dihitung dari data aktual setelah dedup dan kompresi, bukan ukuran raw backup:
Kapasitas ≈ (Total Data × RPO window snapshot)
÷ Dedup Ratio ÷ Compression RatioContoh: 4 TB data VM, dedup ratio 5x, kompresi 2x, retention 30 hari penuh:
4 TB × 1.0 (tiap malam full logical) ÷ 5 ÷ 2 ≈ 0.4 TB per siklus
× 30 hari ≈ 12 TB sebelum marginTambahkan margin 20-30% untuk metadata, GC watermark, dan snapshot ZFS. Cara paling akurat: ukur metrik Original vs Dedup vs Compressed di datastore kalian (episode 6) setelah beberapa hari berjalan, lalu proyeksikan.
Tip
Proyeksikan kapasitas dari rasio nyata datastore kalian, bukan tebakan: setelah seminggu backup, ambil angka Dedup dan Compressed dari web UI PBS lalu kalikan dengan proyeksi pertumbuhan data. Itu jauh lebih akurat daripada formula teoritis.
Inti yang harus dibawa pulang:
recordsize=1M adalah best practice wajib untuk datastore PBS di ZFS.Di episode 16 selanjutnya kita akan menghadapi saat-saat sulit: troubleshooting & recovery — membaca task log detail, memakai perintah proxmox-backup-manager, menangani kasus umum seperti disk penuh, race GC, dan fingerprint mismatch, serta memulihkan datastore ke server baru lewat sync/import dengan test recovery menyeluruh. Siap siaga bukan berarti tidak pernah ada masalah!