Menyiapkan Sistem File Linux Standar dan Mengonfigurasi Server NFSv4 - Bagian 2


Insinyur Bersertifikat Linux Foundation (LFCE) dilatih untuk menyiapkan, mengonfigurasi, mengelola, dan memecahkan masalah layanan jaringan di sistem Linux, dan bertanggung jawab atas desain dan implementasi arsitektur sistem serta penyelesaian terkait sehari-hari masalah.

Memperkenalkan Program Sertifikasi Linux Foundation (LFCE).

Pada Bagian 1 seri ini kami menjelaskan cara menginstal server NFS (Network File System), dan mengatur layanan agar dimulai secara otomatis saat boot. Jika Anda belum melakukannya, silakan merujuk ke artikel tersebut dan ikuti langkah-langkah yang diuraikan sebelum melanjutkan.

  1. Menginstal Layanan Jaringan dan Mengonfigurasi Startup Otomatis saat Boot – Bagian 1

Sekarang saya akan menunjukkan kepada Anda cara mengkonfigurasi server NFSv4 Anda dengan benar (tanpa keamanan autentikasi) sehingga Anda dapat mengatur pembagian jaringan untuk digunakan di klien Linux seolah-olah sistem file tersebut diinstal secara lokal. Perhatikan bahwa Anda dapat menggunakan LDAP atau NIS untuk tujuan otentikasi, namun kedua opsi tersebut berada di luar cakupan sertifikasi LFCE.

Mengonfigurasi server NFSv4

Setelah server NFS aktif dan berjalan, kami akan memfokuskan perhatian kami pada:

  1. menentukan dan mengkonfigurasi direktori lokal yang ingin kita bagikan melalui jaringan, dan
  2. memasang pembagian jaringan tersebut di klien secara otomatis, baik melalui file /etc/fstab atau utilitas berbasis kernel automount (autofs).

Nanti akan kami jelaskan kapan harus memilih salah satu metode atau metode lainnya.

Sebelum melakukannya, kita perlu memastikan bahwa daemon idmapd berjalan dan dikonfigurasi. Layanan ini melakukan pemetaan nama NFSv4 (pengguna@domainku) ke ID pengguna dan grup, dan diperlukan untuk mengimplementasikan server NFSv4.

Edit /etc/default/nfs-common untuk mengaktifkan idmapd.

NEED_IDMAPD=YES

Dan edit /etc/idmapd.conf dengan nama domain lokal Anda (defaultnya adalah FQDN host).

Domain = yourdomain.com

Kemudian mulai idmapd.

service nfs-common start 	[sysvinit / upstart based systems]
systemctl start nfs-common 	[systemd based systems]

Mengekspor Berbagi Jaringan

File /etc/exports berisi arahan konfigurasi utama untuk server NFS kami, mendefinisikan sistem file yang akan diekspor ke host jarak jauh dan menentukan opsi yang tersedia. Dalam file ini, setiap jaringan berbagi ditunjukkan menggunakan baris terpisah, yang memiliki struktur berikut secara default:

/filesystem/to/export client1([options]) clientN([options])

Dimana /filesystem/to/export adalah jalur absolut ke sistem file yang diekspor, sedangkan client1 (hingga clientN) mewakili klien tertentu (nama host atau alamat IP) atau jaringan (wildcard diperbolehkan) ke mana bagian tersebut diekspor. Terakhir, opsi adalah daftar nilai (opsi) yang dipisahkan koma yang masing-masing diperhitungkan saat mengekspor bagian. Harap dicatat bahwa tidak ada spasi antara setiap nama host dan tanda kurung sebelumnya.

Berikut adalah daftar opsi yang paling sering digunakan dan deskripsinya masing-masing:

  1. ro (kependekan dari read-only): Klien jarak jauh dapat memasang sistem file yang diekspor dengan izin baca saja.
  2. rw (kependekan dari read-write): Memungkinkan host jarak jauh membuat perubahan tulis pada sistem file yang diekspor.
  3. wdelay (kependekan dari write delay): Server NFS menunda melakukan perubahan pada disk jika server menduga permintaan tulis terkait lainnya akan segera terjadi. Namun, jika server NFS menerima beberapa permintaan kecil yang tidak terkait, opsi ini akan mengurangi kinerja, sehingga opsi no_wdelay dapat digunakan untuk mematikannya.
  4. sinkronisasi: Server NFS membalas permintaan hanya setelah perubahan diterapkan pada penyimpanan permanen (misalnya hard disk). Sebaliknya, opsi async, dapat meningkatkan kinerja namun mengakibatkan hilangnya data atau kerusakan setelah server dimulai ulang dengan tidak bersih.
  5. root_squash: Mencegah pengguna root jarak jauh memiliki hak pengguna super di server dan memberikan mereka ID pengguna untuk pengguna siapa pun. Jika Anda ingin “squash ” semua pengguna (dan bukan hanya melakukan root), Anda dapat menggunakan opsi all_squash.
  6. anonuid/anongid: Secara eksplisit menetapkan UID dan GID akun anonim (tidak ada orang).
  7. subtree_check: Jika hanya subdirektori dari sistem file yang diekspor, opsi ini memverifikasi bahwa file yang diminta terletak di subdirektori yang diekspor tersebut. Sebaliknya, jika seluruh sistem file diekspor, menonaktifkan opsi ini dengan no_subtree_check akan mempercepat transfer. Opsi default saat ini adalah no_subtree_check karena pemeriksaan subpohon cenderung menyebabkan lebih banyak masalah daripada manfaatnya, menurut man 5 ekspor.
  8. fsid=0 | root (nol atau root): Menentukan bahwa sistem file yang ditentukan adalah root dari beberapa direktori yang diekspor (hanya berlaku di NFSv4).

