GNU/Linux >> Belajar Linux >  >> Linux

Pertanyaan wawancara Sistem File Jaringan Linux (NFS)

Apa itu NFS?

Network File System (NFS) adalah salah satu produk file sharing komputer tertua yang ada saat ini. Ini masih yang paling populer untuk berbagi direktori file antara sistem UNIX dan Linux. NFS memungkinkan server untuk menetapkan direktori tertentu agar tersedia bagi host yang ditunjuk dan kemudian memungkinkan sistem klien untuk terhubung ke direktori tersebut dengan memasangnya secara lokal.

NFS dapat diamankan menggunakan aturan firewall (iptables), pembungkus TCP (untuk mengizinkan dan menolak akses host), dan SELinux (untuk membatasi bagaimana protokol berbagi file dapat berbagi sumber daya NFS). Meskipun NFS pada dasarnya tidak aman saat dibuat (data dibagikan tidak terenkripsi dan akses pengguna cukup terbuka), fitur di NFS versi 4 telah membantu meningkatkan keamanan NFS secara keseluruhan.

Apa itu Proses Server NFS dan RPC

Memulai layanan nfs-server memulai server NFS dan proses RPC lain yang diperlukan untuk melayani permintaan untuk sistem file NFS bersama. Anda dapat menggunakan nama pendek “nfs ” daripada “nfs-server ” saat memulai layanan. Contoh:

# systemctl start nfs

Ini adalah proses server NFS yang mengimplementasikan bagian tingkat pengguna dari layanan NFS. Fungsionalitas utama ditangani oleh modul kernel nfsd. Program ruang pengguna hanya menentukan jenis soket yang didengarkan oleh server kernel, versi NFS apa yang didukungnya, dan berapa banyak utas kernel nfsd yang digunakannya. Gunakan perintah ps –e untuk menunjukkan jumlah thread yang sedang berjalan.

# ps -ef | grep nfs
root      9093     2  0 11:21 ?        00:00:00 [nfsd4_callbacks]
root      9099     2  0 11:21 ?        00:00:00 [nfsd]
root      9100     2  0 11:21 ?        00:00:00 [nfsd]
root      9101     2  0 11:21 ?        00:00:00 [nfsd]
root      9102     2  0 11:21 ?        00:00:00 [nfsd]
root      9103     2  0 11:21 ?        00:00:00 [nfsd]
root      9104     2  0 11:21 ?        00:00:00 [nfsd]
root      9105     2  0 11:21 ?        00:00:00 [nfsd]
root      9106     2  0 11:21 ?        00:00:00 [nfsd]

Jumlah utas nfsd yang akan dijalankan ditentukan di /proc/fs/nfsd/utas mengajukan. Dalam contoh ini, 8 utas nfsd ditentukan:

# cat /proc/fs/nfsd/threads
8

Memulai layanan nfs-server juga memulai proses RPC. Anda dapat menggunakan perintah ps –e untuk menampilkan nama proses RPC.

# ps -e | grep -i rpc
  177 ?        00:00:00 rpciod
 9080 ?        00:00:00 rpc.statd
 9081 ?        00:00:00 rpc.idmapd
 9082 ?        00:00:00 rpcbind
 9083 ?        00:00:00 rpc.mountd
 9084 ?        00:00:00 rpc.rquotad

rpc.statd

Proses ini mengimplementasikan protokol RPC Monitor Status Jaringan (NSM), yang memberi tahu klien NFS ketika server NFS dimulai ulang tanpa diturunkan dengan anggun. Ini tidak digunakan dengan NFSv4.

rpc.mountd

Ini adalah daemon pemasangan NFS yang mengimplementasikan sisi server dari permintaan pemasangan dari klien NFSv3. Ia memeriksa bahwa bagian NFS yang diminta saat ini diekspor oleh server NFS, dan bahwa klien diizinkan untuk mengaksesnya. Untuk NFSv4, daemon rpc.mountd hanya diperlukan di server NFS untuk menyiapkan ekspor.

rpc.idmapd

Ini memberikan panggilan ke klien dan server NFSv4, yang memetakan antara nama NFSv4 on-the-wire (yang berupa string dalam bentuk user@domain) dan UID dan GID lokal. Agar idmapd berfungsi dengan NFSv4, /etc/idmapd.conf harus dikonfigurasi. Layanan ini diperlukan untuk digunakan dengan NFSv4, meskipun tidak jika semua host berbagi nama domain DNS yang sama.

rpc.rquotad

