GNU/Linux >> Belajar Linux >  >> Rocky Linux

Cara mengatur NFS Mount di Rocky Linux 8

Network File System atau NFS adalah protokol sistem file terdistribusi yang memungkinkan host jarak jauh untuk memasang sistem file melalui jaringan dan melakukan operasi file seolah-olah mereka dipasang secara lokal. Ini sangat berguna ketika Anda ingin berbagi sumber daya dari satu server melalui beberapa klien atau mengizinkan beberapa klien untuk menulis ke satu ruang penyimpanan.

Dalam tutorial ini, Anda akan belajar cara menginstal dan mengkonfigurasi Server NFS dan Klien NFS berbasis Rocky Linux 8. Untuk ini, kami akan menyiapkan host atau server untuk berbagi file dan klien untuk mengakses file host menggunakan NFS mount .

Prasyarat

  • Dua server Rocky Linux 8. Masing-masing harus memiliki pengguna non-root dengan hak istimewa sudo.
  • Baik host maupun klien harus memiliki alamat IP statis. Anda bahkan dapat mengatur keduanya melalui jaringan Pribadi. Untuk tutorial kami, kami akan menggunakan host_ip untuk menunjukkan alamat IP Host dan client_ip untuk merujuk ke alamat IP Klien.

Langkah 1 - Instal NFS pada Host dan Klien

Tuan Rumah

Untuk menginstal paket NFS, Anda perlu menginstal nfs-utils kemasan. Ini menyediakan daemon untuk server NFS dan alat terkait.

Instal paket.

$ sudo dnf install nfs-utils

Aktifkan dan Mulai nfs-server melayani. Layanan yang tersisa yang diperlukan untuk pemasangan dan berbagi NFS seperti nfsd , nfs-idmapd , rpcbind , rpc.mountd , lockd , rpc.statd , rpc.quotad dan rpc.idmapd mulai secara otomatis bersamanya.

$ sudo systemctl enable nfs-server --now

Verifikasi versi instalasi NFS.

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

NFS versi 3 dan 4 diaktifkan secara default, dan versi 2 dinonaktifkan. NFSv2 cukup tua dan ketinggalan zaman, dan karenanya Anda dapat melihat -ve tanda tangan di depannya.

NFS menyimpan konfigurasinya di /etc/nfsmount.conf dan /etc/nfs.conf file. /etc/nfsmount.conf adalah mengonfigurasi mount NFS saat /etc/nfs.conf adalah mengkonfigurasi daemon NFS dan alat terkait. Pengaturan default sudah cukup untuk tutorial kami, dan tidak ada perubahan yang diperlukan.

Klien

Pada klien, instal nfs-utils dan nfs4-acl-tools paket.

$ sudo dnf install nfs-utils nfs4-acl-tools

Langkah2 - Buat Direktori Berbagi di Host

Kami akan menggunakan dua contoh dengan pengaturan konfigurasi yang berbeda - satu dengan mount tujuan umum dan satu lagi dengan berbagi direktori home host.

Direktori terpasang NFS bukan merupakan bagian dari Klien. Oleh karena itu, NFS tidak dapat melakukan tugas yang memerlukan hak pengguna super. Ini berarti klien tidak dapat mengubah kepemilikan, menulisnya sebagai pengguna root, atau melakukan tugas tingkat tinggi. Namun, ada kasus ketika pengguna tepercaya pada klien perlu melakukan tugas tersebut tanpa memerlukan akses pengguna super di host. Server NFS dapat dikonfigurasi untuk memungkinkan hal ini, tetapi ada risiko di mana klien dapat mengakses host.

Bekerja dengan Mount Tujuan Umum

Untuk kasus pertama kami, kami akan membuat mount sederhana yang menggunakan perilaku NFS default yang berarti klien tidak dapat melakukan tugas apa pun yang membutuhkan hak pengguna super.

Buat direktori berbagi.

host:$ sudo mkdir /var/nfs/share -p

Pengguna root host akan memiliki direktori ini karena kami menggunakan sudo untuk membuatnya.

host:$ ls -l /var/nfs
total 0
drwxr-xr-x. 2 root root 6 Dec 13 07:30 share

NFS akan menerjemahkan semua operasi root di sisi klien ke nobody:nobody kredensial untuk alasan keamanan. Oleh karena itu, kita perlu mencocokkan mereka di sisi tuan rumah.

host:$ sudo chown nobody:nobody /var/nfs/general

Bekerja dengan Direktori Beranda

Untuk kasus kedua kami, kami akan membuat direktori home pada host tersedia untuk klien. Kita tidak perlu membuatnya karena sudah ada. Kami tidak perlu mengubah izin apa pun karena akan memengaruhi pengguna di mesin host.

