NFS adalah singkatan dari Network File System, membantu Anda berbagi file dan folder antara sistem Linux / Unix, yang dikembangkan oleh SUN Microsystems pada tahun 1990. NFS memungkinkan Anda memasang remote share secara lokal.
Panduan ini membantu Anda mengatur server NFS di CentOS 7 / RHEL 7.
Manfaat NFS
- Berbagi file/folder antar *nix sistem
- Memungkinkan untuk memasang sistem file jarak jauh secara lokal
- Dapat bertindak sebagai sistem Penyimpanan Terpusat
- Dapat digunakan sebagai Storage Domain ( Datastore) untuk VMware dan Platform Virtualisasi lainnya.
- Mengizinkan aplikasi berbagi konfigurasi dan file data dengan banyak node.
- Mengizinkan memperbarui file di seluruh pembagian.
Layanan Penting
Berikut ini adalah layanan NFS penting, yang disertakan dalam paket nfs-utils.
rpcbind :Server rpcbind mengubah nomor program RPC menjadi alamat universal.
nfs-server :Ini memungkinkan klien untuk mengakses share NFS.
nfs-lock / rpc-statd :penguncian file NFS. Terapkan pemulihan kunci file saat server NFS mogok dan reboot.
nfs-idmap :Ini menerjemahkan id pengguna dan grup menjadi nama, dan menerjemahkan nama pengguna dan grup
menjadi id
File Konfigurasi Penting
Anda akan bekerja terutama pada file konfigurasi di bawah ini untuk menyiapkan server dan Klien NFS.
/etc/exports:Ini adalah file konfigurasi utama, mengontrol sistem file mana yang diekspor ke host jarak jauh dan menentukan opsi.
/etc/fstab:File ini digunakan untuk mengontrol sistem file apa saja termasuk direktori NFS yang dipasang saat sistem melakukan booting.
/etc/sysconfig/nfs:File ini digunakan untuk mengontrol port mana yang menjalankan layanan RPC yang diperlukan.
/etc/hosts.allow dan /etc/hosts.deny:File-file ini disebut pembungkus TCP, mengontrol akses ke server NFS. Ini digunakan oleh NFS untuk memutuskan apakah akan menerima koneksi yang datang dari alamat IP lain atau tidak.
Lingkungan
Di sini, saya akan menggunakan CentOS 7 minimal untuk demo ini. Panduan ini juga harus bekerja pada sistem Oracle Linux dan Fedora.
Server NFS
Nama Inang: server.itzgeek.local (CentOS 7)
Alamat IP: 192.168.1.10/24
Klien NFS
Nama Inang: client.itzgeek.local (CentOS 7)
Alamat IP: 192.168.1.20/24
Konfigurasi Server NFS
Instal Server NFS
Instal paket di bawah ini untuk server NFS menggunakan perintah yum.
yum install -y nfs-utils
Setelah paket diinstal, aktifkan dan mulai layanan NFS.
systemctl start nfs-server rpcbind systemctl enable nfs-server rpcbind
Buat Berbagi NFS
Sekarang, mari buat direktori untuk dibagikan dengan klien NFS. Di sini saya akan membuat direktori baru bernama nfsfileshare di partisi /.
Anda juga dapat berbagi direktori yang ada dengan NFS.
mkdir /nfsfileshare
Izinkan klien NFS untuk membaca dan menulis ke direktori yang dibuat.
chmod 777 /nfsfileshare/
Kita harus memodifikasi file /etc/exports untuk membuat entri direktori /nfsfileshare yang ingin Anda bagikan.
vi /etc/exports
Buat berbagi NFS seperti di bawah ini.
/nfsfileshare 192.168.1.20(rw,sync,no_root_squash)
/nfsfileshare :direktori bersama
192.168.1.20 :Alamat IP mesin klien. Kami juga dapat menggunakan nama host alih-alih alamat IP. Dimungkinkan juga untuk menentukan jangkauan klien dengan subnet seperti 192.168.1.0/24.
rw :Izin yang dapat ditulis ke folder bersama
sinkronisasi :Semua perubahan pada sistem file yang sesuai segera di-flush ke disk; masing-masing operasi tulis sedang ditunggu.
no_root_squash : Secara default, setiap permintaan file yang dibuat oleh root pengguna di mesin klien diperlakukan sebagai tidak ada pengguna di server. (Tepatnya UID mana permintaan dipetakan bergantung pada UID pengguna “tidak ada” di server, bukan klien.) Jika no_root_squash dipilih, maka root pada mesin klien akan memiliki tingkat akses yang sama ke file di sistem sebagai root di server.
Anda dapat mengetahui semua opsi di halaman manual ekspor manual atau di sini.
Ekspor direktori bersama menggunakan perintah berikut.
exportfs -r
Ekstra:
exportfs -v:Menampilkan daftar file yang dibagikan dan opsi ekspor di server.
exportfs -a:Mengekspor semua direktori yang terdaftar di /etc/exports.
exportfs -u:UnExport satu atau lebih direktori.
exportfs -r:Ekspor ulang semua direktori setelah memodifikasi /etc/exports.
Setelah mengonfigurasi server NFS, kita perlu memasang direktori bersama itu di klien NFS.
Konfigurasi Firewall
Kita perlu mengkonfigurasi firewall di server NFS agar klien NFS dapat mengakses share NFS. Untuk melakukannya, jalankan perintah berikut di server NFS.
firewall-cmd --permanent --add-service mountd firewall-cmd --permanent --add-service rpc-bind firewall-cmd --permanent --add-service nfs firewall-cmd --reload
Konfigurasikan klien NFS
Instal Klien NFS
Kita perlu menginstal paket NFS pada klien NFS untuk me-mount share NFS jarak jauh. Instal paket NFS menggunakan perintah di bawah ini.
yum install -y nfs-utils
Periksa Bagikan NFS
Sebelum memasang bagian NFS, saya meminta Anda untuk memeriksa bagian NFS yang tersedia di server NFS dengan menjalankan perintah berikut pada klien NFS.
Ganti Alamat IP dengan Alamat IP atau nama host server NFS Anda.showmount -e 192.168.1.10
Keluaran:
Export list for 192.168.1.10: /nfsfileshare 192.168.1.20
Sesuai output, /nfsfileshare tersedia di server NFS (192.168.1.10) untuk klien NFS (192.168.1.20).
Ekstra:
showmount -e :Menampilkan share yang tersedia di mesin lokal Anda (NFS Server).
showmount -e
Pasang Berbagi NFS
Sekarang, buat direktori pada klien NFS untuk me-mount share NFS /nfsfileshare yang telah kita buat di server NFS.
mkdir /mnt/nfsfileshare
Gunakan perintah di bawah ini untuk memasang share NFS /nfsfileshare dari server NFS 192.168.1.10 di /mnt/nfsfileshare pada klien NFS.
mount 192.168.1.10:/nfsfileshare /mnt/nfsfileshare
Verifikasi share yang dipasang pada klien NFS menggunakan perintah mount.
mount | grep nfs
Keluaran:
ssunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) nfsd on /proc/fs/nfsd type nfsd (rw,relatime) 192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)
Anda juga dapat menggunakan perintah df -hT untuk memeriksa share NFS yang terpasang.
df -hT
Keluaran:
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 50G 1.2G 49G 3% / devtmpfs devtmpfs 485M 0 485M 0% /dev tmpfs tmpfs 496M 0 496M 0% /dev/shm tmpfs tmpfs 496M 6.7M 490M 2% /run tmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup /dev/mapper/centos-home xfs 47G 33M 47G 1% /home /dev/sda1 xfs 1014M 154M 861M 16% /boot tmpfs tmpfs 100M 0 100M 0% /run/user/0 192.168.1.10:/nfsfileshare nfs4 50G 1.2G 49G 3% /mnt/nfsfileshare
Buat file pada direktori terpasang untuk memverifikasi akses baca dan tulis pada berbagi NFS.
touch /mnt/nfsfileshare/test
Jika perintah di atas tidak mengembalikan kesalahan, Anda memiliki pengaturan NFS yang berfungsi.
Automount NFS Shares
Untuk memasang share secara otomatis pada setiap reboot, Anda perlu memodifikasi file /etc/fstab dari klien NFS Anda.
vi /etc/fstab
Tambahkan entri seperti di bawah ini.
# # /etc/fstab # Created by anaconda on Wed Jan 17 12:04:02 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=60a496d0-69f4-4355-aef0-c31d688dda1b /boot xfs defaults 0 0 /dev/mapper/centos-home /home xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 192.168.1.10:/nfsfileshare /mnt/nfsfileshare nfs nosuid,rw,sync,hard,intr 0 0
Simpan dan tutup file.
Nyalakan ulang mesin klien dan periksa apakah share dipasang secara otomatis atau tidak.
reboot
Verifikasi share yang dipasang pada klien NFS menggunakan perintah mount.
mount | grep nfs
Keluaran:
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) 192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,nosuid,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)
Jika Anda ingin meng-unmount direktori bersama tersebut dari klien NFS Anda setelah Anda selesai berbagi file, Anda dapat meng-unmount direktori tersebut menggunakan perintah umount.
umount /mnt/nfsfileshare
Kesimpulan
Anda telah berhasil mengatur Server NFS dan Klien NFS di CentOS 7 / RHEL 7. Jika Anda tidak ingin menggunakan mount statis, Anda dapat mengonfigurasi AutoFS di CentOS 7 untuk memasang NFS share hanya ketika pengguna mengaksesnya.