Proses ini memberikan informasi kuota pengguna untuk pengguna jarak jauh. Ini dimulai secara otomatis oleh layanan nfs dan tidak memerlukan konfigurasi pengguna. Hasilnya digunakan oleh perintah quota untuk menampilkan kuota pengguna untuk sistem file jarak jauh dan oleh perintah edquota untuk mengatur kuota pada sistem file jarak jauh.

terkunci

Ini adalah utas kernel yang berjalan di klien dan server. Ini mengimplementasikan protokol Network Lock Manager (NLM), yang memungkinkan klien NFSv3 untuk mengunci file di server. Ini dimulai secara otomatis setiap kali server NFS dijalankan dan setiap kali sistem file NFS dipasang.

nfslock

Memulai layanan ini memulai proses RPC yang memungkinkan klien NFS mengunci file di server.

Bagaimana Mengkonfigurasi server NFS dan klien NFS di CentOS/RHEL?

Silakan baca posting di bawah ini untuk mengkonfigurasi server NFS dan mesin klien.

Panduan Pemula untuk NFS di CentOS / RHEL
CentOS / RHEL 7 :Mengonfigurasi server NFS dan klien NFS

Apa file Konfigurasi untuk server NFS?

Konfigurasi utama untuk server NFS adalah file /etc/exports. Ini adalah file yang Anda gunakan untuk menentukan direktori apa yang ingin Anda bagikan dengan klien NFS. Sintaks file ini adalah:

Directory      hostname(options)

Nilai Direktori harus diganti dengan nama direktori yang ingin Anda bagikan (misalnya, /usr/share/doc). Nilai hostname harus menjadi nama host klien yang dapat diselesaikan menjadi alamat IP. Nilai opsi digunakan untuk menentukan bagaimana sumber daya harus dibagikan.

Misalnya, entri berikut dalam file /etc/exports akan berbagi direktori /usr/share/doc dengan klien NFS client01 (dengan opsi baca-tulis) dan klien NFS client02 (dengan opsi read-only ):

# vi /etc/exports
/usr/share/doc      client01(rw) client02(ro)

Perhatikan bahwa ada spasi antara nama/opsi client01 dan client02, tetapi tidak ada spasi antara nama host dan opsi yang sesuai.

Memahami File /etc/exports

Apa opsi berbagi NFS yang paling umum digunakan di /etc/exports

Ada banyak opsi berbagi NFS yang berbeda, termasuk ini:

  • rw :Bagikan sebagai baca-tulis. Perlu diingat bahwa izin Linux normal masih berlaku. (Perhatikan bahwa ini adalah opsi default.)
  • ro :Bagikan sebagai hanya-baca.
  • sinkronisasi :Perubahan data file segera dilakukan ke disk, yang berdampak pada kinerja, tetapi kecil kemungkinannya mengakibatkan hilangnya data. Pada beberapa distribusi ini adalah default.
  • tidak sinkron :Kebalikan dari sinkronisasi; perubahan data file dibuat pada awalnya ke memori. Ini mempercepat kinerja tetapi lebih cenderung mengakibatkan hilangnya data. Pada beberapa distribusi ini adalah default.
  • root_squash :Memetakan pengguna root dan akun grup dari klien NFS ke akun anonim, biasanya akun none atau akun nfsnobody. Lihat bagian selanjutnya, “Pemetaan ID Pengguna,” untuk detail selengkapnya. (Perhatikan bahwa ini adalah opsi default.)
  • no_root_squash :Memetakan pengguna root dan akun grup dari klien NFS ke akun root dan grup lokal.
Opsi pemasangan NFS umum di Linux

Bagaimana cara mendapatkan informasi tentang kinerja share NFS?

Perintah nfsiostat berfungsi seperti perintah iostat kecuali hanya untuk titik pemasangan NFS. Nfsiostat mendapatkan input dari /proc/self/mountstats dan memberikan informasi tentang kinerja input/output dari share NFS yang dipasang di sistem. Perintah nfsiostat disediakan oleh nfs-utils paket.

Di bawah ini adalah contoh keluaran dari perintah nfsiostat.

Tabel di bawah ini menampilkan deskripsi singkat dari setiap kolom di output about.

Field Deskripsi
op/s Ini adalah jumlah operasi per detik.
rpc bklog Ini adalah panjang antrian backlog.
kB/s Ini adalah jumlah kB yang ditulis/dibaca per detik.
kB/op Ini adalah jumlah kB yang ditulis/dibaca per setiap operasi.
transmisi ulang Ini adalah jumlah transmisi ulang.
rata-rata RTT (md) Ini adalah durasi dari saat kernel klien mengirimkan permintaan RPC hingga saat menerima balasan.
avg exe (ms) Ini adalah durasi dari waktu klien NFS melakukan permintaan RPC ke kernelnya sampai permintaan RPC selesai, ini termasuk waktu RTT di atas.

