NFS Server

NFS Server.


Apa itu NFS Server?
  • Menurut Heri Muhrial NFS Server adalah singkatan dari Network File System, yang pertama kali dikembangkan oleh Sun Microsystems pada tahun 80-an, sebagai sarana untuk berbagi file pada lingkungan kerja diskless. NFS menyediakan sarana untuk berbagi file antar jaringan, sehingga suatu mesin dapat mengakses file-file di mesin lain seolah-olah mengakses file sistem lokal.

    Protokol NFS adalah salah satu dari beberapa standar sistem file terdistribusi untuk penyimpanan yang terhubung dengan jaringan (network-attached storage — NAS).

Protokol NFS.
    NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang berjalan di atas UDP dan membuka port UDP dengan port number 2049 untuk komunikasi antara client dan server di dalam jaringan.
Client NFS selanjutnya akan mengimpor sistem berkas remote dari server NFS, sementara server NFS mengekspor sistem berkas lokal kepada client.

Komponen NFS.

1.File System Model dan Architecture : suatu mekanisme yang mendefinisikan sumber daya dan berkas yang akan digunakan secara bersama-sama dalam jaringan.

2.Resource Acces Method : tahapan-tahapan yang menggambarkan bagaimana pengguna melampirkan ataupun melepaskan sumber daya yang berasal dari tempat penyimpanan lokal mereka.

3.Operation Set : untuk mengatur operasi apa yang akan digunakan dan diperlukan pada saat pengguna menggunakan sumber daya yang digunakan bersama pada tempat penyimpanan lokal pengguna lain.

4.Messaging Protocols : format pesan yang berisi operasi yang akan digunakan seperti informasi status dan protokol yang digunakan untuk bertukar pesan ini antar mesin pengguna.

5.Administrative tool : kumpulan fungsi yang dibutuhkan untuk mendukung operasi protokol dan penggunaan komponen lain yang mendukung.



Diagram NFS Server.




Tujuan NFS.

    Memungkinkan terjadinya pertukaran berkas antara mesin mesin secara transparan. Hubungannya yang terjadi disini adalah hubungan client — server dengan menggunakan perangkat lunak NFS Server dan NFS client yang berjalan diatas workstation. NFS didesain untuk dapat berjalan di platform yang heterogen. Adapun operasi-operasi yang didukung oleh NFS adalah sebagai berikut:

1.Mencari berkas didalam direktori.
2.Membaca kumpulan direktori.
3.Memanipulasi link dan direktori.
4.Mengakses atribut berkas.
5.Membaca dan menulis berkas.



Manfaat NFS.
  • Memungkinkan beberapa komputer menggunakan file yang sama, sehingga semua orang dapat mengakses file data yang sama
  • Mengurangi biaya penyimpanan.Memberikan konsistensi dan keandalan data karena semua pengguna dapat membaca file data yang sama
  • Menjadikan sistem file secara transparan bagi pengguna
  • Dapat mengakses file jarak jauh bagi pengguna
  • Mendukung lingkungan yang heterogen
  • Mengurangi overhead administrasi sistem


Note :


NFS Server.

NFS Server adalah komputer yang menyediakan akses ke sistem berkas atau direktori yang akan dibagikan kepada klien (komputer lain) di jaringan. NFS Server menyimpan dan mengelola file dan direktori yang akan diakses oleh klien. Ketika NFS Server diaktifkan, ia mengekspos direktori dan file tertentu sehingga dapat diakses melalui protokol NFS oleh komputer klien.


NFS Client.

NFS Client adalah komputer atau sistem lain di jaringan yang ingin mengakses dan menggunakan file atau direktori yang dibagikan oleh NFS Server. NFS Client akan meminta akses ke file atau direktori tertentu yang ada di NFS Server melalui protokol NFS, dan kemudian NFS Server akan memenuhi permintaan tersebut dengan mengirimkan data yang diminta.


Konfigurasi NFS Server.

-My ip Server 192.168.18.64

-My server Debian 11 bullseye


Install nfs-kernel-server.

$apt install nfs-kernel-server