Langkah 3 - Mengonfigurasi Ekspor NFS di Host

Buka file /etc/exports di mesin Host untuk diedit.

host:$ sudo nano /etc/exports

Rekatkan kode berikut ke dalam file.

/var/nfs/share      client_ip(rw,sync,no_subtree_check)
/home               client_ip(rw,sync,no_root_squash,no_subtree_check)

Setiap direktori dan konfigurasinya harus berada pada baris yang terpisah. Ganti client_ip nilai dengan alamat IP sebenarnya dari mesin klien.

Mari kita lihat semua opsi untuk ekspor NFS.

  • rw - memberi mesin klien akses baca dan tulis pada volume NFS.
  • sinkronisasi - opsi ini memaksa NFS untuk menulis perubahan ke disk sebelum membalas. Opsi ini dianggap lebih dapat diandalkan. Namun, ini juga mengurangi kecepatan operasi file.
  • no_subtree_check - opsi ini mencegah pemeriksaan subpohon, sebuah proses di mana tuan rumah harus memeriksa apakah file tersedia bersama dengan izin untuk setiap permintaan. Ini juga dapat menyebabkan masalah saat file diubah namanya di host saat masih terbuka di klien. Menonaktifkannya meningkatkan keandalan NFS.
  • no_root_squash - Secara default, NFS menerjemahkan permintaan dari pengguna root pada klien menjadi pengguna non-istimewa di host. Opsi ini menonaktifkan perilaku tersebut dan harus digunakan dengan hati-hati agar klien dapat mengakses host.

Setelah selesai, simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Untuk mengekspor share, jalankan perintah berikut.

host:$ sudo exportfs -arv
exporting client_ip:/home
exporting client_ip:/var/nfs/share
  • -a - opsi ini menyebabkan semua direktori diekspor.
  • -r - opsi ini menyebabkan semua direktori diekspor dengan membuat daftar baru di /var/lib/nfs/etab direktori. Opsi ini digunakan untuk menyegarkan daftar ekspor dengan perubahan apa pun yang dibuat pada /etc/exports .
  • -v - mengaktifkan keluaran verbose.

Untuk membuat daftar semua direktori yang diekspor, jalankan perintah berikut. Ini akan menampilkan semua opsi, termasuk yang default yang tidak ditentukan dalam /etc/exports berkas.

