Versi NFS mana yang digunakan server NFS saya?

14

Saya sedang memasang sistem file NFS di mesin saya. Bagaimana cara mengetahui versi protokol NFS yang digunakan server? Saya tidak memiliki akses ke mesin server NFS, tetapi saya memiliki root pada mesin klien saya.

Adakah yang bisa saya jalankan di mesin klien saya untuk mengidentifikasi versi protokol NFS apa yang digunakan oleh server, atau versi apa yang didukungnya?

Saya tidak dapat menemukan informasi yang berguna di /var/log/messagesatau keluaran debugging kernel ( dmesg).

Saya telah mencoba menjalankan nfsstat, tetapi saya tidak yakin apakah itu memberi saya informasi yang berguna. Namun, ketika saya menjalankan nfsstat -suntuk meminta informasi tentang server, saya tidak melihat sesuatu yang berguna:

# nfsstat -s
Server rpc stats:
calls      badcalls   badfmt     badauth    badclnt
0          0          0          0          0       

Ketika saya berlari nfsstat -cuntuk meminta informasi tentang klien, saya memang melihat beberapa informasi tentang Client nfs v3, tetapi saya tidak yakin bagaimana menafsirkannya. Apakah ini memberi tahu saya apa pun tentang protokol yang digunakan antara mesin klien saya dan server NFS? Apakah itu berarti saya sedang menggunakan v3 protokol NFS? Apakah itu memberi tahu saya apa pun tentang versi apa dari protokol NFS yang didukung server, misalnya, NFS v4?

DW
sumber

Jawaban:

21

The nfsstat -cProgram akan menampilkan versi NFS benar-benar digunakan.

Jika Anda menjalankan, rpcinfo -p {server}Anda akan melihat semua versi semua program RPC yang didukung server . Di sistem saya, saya mendapatkan output ini:

$ rpcinfo -p localhost
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    ...
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    ...

Ini menunjukkan kepada saya bahwa server NFS saya ( localhostdalam contoh ini) menawarkan versi 2, 3, dan 4 protokol NFS di seluruh UDP dan TCP.

roaima
sumber
1
Bagaimana Anda bisa tahu apakah V4 adalah 4.2 atau yang lain (lebih disukai tanpa nfs benar-benar berjalan .. karena saya tidak dapat me-mount dari klien karena beberapa alasan)?
Dylan
@Dylan mengapa tidak menanyakan itu sebagai pertanyaan baru?
roaima
5

Tergantung pada OS dan versi Anda, mungkin ada beberapa cara untuk memeriksanya.

nfsstat:

# nfsstat -m
/mnt/share from 10.0.0.1:/mnt/share
Flags:  rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.0.0.1,mountvers=3,mountport=30924,mountproto=udp,local_lock=none,addr=10.0.0.1

Tapi Anda pasti bisa

# grep nfs /proc/mounts
10.0.0.1:/mnt/share /mnt/share nfs rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.0.0.1,mountvers=3,mountport=30924,mountproto=udp,local_lock=none,addr=10.0.0.1

yang jelas merupakan keluaran yang sama.

Itu ditampilkan vers=3di server, dan mountvers=3.


sumber
2
grep nfs /proc/mounts(untuk saya di server) hanya menampilkan nfsd /proc/nfsd nfsd rw,realtime 0 0. Saya tidak memiliki klien yang benar-benar di-mount (saya tidak bisa menjalankannya). Semuanya tampak baik-baik saja (menggunakan nfs4 pada keduanya, alamat IP sudah benar, / etc / ekspor baik-baik saja, nfs-servertelah dimulai kembali, exportfs -ravterlihat baik-baik saja, showmount -e serverdari klien terlihat baik-baik saja, dll .. tetapi ketika saya mencoba untuk me-mount SETIAP SAAT .. itu hang sampai mount.nfs: Connection timed out--atau-- mount.nfs4: Connection timed outSangat frustasi. Maaf atas kata-kata kasar saya yang mungkin tidak akan diperbaiki).
Dylan
jadi, saya kira .. apakah ada cara untuk mendapatkan versi nfs (seperti 4.2 atau 4.1 atau apa pun yang Anda miliki) tanpa klien terpasang?
Dylan
Saya telah bekerja keras untuk masalah yang sama. Semua baik-baik saja dan ini digunakan untuk bekerja. Saya menciptakan VM Vagrant saya dan kemudian berhenti bekerja. Nfsstat menunjukkan bahwa semua panggilan adalah panggilan buruk dari ketik badauth.
onknows
1
@Dylan, server dikonfigurasi untuk beroperasi dengan beberapa versi NFS. Bergantung pada konfigurasi server dan / atau kemampuan / konfigurasi klien, ada beberapa kemungkinan jawaban. Selain itu, jika Anda tidak memiliki klien yang terhubung ke server nfs, Anda dapat memeriksa file konfigurasi server Anda dan / atau /proc/fs/nfsd/versionsuntuk mengetahui versi apa yang dikonfigurasi untuk didukung oleh server.
ILMostro_7
-2

Seseorang dapat membuka /etc/nfsmount.confdan mendapatkan informasi tentang versi default dan versi yang didukung.

krishna
sumber