Mengoptimalkan klien NFS Linux

Halaman ini menjelaskan cara menyesuaikan klien NFS Linux yang memasang ekspor NetApp Volumes. Untuk banyak workload, penyesuaian tidak diperlukan. Kecuali jika Anda memerlukan throughput yang lebih tinggi, lebih banyak IOPS, beban metadata yang lebih rendah pada volume, atau perilaku caching tertentu, gunakan perintah mount dari Google Cloud konsol.

Untuk mengetahui informasi selengkapnya tentang langkah-langkah koneksi, penyiapan kebijakan ekspor, dan perintah mount, lihat Menghubungkan klien NFS.

Mengonfigurasi klien

Konfigurasi setelan NFS Linux dalam urutan berikut:

  1. Konkurensi kernel: sebelum memasang sistem file, tetapkan jumlah slot permintaan NFS (entri tabel slot untuk NFSv3 atau slot sesi untuk NFSv4.1). Jika Anda mengubah setelan, Anda harus memasang ulang sistem file. Untuk mengetahui informasi selengkapnya, lihat Konkurensi NFS Linux.

  2. Opsi pemasangan: pilih versi protokol, ukuran I/O, jumlah koneksi TCP hitung, penguncian, dan opsi terkait cache pada waktu pemasangan. Untuk mengetahui informasi selengkapnya, lihat Opsi pemasangan NFS Linux.

  3. Baca-di-muka: sesuaikan pengambilan data di muka baca berurutan per titik pemasangan setelah volume dipasang. Untuk mengetahui informasi selengkapnya, lihat Baca-di-muka NFS Linux.

Tabel berikut merangkum langkah-langkah konfigurasi ini:

Langkah Kapan Yang dikontrol Tempat mengonfigurasi Panduan
1 Sebelum pemasangan pertama, atau sebelum pemasangan ulang Operasi RPC yang belum selesai per koneksi TCP; perintah NFSv4.1 per sesi /etc/sysctl.conf,
/etc/modprobe.d/
Konkurensi NFS Linux
2 Saat pemasangan Protokol, ukuran transfer I/O, jumlah koneksi, penguncian, dan cache atribut mount -o, /etc/fstab Opsi pemasangan NFS Linux
3 Setelah pemasangan Pengambilan data di muka baca berurutan /sys/class/bdi/.../read_ahead_kb, aturan udev Baca-di-muka NFS Linux

Cara kerja setelan

Kernel Linux menentukan konkurensi per koneksi (Langkah 1 dalam tabel sebelumnya). Opsi pemasangan nconnect (Langkah 2 dalam tabel sebelumnya) memungkinkan Anda membuka beberapa koneksi TCP dari satu klien ke alamat IP volume yang sama.

Perkiraan konkurensi untuk satu klien dihitung sebagai berikut:

(slots per connection) x (nconnect value)

Setiap koneksi TCP ke endpoint NetApp Volumes NFS mendukung hingga 128 operasi yang belum selesai per koneksi untuk NFSv3. NFSv4.1 juga menegosiasikan batas tingkat sesi; satu koneksi TCP dapat membatasi konkurensi efektif di bawah maksimum sesi. Untuk mengetahui informasi selengkapnya, lihat Konkurensi NFS Linux.

Jika beberapa klien memasang alamat IP volume yang sama, gunakan batas slot per klien yang lebih rendah sehingga total operasi yang belum selesai di seluruh fleet klien tetap berada dalam batas yang direkomendasikan.

Anda mengonfigurasi baca-di-muka per direktori pemasangan (Langkah 3 dalam tabel sebelumnya). Hal ini bergantung pada opsi pemasangan rsize dan default distribusi Linux. Beberapa distribusi menggunakan baca-di-muka 128 KiB tetap, terlepas dari rsize, yang dapat mengurangi performa baca berurutan hingga Anda menyesuaikannya.

Opsi pemasangan dan setelan kernel tidak mengubah kebijakan ekspor, konfigurasi Kerberos, persyaratan firewall, atau batas IOPS dan throughput tingkat layanan volume.

Titik awal workload

Tabel berikut memberikan titik awal. Validasi setelan dengan aplikasi, distribusi Linux, dan jalur jaringan Anda.

Workload Konkurensi kernel Opsi pemasangan Baca-di-muka
Tujuan umum Default sistem operasi Gunakan petunjuk pemasangan dari Google Cloud konsol Default sistem operasi
VM tunggal, throughput/IOPS tinggi
  • Batasi tabel slot per koneksi pada 128 atau kurang
  • Untuk NFSv4.1, tetapkan max_session_slots hingga maksimum server
  • Gunakan nconnect=2 atau lebih tinggi jika Anda memerlukan lebih dari 128 operasi yang belum selesai
  • nconnect=8 hingga nconnect=16
  • Sesuaikan rsize dan wsize
Sesuaikan jika workload terikat baca berurutan
Banyak klien (EDA/HPC/render farm)
  • Slot rendah per klien (misalnya, 8)
  • Pertahankan total slot per IP volume di bawah batas yang direkomendasikan
  • Sering kali NFSv3
  • Tidak ada nconnect
  • Sebarkan klien di beberapa IP volume untuk volume berkapasitas besar
Sering kali lebih tinggi untuk set data statis yang besar
Kerberos NFSv4.1
  • Sesuaikan max_session_slots
  • Jangan mengandalkan nconnect untuk performa
  • sec=krb5, krb5i, atau krb5p
  • Jangan gabungkan dengan nconnect
Sesuai kebutuhan untuk pembacaan berurutan
NFSv3 tanpa penguncian saran Default sistem operasi Sesuai kebutuhan

Mengukur dan memvalidasi penyesuaian

Setelah Anda memperbarui setelan klien, selesaikan langkah-langkah berikut:

  • Jalankan nfsiostat, mountstats, dan nfsstat di klien. Untuk mengetahui informasi selengkapnya, lihat Memantau performa.

  • Bandingkan hasil Anda dengan tolok ukur performa. Tolok ukur ini menggunakan nconnect=16, rsize=65536, dan wsize=65536 untuk beberapa pengujian NFSv3 di Red Hat Enterprise Linux 9.

Menyesuaikan klien akan meningkatkan efisiensi penggunaan jalur jaringan ke volume untuk mesin virtual (VM). Kapasitas volume, tingkat layanan, batas pool penyimpanan, dan ukuran VM Compute Engine mungkin masih membatasi hasil.

Langkah berikutnya