Episode ini membahas NFS sebagai protokol share untuk client Unix-like: format exports di /etc/exports, perbedaan NFSv3 dan v4, autentikasi Kerberos dengan sec=krb5, serta opsi nconnect untuk throughput. Kalian juga memakai NFS sebagai shared storage untuk virtualisasi, container, dan development workflow.

Jika SMB adalah protokol untuk dunia Windows, maka NFS (Network File System) adalah protokol untuk dunia Unix-like dan virtualisasi. Episode 10 ini membahas NFS secara menyeluruh: bagaimana mendefinisikan ekspor di /etc/exports, apa perbedaan NFSv3 dan v4, bagaimana mengamankannya dengan Kerberos, dan bagaimana memanfaatkannya sebagai shared storage untuk hypervisor dan container.
NFS menjadi tulang punggung banyak infrastruktur karena kinerjanya yang tinggi dan modelnya yang sederhana. Memahami NFS membuka jalan ke topik besar seperti shared storage Proxmox, persistent volume Kubernetes, dan workload development yang butuh mount langsung.
Di akhir episode ini kalian akan bisa membuat ekspor NFS yang benar, memilih versi protokol yang tepat, menerapkan autentikasi Kerberos, dan mengintegrasikan NFS ke hypervisor serta container.
Setiap direktori yang ingin dibagikan didaftarkan di /etc/exports, satu baris per ekspor. Setiap baris berisi path, daftar client, dan opsi yang dibatasi tanda kurung.
/tank/data 192.168.1.0/24(rw,sync,no_subtree_check)
/tank/backup 10.0.20.0/24(ro,root_squash)Baris pertama membagikan /tank/data ke subnet LAN dengan akses baca-tulis; baris kedua membagikan /tank/backup read-only ke jaringan backup. Opsi root_squash di baris kedua memetakan root client ke user tak berhak, mencegah akses istimewa.
Setelah mengubah /etc/exports, ekspor harus disegarkan tanpa me-restart layanan:
exportfs -ra
exportfs -vPerintah exportfs -ra menulis ulang semua ekspor, sedangkan exportfs -v menampilkan daftar ekspor aktif beserta opsi yang berlaku.
NFSv3 adalah protokol sederhana dan banyak didukung, tetapi tidak memiliki fitur keamanan dan semantik modern. NFSv4 membawa integrasi dengan autentikasi kuat, dukungan delegasi, dan operasi berkomponen yang mengurangi round-trip.
/tank/data 192.168.1.0/24(rw,vers=4)Opsi vers=4 membatasi ekspor ke NFSv4. Untuk kompatibilitas maksimal dengan client lama, NFSv3 masih bisa dipertahankan, tetapi arah yang benar adalah pindah ke NFSv4.
Di sisi client, pilih versi protokol saat mount. NFSv4 menggunakan port 2049 yang tetap, sehingga lebih ramah firewall dibanding NFSv3 yang memakai port dinamis.
sudo mount -t nfs -o vers=4.2 192.168.1.100:/tank/data /mnt/dataPerintah mount -t nfs -o vers=4.2 memaksa penggunaan NFSv4.2, versi yang mendukung fitur seperti copy offload dan server-side copy.
Tanpa Kerberos, NFS mempercayai alamat IP dan user ID dari client. Kerberos menambahkan identitas terverifikasi sehingga user di client dikenali sebagai user yang sama di server. Konfigurasi ini membutuhkan KDC (seperti Active Directory atau MIT Kerberos) yang berjalan di jaringan.
/tank/data 192.168.1.0/24(rw,sec=krb5)Opsi sec=krb5 mewajibkan autentikasi Kerberos untuk ekspor. Mode krb5p menambahkan enkripsi di atas autentikasi, melindungi data saat transit.
TrueNAS SCALE memakai Kerberos melalui konfigurasi directory service dan nfs section di Web UI. Setelah ticket diperoleh, client bisa mount ekspor dengan kredensial Kerberos:
kinit devnull@LAB.LAN
sudo mount -t nfs -o sec=krb5 192.168.1.100:/tank/data /mnt/dataPerintah kinit mengambil ticket dari KDC, lalu mount -o sec=krb5 memakai identitas tersebut. Tanpa ticket valid, mount dengan sec=krb5 akan ditolak.
NFS secara historis membatasi satu koneksi TCP per mount, yang membatasi throughput pada link berlatensi tinggi. Opsi nconnect membuka beberapa koneksi paralel untuk memanfaatkan banyak core dan jalur jaringan.
sudo mount -t nfs -o nconnect=8 192.168.1.100:/tank/data /mnt/dataOpsi nconnect=8 membuka delapan koneksi paralel ke server. Pada jaringan 10GbE, ini sering kali menjadi perbedaan antara saturasi link atau tidak.
nconnect paling efektif untuk workload paralel seperti build besar, database, dan banyak client. Untuk satu proses sequential, koneksi tunggal sudah cukup. Nilai umum berkisar 4 hingga 16, sesuaikan dengan jumlah core dan throughput jaringan.
NFS adalah shared storage favorit untuk hypervisor. Dengan NFS, semua node cluster melihat dataset yang sama, memungkinkan live migration VM tanpa menyalin disk.
pvesm add nfs nas-tank --server 192.168.1.100 --export /tank/dataPerintah pvesm add nfs mendaftarkan ekspor NFS sebagai storage di Proxmox. VM dan template kemudian bisa disimpan di atasnya.
Di Kubernetes, NFS bisa dipakai sebagai PersistentVolume (PV) sederhana tanpa cloud provider. Ini pilihan praktis untuk homelab cluster.
apiVersion: v1
kind: PersistentVolume
metadata:
name: nas-pv
spec:
capacity:
storage: 500Gi
accessModes:
- ReadWriteMany
nfs:
server: 192.168.1.100
path: /tank/dataManifest YAML di atas mendaftarkan ekspor NFS sebagai PV yang bisa dipakai banyak pod sekaligus. Pola ReadWriteMany ini menjadi andalan storage shared untuk container.
Banyak tim memakai NFS sebagai mount bersama untuk environment development: kode di NAS, diakses semua mesin developer dengan sinkronisasi otomatis. Kombinasi NFS dengan tools seperti Vagrant dan Docker Desktop menghadirkan kecepatan yang jauh lebih baik dibanding volume tipe lain.
Tip
Sebelum menerapkan sec=krb5, pastikan KDC tersedia dan jam semua mesin disinkronkan dengan NTP. Kegagalan sinkronisasi waktu adalah penyebab paling umum kegagalan autentikasi Kerberos.
Di episode 10 ini kalian sudah menguasai NFS: mendefinisikan ekspor di /etc/exports, membedakan NFSv3 dan v4, menerapkan autentikasi Kerberos dengan sec=krb5, memakai nconnect untuk throughput, serta mengintegrasikan NFS dengan hypervisor, Kubernetes, dan development workflow.
Inti yang harus dibawa pulang:
/etc/exports dan disegarkan dengan exportfs -ra.sec=krb5 memverifikasi identitas; krb5p menambahkan enkripsi.nconnect membuka koneksi paralel untuk workload paralel.Di episode 11 selanjutnya kita akan membahas iSCSI dan block storage — dari konsep target dan initiator, LUN, autentikasi CHAP, hingga zvol sebagai backing store dan penggunaannya untuk VMware, Hyper-V, dan Kubernetes PV. NFS sudah melayani kebutuhan file, sekarang giliran akses block-level.