Di bawah ini adalah sintaks untuk menggunakan perintah nfsiostat.

# nfsiostat --help
Usage: nfsiostat [interval] [count] [options] [mount point]

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit

  Statistics Options:
    File I/O is displayed unless one of the following is specified:

    -a, --attr          displays statistics related to the attribute cache
    -d, --dir           displays statistics related to directory operations
    -p, --page          displays statistics related to the page cache

  Display Options:
    Options affecting display format:

    -s, --sort          Sort NFS mount points by ops/second
    -l LIST, --list=LIST
                        only print stats for first LIST mount points

Di sini,
interval – waktu dalam detik di antara setiap laporan.
hitung – jumlah laporan yang akan dihasilkan pada [interval] detik. Jika Anda tidak menentukan jumlah di sini, laporan akan dibuat secara terus-menerus pada interval yang ditentukan.
opsi – Berbagai opsi dijelaskan dalam contoh di bawah ini.
mount_point – Anda dapat menentukan titik pemasangan NFS tertentu yang statistiknya akan ditampilkan. Dalam kasus ini, laporan hanya untuk titik pemasangan yang ditentukan.

Bagaimana cara melihat pembagian NFS yang saat ini dibagikan?

Perintah exportfs dapat digunakan di server NFS untuk menampilkan apa yang saat ini dibagikan:

# exportfs
/share          [world]

Bagaimana cara berbagi sumber daya NFS menggunakan baris perintah?

Perintah exportfs juga dapat digunakan untuk berbagi sumber daya sementara, dengan asumsi layanan NFS telah dimulai:

# exportfs -o ro 192.168.1.100:/usr/share/doc
# exportfs
/usr/share/doc  192.168.1.100
/share          [world]

-o opsi digunakan untuk menentukan opsi saham. Argumen tersebut mencakup nama sistem untuk berbagi, serta direktori untuk berbagi, dipisahkan oleh karakter titik dua (:).

Jika Anda membuat perubahan pada file /etc/exports, setiap bagian yang baru ditambahkan akan diaktifkan setelah reboot. Jika Anda ingin segera mengaktifkan perubahan ini, jalankan perintah berikut:

# exportfs –a

Bagaimana cara memasang NFS share pada sistem klien?

Setelah bagian NFS diekspor dari server NFS, itu dapat dipasang pada klien yang memenuhi syarat menggunakan sintaks perintah di bawah ini:

# mount [NFS server IP or hostname]:/share/path /client/path

Misalnya jika /exports/downloads dibagikan dari server NFS 10.10.10.100, kami dapat memasangnya di server klien sebagai direktori /mnt/downloads menggunakan perintah di bawah ini:

# mount 10.10.10.100:/exports/downloads /mnt/downloads

Bagaimana cara meng-umount sistem file NFS?

Setelah sistem file NFS di-mount, unmount-nya sederhana. Anda menggunakan perintah umount dengan titik pemasangan lokal atau nama sistem file jarak jauh. Misalnya:

# umount /mnt/nfs_mnt

atau:

# umount 10.10.10.100:/nfs_share

Bagaimana cara mendapatkan daftar klien yang terhubung ke server NFS?

Untuk mendapatkan daftar klien yang terhubung ke server NFS, gunakan perintah showmount dari prompt terminal. Untuk juga menampilkan direktori yang terhubung dengan klien, gunakan:

# showmount -a

Apa port default yang digunakan oleh server NFS?

Secara default server NFS menggunakan port 2049.

Port apa yang harus dibuka di firewall agar NFS berfungsi?

Port TCP dan UDP 2049 (nfs) dan 111 (rpcbind) harus terbuka agar server NFS berfungsi dengan baik. Server juga harus membuka port TCP dan UDP 20048 agar perintah showmount dapat menanyakan direktori bersama NFS yang tersedia dari rpc.mountd di server.

Bagaimana cara melihat pembagian NFS dari sistem klien?

Dari sistem Linux klien, Anda dapat menggunakan perintah showmount untuk melihat direktori bersama apa yang tersedia dari komputer yang dipilih, seperti dalam contoh ini:

$ showmount -e server.example.com
/export/myshare client.example.com
/mnt/public *

Output showmount menunjukkan bahwa direktori bersama bernama /export/myshare hanya tersedia untuk host client.example.com. Namun, direktori bersama /mnt/public tersedia untuk siapa saja.