host:$ sudo exportfs -s
/var/nfs/share  client_ip(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/home  client_ip(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

Langkah 4 - Mengonfigurasi Firewall pada Host

Rocky Linux menggunakan Firewalld Firewall. Periksa status firewall.

host:$ sudo firewall-cmd --state
running

Ini menunjukkan bahwa itu berhasil dan berjalan dengan sukses.

Firewall bekerja dengan zona yang berbeda, dan zona publik adalah zona default yang akan kita gunakan. Buat daftar semua layanan dan port yang aktif di firewall.

host:$ sudo firewall-cmd --permanent --list-services

Ini akan menunjukkan output berikut.

cockpit dhcpv6-client ssh

Selanjutnya, kita perlu mengizinkan lalu lintas ke layanan NFS yang diperlukan - mountd , nfs dan rpc-bind . Kami juga perlu mengizinkan akses dari IP klien. Jika klien dan server host Anda berada di subnet yang sama, Anda tidak perlu menambahkan alamat IP klien.

host:$ sudo firewall-cmd --permanent --add-service=nfs
host:$ sudo firewall-cmd --permanent --add-service=rpc-bind
host:$ sudo firewall-cmd --permanent --add-service=mountd
host:$ sudo firewall-cmd --permanent --add-source=client_IP 

Muat ulang firewall untuk menerapkan perubahan.

host:$ sudo firewall-cmd --reload

Langkah 5 - Membuat titik Mount dan Direktori pada Klien

Setelah NFS Server/Host dikonfigurasi, langkah selanjutnya adalah menyiapkan mount point dan direktori pada klien. Anda dapat menjalankan showmount perintah pada klien untuk memeriksa daftar sistem file yang diekspor pada Host.

client:$ showmount -e host_ip
Export list for host_ip:
/home          host_ip
/var/nfs/share host_ip

Selalu buat direktori baru sebagai titik pemasangan pada klien atau gunakan direktori kosong yang ada. Jika ada file di direktori yang Anda mount, file tersebut akan disembunyikan.

Buat direktori Mount.

client:$ sudo mkdir -p /nfs/share
client:$ sudo mkdir -p /nfs/home

Pasang share menggunakan alamat IP host.

client:$ sudo mount host_ip:/var/nfs/share /nfs/share
client:$ sudo mount host_ip:/home /nfs/home

Verifikasi bahwa pemasangan berhasil.

client:$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
devtmpfs                   370M     0  370M   0% /dev
tmpfs                      405M     0  405M   0% /dev/shm
tmpfs                      405M   16M  389M   4% /run
tmpfs                      405M     0  405M   0% /sys/fs/cgroup
/dev/vda1                   25G  2.4G   23G  10% /
tmpfs                       81M     0   81M   0% /run/user/1000
host_ip:/var/nfs/share      25G  2.4G   23G  10% /nfs/share
host_ip:/home               25G  2.4G   23G  10% /nfs/home

Kedua share dipasang dari sistem file yang sama. Karenanya mereka menunjukkan penggunaan disk yang sama.

Anda juga dapat menggunakan mount perintah untuk memverifikasi.

client:$ mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
host_ip:/var/nfs/share on /nfs/share type nfs4 (rw,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=client_ip,local_lock=none,addr=host_ip)
host_ip:/home on /nfs/home type nfs4 (rw,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=client_ip,local_lock=none,addr=host_ip)

Langkah 6 - Uji Akses NFS

Menguji Pangsa Tujuan Umum

Tulis file uji ke /var/nfs/share bagikan.

client:$ sudo touch /nfs/share/test.txt

Periksa kepemilikannya.

client:$ ls -l /nfs/share/test.txt
-rw-r--r--. 1 nobody nobody 0 Dec 13 08:08 /nfs/share/test.txt

Karena kami memasang volume ini menggunakan pengaturan NFS default dan membuat file di klien menggunakan sudo , kepemilikan pada file default ke nobody:nobody . Pengguna super klien tidak dapat melakukan tugas administratif apa pun pada pembagian.

Menguji Berbagi Direktori Beranda

Tulis file uji ke /nfs/home bagikan.

client:$ sudo touch /nfs/home/home.txt

Periksa kepemilikannya.

client:$ ls -l /nfs/home/home.txt
-rw-r--r--. 1 root root 0 Dec 13 08:09 /nfs/home/home.txt

Karena kami menggunakan no_root_squash opsi, itu memungkinkan pengguna root klien untuk bertindak sebagai root pada share itu sendiri.

Langkah 7 - Jadikan titik Mount permanen

NFS Shares secara default bersifat sementara dan perlu dipasang saat boot. Kita dapat membuatnya permanen dengan mengedit /etc/fstab file di klien.

Buka file /etc/fstab untuk diedit.

client:$ sudo nano /etc/fstab

Tempel baris berikut di bagian bawah file.

. . .
host_ip:/var/nfs/share      /nfs/share     nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
host_ip:/home               /nfs/home      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Anda dapat mengetahui lebih lanjut tentang opsi yang tercantum di atas dengan menjalankan perintah berikut.

client:$ man nfs
client:$ man mount

Jika Anda ingin membacanya secara online, Anda dapat mencari di Google frasa man nfs dan man mount untuk mempelajari lebih lanjut tentang opsi ini.

Langkah 8 - Lepas NFS Share

Jika Anda tidak lagi menginginkan pemasangan jarak jauh pada sistem Anda, Anda dapat melepasnya dengan menggunakan umount memerintah. Perhatikan bahwa perintahnya disebut umount dan bukan melepas yang merupakan kesalahan umum.

Keluar dari tunggangan bersama dan Lepas pemasangannya.

client:$ cd ~
client:$ sudo umount /nfs/share
client:$ sudo umount /nfs/home

Jika Anda tidak lagi membutuhkan share yang dipasang lagi saat reboot, pastikan Anda mengomentari entri yang sesuai di /etc/fstab file dengan meletakkan # tanda tangan di depan mereka.

Kesimpulan

Dalam tutorial ini, kami belajar cara membuat server host NFS dan memasang direktori menggunakannya, yang kami bagikan dengan klien NFS. Jika Anda menerapkannya di jaringan pribadi, maka seharusnya tidak ada masalah tetapi jika Anda menggunakannya dalam produksi, maka Anda harus ingat bahwa protokol tidak dienkripsi dan Anda harus menerapkan beberapa autentikasi untuk melindungi data Anda.

Jika Anda memiliki pertanyaan, kirimkan di komentar di bawah.


Rocky Linux
  1. Cara Memasang Berbagi NFS di Linux

  2. Cara Mengatur Server dan Klien NFS di Rocky/Alma Linux 8

  3. Cara Menginstal Redis di Rocky Linux 8

  1. Cara Menginstal Python 3.9 di Rocky Linux 8

  2. Cara Mengatur Server VPN Pritunl di Rocky Linux 8

  3. Cara Upgrade CentOS 7 ke Rocky Linux 8

  1. Cara Instal Rocky Linux 8.4

  2. Cara Mengatur Alamat IP Statis di Rocky Linux

  3. Cara Meng-host Situs Web Menggunakan Apache dengan SSL di Rocky Linux