Pada artikel ini kita akan menggunakan direktori /NFS-SHARE dan /NFS-SHARE/mydir di 192.168.0.10 (server NFS) sebagai menguji sistem file.

Kami selalu dapat membuat daftar pembagian jaringan yang tersedia di server NFS menggunakan perintah berikut:

showmount -e [IP or hostname]

Pada output di atas, kita dapat melihat bahwa share /NFS-SHARE dan /NFS-SHARE/mydir pada 192.168.0.10 telah diekspor ke klien dengan alamat IP 192.168.0.17.

Konfigurasi awal kami (lihat direktori /etc/exports di server NFS Anda) untuk direktori yang diekspor adalah sebagai berikut:

/NFS-SHARE  	192.168.0.17(fsid=0,no_subtree_check,rw,root_squash,sync,anonuid=1000,anongid=1000)
/NFS-SHARE/mydir    	192.168.0.17(ro,sync,no_subtree_check)

Setelah mengedit file konfigurasi, kita harus me-restart layanan NFS:

service nfs-kernel-server restart 		[sysvinit / upstart based system]
systemctl restart nfs-server			[systemd based systems]
Memasang berbagi jaringan yang diekspor menggunakan autofs

Anda mungkin ingin merujuk ke Bagian 5 dari seri LFCS (“Cara Memasang/Melepas Sistem File Lokal dan Jaringan (Samba & NFS) di Linux”) untuk detail tentang pemasangan share NFS jarak jauh sesuai permintaan menggunakan perintah mount atau secara permanen melalui file /etc/fstab.

Kelemahan dari pemasangan sistem file jaringan menggunakan metode ini adalah sistem harus mengalokasikan sumber daya yang diperlukan agar share tetap terpasang setiap saat, atau setidaknya sampai kita memutuskan untuk melepasnya secara manual. Alternatifnya adalah memasang sistem file yang diinginkan sesuai permintaan secara otomatis (tanpa menggunakan perintah mount) melalui autofs, yang dapat memasang sistem file saat digunakan dan melepasnya setelahnya periode tidak aktif.

Autofs membaca /etc/auto.master, yang memiliki format berikut:

[mount point]	[map file]

Dimana [file peta] digunakan untuk menunjukkan beberapa titik pemasangan dalam [titik pemasangan].

File peta master ini (/etc/auto.master) kemudian digunakan untuk menentukan titik pemasangan mana yang ditentukan, dan kemudian memulai proses pemasangan otomatis dengan parameter yang ditentukan untuk setiap titik pemasangan.

Memasang bagian NFS yang diekspor menggunakan autofs

Edit /etc/auto.master Anda sebagai berikut:

/media/nfs	/etc/auto.nfs-share	--timeout=60

dan buat file peta bernama /etc/auto.nfs-share dengan konten berikut:

writeable_share  -fstype=nfs4 192.168.0.10:/
non_writeable_share  -fstype=nfs4 192.168.0.10:/mydir

Perhatikan bahwa kolom pertama di /etc/auto.nfs-share adalah nama subdirektori di dalam /media/nfs. Setiap subdirektori dibuat secara dinamis oleh autofs.

Sekarang, restart layanan autofs:

service autofs restart 			[sysvinit / upstart based systems]
systemctl restart autofs 			[systemd based systems]

dan terakhir, untuk mengaktifkan autofs untuk memulai saat boot, jalankan perintah berikut:

chkconfig --level 345 autofs on
systemctl enable autofs 			[systemd based systems]
Memeriksa sistem file yang terpasang setelah memulai daemon autofs

Ketika kita me-restart autofs, perintah mount menunjukkan kepada kita bahwa file peta (/etc/auto.nfs-share) sudah terpasang pada lokasi yang ditentukan direktori di /etc/auto.master:

Harap dicatat bahwa belum ada direktori yang benar-benar dipasang, tetapi akan otomatis dipasang ketika kami mencoba mengakses pembagian yang ditentukan di /etc/auto.nfs-share:

Seperti yang bisa kita lihat, layanan autofs “memasang ”, bisa dikatakan, file peta, tetapi menunggu sampai ada permintaan dibuat ke sistem file untuk benar-benar memasangnya.

Melakukan tes tulis dalam sistem file yang diekspor

Opsi anonuid dan anongid, bersama dengan root_squash seperti yang ditetapkan pada share pertama, memungkinkan kita memetakan permintaan yang dilakukan oleh pengguna root di klien ke akun lokal di server.

Dengan kata lain, ketika root di klien membuat file di direktori yang diekspor, kepemilikannya akan secara otomatis dipetakan ke akun pengguna dengan UID dan GID=1000, asalkan akun tersebut ada di server:

Kesimpulan

Saya harap Anda berhasil mengatur dan mengonfigurasi server NFS yang sesuai dengan lingkungan Anda menggunakan artikel ini sebagai panduan. Anda mungkin juga ingin merujuk ke halaman manual yang relevan untuk bantuan lebih lanjut (man ekspor dan man idmapd.conf, misalnya).

Jangan ragu untuk bereksperimen dengan opsi lain dan kasus uji seperti yang diuraikan sebelumnya dan jangan ragu untuk menggunakan formulir di bawah ini untuk mengirimkan komentar, saran, atau pertanyaan Anda. Kami akan senang mendengar pendapat Anda.