Opsi pemasangan NFS Linux

Halaman ini menjelaskan opsi pemasangan NFS Linux yang memengaruhi performa dan perilaku saat memasang ekspor NetApp Volumes. Anda menetapkan opsi ini saat menjalankan perintah mount atau dengan menambahkannya ke /etc/fstab.

Untuk mengetahui urutan penyiapan yang direkomendasikan dan informasi tentang cara opsi pemasangan berinteraksi dengan konkurensi kernel dan baca-depan, lihat Mengoptimalkan klien NFS Linux.

Untuk mengetahui perintah pemasangan dan contoh akses ekspor, lihat Menghubungkan klien NFS.

Sebelum memulai

Lengkapi persyaratan berikut sebelum Anda memasang NetApp Volumes:

  • Gunakan perintah pemasangan dari petunjuk pemasangan Google Cloud konsol kecuali jika beban kerja Anda memerlukan opsi yang berbeda.

  • Jika Anda menyesuaikan konkurensi dengan setelan slot tabel atau slot sesi, konfigurasikan setelan tersebut sebelum memasang. Untuk mengetahui informasi selengkapnya, lihat Konkurensi NFS Linux.

  • Uji setiap perubahan di lingkungan non-produksi. Efek opsi pemasangan dapat bervariasi berdasarkan beban kerja, versi Linux, dan latensi jaringan.

Referensi cepat

Tabel berikut memberikan referensi cepat opsi pemasangan umum berdasarkan sasaran beban kerja Anda:

Target Opsi yang perlu dipertimbangkan Catatan
Tujuan umum Gunakan Google Cloud petunjuk pemasangan konsol Menyertakan default yang sesuai dengan protokol
Throughput atau IOPS yang lebih tinggi dari satu VM nconnect=8 hingga nconnect=16, sesuaikan rsize dan wsize Tetapkan tabel slot terlebih dahulu; lihat Konkurensi NFS Linux
Latensi yang lebih rendah untuk database rsize=262144, wsize=262144, hard, timeo=600, vers=4.1 Uji untuk aplikasi spesifik Anda
Menentukan versi NFS vers=3 atau vers=4.1 Linux memasang versi tertinggi yang tersedia secara default
NFSv3 tanpa kunci saran vers=3, nolock Untuk panduan firewall dan pengelola kunci, lihat Menghubungkan klien NFS
Kerberos NFSv4.1 sec=krb5, krb5i, atau krb5p Jangan gunakan dengan nconnect
Data yang sebagian besar dibaca dengan pertukaran koherensi yang diketahui nocto, actimeo= Lanjutan; pahami perilaku cache terlebih dahulu

Selalu sertakan tcp saat Anda memasang NFSv3. Meskipun Linux menggunakan TCP untuk traffic NFS secara default, menambahkan tcp secara eksplisit membantu memastikan proses pemasangan menggunakan TCP, bukan UDP. Hal ini membantu meningkatkan performa saat banyak sistem mencoba memasang secara bersamaan. Sertakan noatime untuk mengurangi operasi metadata.

Profil pemasangan berikut memberikan opsi yang direkomendasikan berdasarkan persyaratan performa, versi protokol, dan skala klien Anda. Saat menjalankan perintah ini, ganti VOLUME_IP dan /export_path dengan nilai sebenarnya dari petunjuk pemasangan di Google Cloud konsol.

Profil A: Default (konsol)

Jalankan perintah pemasangan yang disediakan di Google Cloud konsol tanpa perubahan.

Profil B: Berorientasi performa (klien Linux tunggal)

Contoh untuk NFSv3, selaras dengan konfigurasi pengujian tolok ukur performa:

 sudo mount -t nfs -o hard,tcp,vers=3,rsize=262144,wsize=262144,nconnect=16 \
 VOLUME_IP:/export_path /mnt/volume

Tolok ukur menggunakan nconnect=16 dan 64 KiB rsize dan wsize. Banyak beban kerja berperforma baik dengan nconnect=8. Uji kedua nilai.

Profil C: NFSv4.1 dengan versi eksplisit

 sudo mount -t nfs -o vers=4.1,hard,rsize=262144,wsize=262144 \
 VOLUME_IP:/export_path /mnt/volume