Bagaimana cara melihat titik pemasangan Mounted NFS pada klien NFS?

Gunakan perintah di bawah ini untuk melihat titik pemasangan NFS yang terpasang pada server klien NFS:

# mount -t nfs4

Contoh keluaran:

# mount -t nfs4
10.10.10.100:/mnt on /mnt/fed type nfs4 (rw,relatime,vers=4.2,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.20.200,local_lock=none,addr=10.10.20.200)

Output dari perintah mount -t nfs4 hanya menunjukkan sistem file yang dipasang dari server file NFS.

Bagaimana cara memasang sistem file NFS pada saat Boot?

Untuk menyiapkan sistem file NFS agar dipasang secara otomatis pada titik pemasangan yang ditentukan setiap kali Anda memulai sistem Linux, Anda perlu menambahkan entri untuk sistem file NFS tersebut ke file /etc/fstab.

Berikut format untuk menambahkan sistem file NFS ke sistem lokal Anda:

host:directory    mountpoint   nfs   options   0   0

Item pertama (host:directory) mengidentifikasi komputer server NFS dan direktori bersama. mountpoint adalah titik pemasangan lokal tempat direktori NFS dipasang. Ini diikuti oleh tipe sistem file (nfs). Opsi apa pun yang terkait dengan pemasangan muncul berikutnya dalam daftar yang dipisahkan koma. (Dua angka nol terakhir mengonfigurasi sistem untuk tidak membuang konten sistem file dan tidak menjalankan fsck pada sistem file.)

Berikut ini adalah contoh entri NFS di /etc/fstab:

# vi /etc/fstab
nfs_server01:/data    /mnt/data      nfs    bg,rsize=8192,wsize=8192  0  0

Bagaimana cara menggunakan autofs untuk memasang sistem file NFS sesuai permintaan?

Fasilitas autofs memasang sistem file jaringan sesuai permintaan ketika seseorang mencoba menggunakan sistem file. Dengan fasilitas autofs dikonfigurasi dan dihidupkan, Anda dapat menyebabkan direktori bersama NFS yang tersedia untuk dipasang sesuai permintaan. Untuk menggunakan fasilitas autofs, Anda harus menginstal paket autofs.

Dengan autofs diaktifkan, jika Anda mengetahui nama host dan direktori yang dibagikan oleh komputer host lain, cukup ubah (cd) ke direktori mount autofs (/net atau /var/autofs secara default). Ini menyebabkan sumber daya bersama dipasang secara otomatis dan dapat diakses oleh Anda. Langkah-langkah berikut menjelaskan cara mengaktifkan fasilitas autofs di Fedora atau RHEL:

1. Sebagai pengguna root, buka /etc/auto.master file dan cari baris berikut:

# vi /etc/auto.master
/net -hosts

Hal ini menyebabkan direktori /net bertindak sebagai titik pemasangan untuk direktori bersama NFS yang ingin Anda akses di jaringan.

2. Untuk memulai layanan autofs di CentOS/RHEL 7, atau sistem yang lebih baru, ketik berikut ini sebagai pengguna root:

# systemctl start autofs.service

3. Pada CentOS/RHEL 7, atau sistem yang lebih baru, atur layanan autofs untuk memulai ulang setiap kali Anda mem-boot sistem Anda:

# systemctl enable autofs

Bagaimana cara mengkonfigurasi firewalld pada server NFS?

Agar server NFS berfungsi, aktifkan layanan nfs, mountd, dan rpc-bind di zona yang relevan dalam aplikasi firewall-config atau menggunakan firewall-cmd :

# firewall-cmd --add-service=nfs --zone=internal --permanent
# firewall-cmd --add-service=mountd --zone=internal --permanent
# firewall-cmd --add-service=rpc-bind --zone=internal --permanent


Linux
  1. 40 Pertanyaan Wawancara Linux untuk Mahasiswa Baru Bagian-2

  2. 25 Pertanyaan dan Jawaban Wawancara Linux Teratas

  3. 25 Pertanyaan Wawancara Linux Teratas

  1. Pertanyaan Wawancara Linux :Buka File / Buka Deskriptor File

  2. Memecahkan masalah umum NFS di Linux

  3. Pertanyaan Wawancara Linux – Izin File dan Direktori Dasar

  1. Pertanyaan Wawancara :Linux Package Manager (RPM)

  2. Pertanyaan Wawancara Linux – Pencetakan Linux (CUPS)

  3. Ubuntu Linux - Berbagi VHDX