Episode ini membangun storage di atas pool ZFS: konsep vdev dan topologi pool, dataset dengan properti compression, quota, dan recordsize, hingga zvol untuk block storage. Kalian juga membuat shared folder untuk SMB dan NFS dengan permission serta struktur folder yang benar.

Di episode 5 kalian sudah memahami ZFS sebagai filesystem. Sekarang saatnya memakainya untuk membangun struktur storage nyata. Episode 6 ini membahas tiga lapisan utama: pool sebagai kumpulan disk, dataset sebagai unit penyimpanan logis di dalam pool, dan shares sebagai pintu keluar data ke client.
Salah satu kesalahan umum pemula adalah menyimpan semua data langsung di root pool tanpa membuat dataset. Akibatnya, quota, snapshot, dan kontrol permission jadi kaku. Membiasakan memisahkan data ke dataset sejak awal akan menyelamatkan kalian bertahun-tahun kemudian.
Di akhir episode ini kalian akan bisa membuat pool dengan topologi vdev yang tepat, menciptakan dataset dengan properti yang disesuaikan, membuat zvol, dan menyajikan semuanya sebagai share SMB maupun NFS.
Pool adalah unit penyimpanan logis yang menyatukan satu atau lebih disk. Di dalam pool, disk dikelompokkan ke dalam vdev (virtual device), dan setiap vdev membawa karakteristik redundancynya sendiri. Topologi pool ditentukan saat zpool create dijalankan dan tidak bisa diubah sembarangan.
zpool create tank mirror sda sdb mirror sdc sddPerintah zpool create tank mirror sda sdb mirror sdc sdd membuat pool tank dari dua pasang mirror. Kombinasi vdev ini menentukan kapasitas dan ketahanan pool secara keseluruhan.
Beberapa pola yang umum dipakai di lapangan:
Pola yang beragam ini penting karena kegagalan satu vdev bisa melumpuhkan seluruh pool. Untuk data penting, minimal gunakan satu vdev mirror atau RAIDZ2.
Dataset adalah unit filesystem di dalam pool yang memiliki properti independen seperti compression, quota, dan recordsize. Setiap dataset bisa di-snapshot sendiri dan di-share sendiri. Membuat dataset terpisah untuk setiap jenis data adalah praktik terbaik.
zfs create tank/data
zfs create tank/data/foto
zfs set compression=zstd tank/data
zfs listPerintah zfs create tank/data membuat dataset, sedangkan zfs set compression=zstd mengaktifkan kompresi. Setiap dataset tampil di output zfs list.
Tiga properti yang paling sering disetel:
zstd modern dan efisien; cocok untuk hampir semua data.1t.zfs set quota=2t tank/data
zfs set recordsize=1m tank/data/fotoPerintah zfs set quota=2t membatasi dataset tank/data maksimal 2 terabyte. Aturan recordsize sebaiknya ditentukan saat dataset dibuat, karena mengubahnya setelah data masuk hanya memengaruhi file baru.
Zvol adalah dataset khusus yang menyediakan block device mentah di /dev/zvol. Berbeda dengan dataset yang menyimpan file, zvol digunakan sebagai disk virtual untuk VM, target iSCSI, atau swap.
zfs create -V 100g tank/zvol-vm1
lsblk /dev/zvol/tank/zvol-vm1Perintah zfs create -V 100g tank/zvol-vm1 membuat block device 100 gigabyte. Zvol ini akan dipakai kembali di episode 11 untuk iSCSI dan episode 19 untuk VM.
Gunakan dataset untuk data file yang diakses sebagai share; gunakan zvol untuk kebutuhan block-level seperti VM, database dengan akses langsung, atau target iSCSI. Keputusan ini menentukan cara client melihat penyimpanan: sebagai direktori atau sebagai disk.
Setelah dataset siap, data disajikan ke client melalui share. Di TrueNAS SCALE, buka menu Shares lalu tambahkan SMB share atau NFS share yang menunjuk ke dataset. Di OpenMediaVault, buat shared folder lalu pasangkan ke layanan SMB/CIFS atau NFS.
smbutil view //192.168.1.100
showmount -e 192.168.1.100Perintah showmount -e menampilkan daftar ekspor NFS. Kombinasi smbutil view dan showmount ini menjadi alat cepat memeriksa share yang aktif.
Bangun struktur dataset yang mencerminkan kebutuhan, misalnya:
tank/media untuk film dan musik.tank/dokumen untuk arsip kantor.tank/backup untuk hasil backup semua perangkat.tank/apps untuk data aplikasi self-hosted.Struktur yang konsisten mempermudah penerapan quota, snapshot, dan permission per dataset di episode 7 dan 12.
Saat membuat share, tetapkan user atau group yang berhak mengakses. Pada SMB, permission bisa diatur sebagai read-only atau read-write per user. Prinsipnya: mulai dari yang paling ketat, lalu buka akses seperlunya.
chown -R userdata:users /tank/data/dokumen
chmod 750 /tank/data/dokumenPerintah chown dan chmod di atas mengatur pemilik dan mode akses dasar. Detail ACL yang lebih halus akan dibahas di episode 7 dan 13.
Tip
Jangan pernah menulis data langsung ke root pool. Selalu buat dataset terlebih dahulu. Root pool sebaiknya dikosongkan untuk keperluan sistem dan snapshot awal.
Di episode 6 ini kalian sudah membangun fondasi storage: memahami pool dan vdev, membuat dataset dengan compression, quota, dan recordsize, menciptakan zvol untuk block storage, serta menyajikan data sebagai share SMB dan NFS dengan struktur folder yang rapi.
Inti yang harus dibawa pulang:
Di episode 7 selanjutnya kita akan membahas user, groups, dan permissions — dari user lokal hingga integrasi LDAP dan Active Directory, permission POSIX, ACL NFSv4 dan SMB, serta pengaturan quota per user. Data kalian sudah tersusun, sekarang saatnya mengontrol siapa yang boleh menyentuhnya.