Untuk mencegah pemasangan otomatis NFSv4.2 saat diaktifkan di volume, tentukan vers=4.1. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan klien NFS.

Profil D: NFSv3 untuk farm komputasi

Jika Anda menghubungkan sejumlah besar klien ke volume (misalnya, ratusan), jangan gunakan nconnect untuk mencegah kehabisan sesi TCP yang tersedia di volume.

 sudo mount -t nfs -o vers=3,nolock,hard,tcp,rsize=262144,wsize=262144 \
 VOLUME_IP:/export_path /mnt/volume

Mempertahankan di /etc/fstab

Contoh berikut menunjukkan baris /etc/fstab untuk NFSv4.1:

 VOLUME_IP:/export_path  /mnt/volume  nfs  vers=4.1,hard,tcp,rsize=262144,wsize=262144,timeo=600,_netdev  0  0

Gunakan opsi _netdev agar sistem menunggu jaringan sebelum memasang.

nconnect

Opsi pemasangan nconnect memungkinkan Anda mengontrol jumlah koneksi TCP yang dibuka klien NFS ke endpoint penyimpanan yang sama, yaitu alamat IP volume. Setiap koneksi menangani beberapa operasi NFS secara bersamaan, hingga batas yang ditetapkan. Meningkatkan jumlah koneksi akan meningkatkan konkurensi dan throughput I/O dari satu klien.

Rekomendasi

Pertimbangkan rekomendasi berikut saat mengonfigurasi opsi pemasangan nconnect:

  • Uji nconnect=8 dan nconnect=16. Nilai hingga 16 didukung.

  • Gunakan nconnect hanya untuk klien khusus berperforma tinggi. Jika banyak klien, misalnya farm komputasi, terhubung ke penyimpanan yang sama, hindari penggunaan nconnect.

  • Lakukan operasi pemasangan pertama ke IP volume tertentu untuk menetapkan nilai nconnect untuk IP tersebut di klien tersebut. Pemasangan berikutnya ke IP yang sama menggunakan nilai yang sama, meskipun menentukan nilai yang berbeda. Pasang ekspor dengan nilai nconnect yang dipilih terlebih dahulu, atau gunakan opsi yang sama untuk semua pemasangan ke IP tersebut.

  • Perhatikan bahwa menetapkan nconnect untuk satu IP volume tidak memengaruhi pemasangan ke IP volume yang berbeda.

  • Pastikan distribusi Linux Anda mendukung nconnect sebelum menggunakannya.

Untuk mengetahui informasi selengkapnya tentang batas slot per koneksi, lihat Konkurensi NFS Linux.

rsize dan wsize

Opsi pemasangan rsize dan wsize menetapkan ukuran transfer maksimum untuk operasi baca dan tulis NFS. Jika Anda menghapusnya, klien dan server akan menegosiasikan ukuran terbesar yang didukung keduanya, yaitu hingga 1 MiB di klien Linux dan NetApp Volumes.

Rekomendasi

Pertimbangkan rekomendasi berikut saat mengonfigurasi opsi pemasangan rsize dan wsize:

  • Uji rsize=262144 dan wsize=262144 (256 KiB) untuk menyesuaikan throughput dan latensi untuk aplikasi yang sensitif terhadap latensi.

  • Gunakan nilai yang lebih besar dari 256 KiB dengan hati-hati karena dapat meningkatkan latensi atau mengurangi throughput untuk beberapa beban kerja; ukur performa sebelum deployment.

  • Gunakan rsize=65536 dan wsize=65536 (64 KiB) untuk pengujian NFSv3, karena these nilai digunakan dalam tolok ukur performa.

Perhatikan bahwa setelan ini memiliki efek minimal pada beban kerja acak, yang biasanya menggunakan ukuran operasi yang lebih kecil daripada rsize dan wsize, sedangkan I/O berurutan melalui cache halaman sering menggunakan ukuran operasi hingga rsize dan wsize.

Opsi pemasangan rsize memengaruhi perilaku baca-depan. Untuk mengetahui informasi selengkapnya, lihat Baca-depan NFS Linux.

Versi protokol

