Ubuntu 20.04 mendukung NFS versi 3 (NFSv3) dan 4 (NFSv4). Versi NFS default adalah 4.2 yang menampilkan dukungan untuk Access Control Lists (ACL), salinan sisi server, file sparse, reservasi ruang, NFS berlabel, penyempurnaan tata letak, dan banyak lagi.
Dalam panduan ini, kita akan mempelajari cara menginstal dan mengkonfigurasi Server NFS dan klien NFS di Ubuntu 20.04.
Postingan terkait:
- Cara Menyetel Server dan Klien NFS di Rocky/Alma Linux 8
- Cara Menginstal dan Mengonfigurasi Berbagi File Samba di Ubuntu 20.04
Prasyarat
- Server Ubuntu 20.04 yang diperbarui untuk digunakan sebagai server dan satu lagi untuk klien
- Konektivitas dari server
- Akses sudo dari server
Daftar isi
- Pastikan server diperbarui
- Instal paket NFS
- Memulai dan mengaktifkan server NFS
- Mengaktifkan layanan NFS di Firewall
- Mengonfigurasi ekspor di server NFS
- Menyiapkan sistem klien NFS
1. Memastikan bahwa server sudah diperbarui
Sebelum melanjutkan, izinkan kami memastikan bahwa server sudah diperbarui. Gunakan perintah ini untuk mencapai ini:
sudo apt update
sudo apt upgrade -y
2. Instal paket NFS
Paket nfs-kernel-server
menyediakan layanan NFS untuk Ubuntu. Paket server NFS menyediakan dukungan ruang pengguna yang diperlukan untuk menjalankan server kernel NFS. Untuk menginstal paket, jalankan:
sudo apt install -y nfs-kernel-server
Di Ubuntu 20.04, NFS versi 2 dinonaktifkan. Versi 3 dan 4 diaktifkan. Verifikasi versi yang diinstal menggunakan perintah ini:
$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
3. Memulai dan mengaktifkan server NFS
Setelah paket NFS berhasil diinstal, server NFS akan dimulai. Konfirmasi status layanan dengan perintah ini:
$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2022-01-17 19:24:54 UTC; 1min 40s ago
Main PID: 20614 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4624)
Memory: 0B
CGroup: /system.slice/nfs-server.service
Jan 17 19:24:52 dev-ubuntusrv.inv.re systemd[1]: Starting NFS server and services...
Jan 17 19:24:54 dev-ubuntusrv.inv.re systemd[1]: Finished NFS server and services.
Output di atas menunjukkan bahwa layanan dimulai dengan sukses. Untuk mengaktifkan layanan untuk memulai saat sistem boot, gunakan perintah ini:
sudo systemctl enable nfs-server
Harap perhatikan bahwa layanan lain yang diperlukan untuk menjalankan server NFS atau memasang berbagi NFS seperti nfsd
, nfs-idmapd
, rpcbind
, rpc.mountd
, lockd
, rpc.statd
, rpc.rquotad
dan rpc.idmapd
akan dimulai secara otomatis.
4. Mengaktifkan Layanan NFS di Firewall
Jika Anda menginstal NFS Server di server Ubuntu jarak jauh yang dilindungi oleh firewall , Anda harus mengaktifkan lalu lintas di port NFS:
sudo ufw allow nfs
Verifikasi perubahan:
sudo ufw status
5. Mengonfigurasi ekspor di server NFS
Konfigurasi server NFS ditentukan di /etc/default/nfs-kernel-server
dan /etc/default/nfs-common
file. Pengaturan default sudah cukup untuk sebagian besar situasi.
Mari kita buat sistem file untuk diekspor atau dibagikan di server NFS. Kami akan membuat dua sistem file untuk dilihat, /mnt/nfs_shares/files
untuk file bersama dan /mnt/nfs_shares/backup
untuk cadangan.
Mari kita buat direktori di server
sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup
Konfirmasi
$ sudo ls /mnt/nfs_shares
backup files
Kemudian tambahkan sistem file di atas dalam file ekspor /etc/exports
di server NFS untuk menentukan sistem file lokal yang diekspor ke klien NFS.
Buka file ekspor dengan editor teks Anda
sudo vim /etc/exports
Kemudian tambahkan konten ini:
/mnt/nfs_shares/files 10.70.5.170(rw,sync)
/mnt/nfs_shares/backup 10.70.5.0/24(rw,sync,no_all_squash,root_squash)
Ini adalah opsi ekspor yang dapat digunakan:
- rw – memungkinkan akses baca dan tulis pada sistem file.
- sinkronisasi – memberitahu server NFS untuk menulis operasi (menulis informasi ke disk) saat diminta (berlaku secara default).
- all_squash – memetakan semua UID dan GID dari permintaan klien ke pengguna anonim.
- no_all_squash – digunakan untuk memetakan semua UID dan GID dari permintaan klien ke UID dan GID yang identik di server NFS.
- root_squash – memetakan permintaan dari pengguna root atau UID/GID 0 dari klien ke UID/GID anonim.
Setelah sistem file ditentukan dalam file ekspor, kita perlu menjalankan exportfs
perintah bagi mereka untuk diekspor. Exportfs dapat dijalankan dengan -a
tandai artinya ekspor atau hapus ekspor semua direktori, -r
artinya mengekspor ulang semua direktori, menyinkronkan /var/lib/nfs/etab dengan /etc/exports dan file di bawah /etc/exports.d , dan -v mengaktifkan keluaran verbose.
sudo exportfs -arv
Ini adalah output di server saya
$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup
Untuk menampilkan daftar ekspor saat ini, jalankan perintah berikut. Harap perhatikan bahwa tabel exportfs juga menerapkan beberapa opsi default yang tidak didefinisikan secara eksplisit:
$ sudo exportfs -s
/mnt/nfs_shares/files 10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup 10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
6. Menyiapkan sistem Klien NFS
Sekarang kita telah mengonfigurasi ekspor di server, kita dapat mengaksesnya dari sistem klien. Masuk ke sistem klien dan instal paket yang diperlukan untuk memungkinkan share NFS dapat diakses.
Pada sistem berbasis RHEL:
sudo dnf install -y nfs-utils nfs4-acl-tools
Pada distro berbasis Debian/Ubuntu:
sudo apt install nfs-common nfs4-acl-tools
Kami kemudian dapat menjalankan perintah showmount untuk menampilkan informasi pemasangan untuk Server NFS. Perintah mengeluarkan sistem file yang diekspor di server
showmount -e 10.70.5.221
Keluaran
$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files 10.70.5.170
Buat direktori sistem file lokal untuk memasang sistem file NFS jarak jauh dan pasang sebagai sistem file nfs
mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs 10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs 10.70.5.221:/mnt/nfs_shares/files ~/nfs_files
Kami kemudian dapat mengonfirmasi bahwa sistem file jarak jauh telah dipasang dengan menjalankan mount perintah dan filter nfs gunung.
sudo mount | grep nfs
Keluaran di mesin saya
$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/ubuntu/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/ubuntu/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
Untuk mengaktifkan mount ke persisten bahkan setelah sistem di-boot ulang, tambahkan entri ke /etc/fstab
mengajukan. Gunakan perintah ini (sebagai root) untuk mencapainya:
echo "10.70.5.221:/mnt/nfs_shares/backup /home/ubuntu/backups nfs defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files /home/ubuntu/nfs_files nfs defaults 0 0" >> /etc/fstab
Terakhir, uji apakah NFS setup berfungsi dengan baik dengan membuat file di server dan memeriksa apakah file dapat dilihat di klien.
Di server:
sudo touch /mnt/nfs_shares/files/file_on_server.txt
Kemudian pada mesin klien konfirmasi
$ ls ~/nfs_files/
file_on_server.txt
Anda juga dapat melakukan sebaliknya. Di klien:
touch ~/nfs_files/file_on_client.txt
Kemudian di server konfirmasi:
$ ls /mnt/nfs_shares/files/
file_on_client.txt file_on_server.txt
Untuk melepas sistem file jarak jauh di sisi klien.
sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup
Harap diperhatikan bahwa Anda tidak dapat unmount
sistem file jarak jauh jika Anda beroperasi di dalamnya.
Kesimpulan
Dalam panduan ini kami berhasil menginstal dan mengkonfigurasi server dan klien NFS di Ubuntu 20.04.