Membuat Direktory/Mentukan direktory yang dipilih.

$mkdir /var/nfs


Edit file exports.

$nano /etc/exports

Tambahkan pada baris terakhir,misalnya saya pakai opsi ro(read only).

#/dir/dir(tempat direktory)    (*)artinya semua ip/bisa ditentukan ro(opsi yang digunakan misal) sync(sinkron)
/var/nfs    *(ro,sync)

Restart NFS nya.

$systemctl restart nfs-kernel-server.service


Pengujian di Client.

$apt install nfs-common
$showmount -e ipaddress-server
$showmount -e 192.168.18.64

$mount -t ipaddress:/direktory_nfs_server /direktory_mount
$mount -t 192.168.18.64:/var/nfs /mnt


Opsi dalam NFS Server.


    1.ro: Menandakan bahwa eksport akan di-mount sebagai "read-only" (hak baca saja). Klien hanya dapat membaca isi direktori atau berkas yang di-ekspor, dan tidak diizinkan untuk menulis atau mengubahnya.


    2.rw: Menandakan bahwa eksport akan di-mount sebagai "read-write" (hak baca dan tulis). Klien dapat membaca dan menulis pada direktori atau berkas yang di-ekspor.


    3.sync: Menyebabkan semua operasi tulis pada eksport dilakukan secara sinkron. Setiap operasi tulis akan disinkronkan langsung ke disk, yang berarti data akan segera ditulis ke disk, namun dapat memperlambat kinerja karena klien harus menunggu operasi tulis selesai.


    4.async: Menyebabkan operasi tulis pada eksport dilakukan secara asinkron. Operasi tulis akan dijadwalkan dan tidak langsung disinkronkan ke disk, yang dapat meningkatkan kinerja, namun ada risiko kehilangan data jika terjadi kegagalan sistem.


    5.root_squash: Mengubah akses dari pengguna "root" di klien menjadi pengguna anonim ketika berinteraksi dengan eksport. Ini membantu meningkatkan keamanan, karena akses root dari klien tidak akan memiliki akses tinggi pada server NFS.


    6.no_root_squash: Memungkinkan akses root dari klien tetap dipertahankan. Ini berarti pengguna "root" di klien akan memiliki akses root penuh pada server NFS.


    7.all_squash: Mengubah seluruh akses dari klien menjadi pengguna anonim. Dengan opsi ini, semua klien akan dianggap sebagai pengguna anonim oleh server NFS.


    8.no_all_squash: Memungkinkan klien mempertahankan identitas pengguna aslinya. Opsi ini akan mengabaikan pengaturan "all_squash".


    9.anonuid=<UID>: Menetapkan User ID (UID) untuk pengguna anonim. Ketika klien mengakses eksport sebagai pengguna anonim, UID dari pengguna anonim akan diatur sesuai dengan nilai yang ditentukan di sini.


    10.anongid=<GID>: Menetapkan Group ID (GID) untuk pengguna anonim. Ketika klien mengakses eksport sebagai pengguna anonim, GID dari pengguna anonim akan diatur sesuai dengan nilai yang ditentukan di sini.


    11.fsid=<ID>: Menetapkan ID unik untuk eksport. Berguna ketika ada beberapa direktori yang akan diekspor dari server NFS. FSID digunakan oleh klien untuk mengidentifikasi eksport secara unik.


    12.insecure: Memungkinkan klien untuk melakukan permintaan dari port yang tidak terdaftar (port non-reserved). Penggunaan opsi ini dapat menimbulkan risiko keamanan dan sebaiknya dihindari.


    13.subtree_check: Mengharuskan server NFS melakukan pemeriksaan tambahan untuk memastikan jalur eksport ada di dalam file sistem yang valid dan diizinkan untuk diekspor.


    14.no_subtree_check: Mengabaikan pemeriksaan jalur eksport. Akses akan diberikan tanpa pemeriksaan lebih lanjut terhadap jalur eksport.




Referensi :

https://medium.com/mtiakakom/network-file-system-nfs-f1a14b7b33e2 08.09



by:Sobahusn_