Tabel berikut mencantumkan nilai opsi vers dan versi protokol yang sesuai:

Opsi Gunakan
vers=3 NFSv3
vers=4.1 NFSv4.1
vers=4.2 NFSv4.2

Jika Anda tidak menetapkan vers, perintah mount Linux akan menggunakan versi NFS tertinggi yang didukung oleh klien dan volume. Volume Flex Unified, Standar, Premium, dan Ekstrem dengan NFSv4.1 yang diaktifkan juga mendukung NFSv4.2. Anda dapat memasang NFSv4.2 kecuali jika Anda menentukan vers=4.1.

Untuk mengetahui informasi selengkapnya tentang pemetaan identitas NFSv4.1, Kerberos, dan ID numerik, lihat Menghubungkan klien NFS.

hard, timeo, dan retrans

Opsi pemasangan hard, timeo, dan retrans mengelola perilaku klien dan logika coba lagi waktu tunggu saat terjadi masalah koneksi:

  • hard: mencoba kembali permintaan NFS hingga berhasil. Opsi ini biasanya digunakan untuk integritas data pada beban kerja produksi.

  • timeo: menentukan waktu tunggu dalam persepuluh detik sebelum permintaan dicoba lagi. Beban kerja berorientasi database sering menggunakan timeo=600 (60 detik).

  • retrans: menentukan jumlah percobaan ulang. Google Cloud Default konsol biasanya cukup kecuali jika runbook Anda menentukan sebaliknya.

Opsi nolock NFSv3

Penguncian saran NFSv3 menggunakan Network Lock Manager (NLM) dan memerlukan sisi klien rpc.statd dan aturan firewall untuk port callback. Jika Anda tidak menggunakan kunci saran, pasang dengan nolock untuk menghindari traffic pengelola kunci.

NFSv4.1 menerapkan penguncian dalam protokol di port 2049; klien tidak memerlukan aturan masuk pengelola kunci terpisah.

Untuk mengetahui informasi selengkapnya tentang penggunaan kunci saran dengan NFSv3 dan aturan firewall untuk akses volume NFS, lihat Menghubungkan klien NFS.

Cache dan konsistensi menggunakan nocto dan actimeo

Klien NFS menggunakan model konsistensi yang longgar. Timer cache atribut menentukan berapa lama klien memercayai metadata file dan direktori sebelum menghubungi server. Konsistensi close-to-open (cto) default memperbarui data file saat Anda membuka file.

  • nocto: klien tidak memaksa konsistensi server saat dibuka. Hal ini mengurangi panggilan getattr, tetapi meningkatkan risiko data yang tidak berlaku.

  • actimeo=N: mengonfigurasi semua timer cache atribut ke N detik (acregmin, acregmax, acdirmin, dan acdirmax).

Sebaiknya gunakan nocto dan nilai actimeo yang lebih tinggi dalam skenario berikut:

  • Penulis tunggal atau konsumen hanya baca yang menerima pembaruan melalui jalur lain.

  • Kumpulan data statis yang besar, seperti library EDA, konten web, atau tekstur render, jika data yang tidak berlaku dalam waktu singkat dapat diterima.

Dalam sebagian besar kasus, gunakan default Linux yang direkomendasikan untuk caching atribut:

  • File reguler minimum dan maksimum: acregmin=3 detik dan acregmax=60 detik

  • Direktori minimum dan maksimum: acdirmin=30 detik dan acdirmax=60 detik

Menurunkan nilai ini akan meningkatkan beban pada server NFS dan dapat mengurangi performa. Hindari actimeo=0 kecuali untuk kasus penggunaan yang sangat spesifik dan Anda memahami dampaknya.

Opsi umum lainnya

Opsi pemasangan umum lainnya berikut tersedia untuk klien NFS:

  • rw atau ro: pemasangan baca-tulis atau hanya baca.

  • noatime: jangan perbarui waktu akses saat dibaca, karena hal ini mengurangi operasi metadata dan merupakan praktik yang direkomendasikan.

  • sec=sys: AUTH_SYS, yaitu default untuk ekspor non-Kerberos.

  • _netdev: gunakan ini di fstab untuk memasang setelah jaringan tersedia.

Langkah berikutnya