NFS 서버가 사용하는 NFS 버전은 무엇입니까?


14

내 컴퓨터에 NFS 파일 시스템을 마운트하고 있습니다. 서버가 사용하는 NFS 프로토콜 버전을 어떻게 알 수 있습니까? NFS 서버 시스템에 액세스 할 수 없지만 클라이언트 시스템에 루트가 있습니다.

서버에서 사용중인 NFS 프로토콜 버전 또는 지원하는 버전을 식별하기 위해 클라이언트 시스템에서 실행할 수있는 것이 있습니까?

/var/log/messages커널 디버깅 출력 ( dmesg) 에서 유용한 정보를 찾을 수 없습니다 .

나는 running을 시도했지만 nfsstat유용한 정보를 제공하는지 확실하지 않습니다. 그러나 nfsstat -s서버에 대한 정보를 요청하기 위해 실행 하면 유용한 정보가 없습니다.

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

nfsstat -c클라이언트에 대한 정보를 요청하기 위해 실행하면에 대한 정보가 표시 Client nfs v3되지만이를 해석하는 방법을 잘 모르겠습니다. 클라이언트 시스템과 NFS 서버간에 사용되는 프로토콜에 대한 정보가 있습니까? 현재 NFS 프로토콜 v3을 사용하고 있다는 의미입니까? 서버에서 지원하는 NFS 프로토콜 버전 (예 : NFS v4)에 대한 정보가 있습니까?

답변:


21

nfsstat -c프로그램은 당신에게 실제로 사용되는 NFS 버전을 표시합니다.

실행 rpcinfo -p {server}하면 서버가 지원 하는 모든 RPC 프로그램의 모든 버전이 표시됩니다 . 내 시스템 에서이 출력을 얻습니다.

$ 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
    ...

이것은 내 NFS 서버 ( localhost이 예에서)가 UDP 및 TCP를 통해 NFS 프로토콜의 버전 2, 3 및 4를 제공 한다는 것을 보여줍니다 .


1
V4가 4.2인지 아니면 다른 것이 있는지 (어떻게하면 클라이언트에서 마운트 할 수 없으므로 nfs를 실제로 실행하지 않고) 어떻게 알 수 있습니까?
Dylan

@Dylan 새로운 질문으로 물어 보지 않겠습니까?
roaima

5

OS 및 버전에 따라 다른 방법으로 확인할 수 있습니다.

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

그러나 당신은 확실히 할 수 있습니다

# 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

분명히 같은 출력입니다.

vers=3서버에 표시 됩니다 mountvers=3.


2
grep nfs /proc/mounts(서버의 경우) 만 표시됩니다 nfsd /proc/nfsd nfsd rw,realtime 0 0. 클라이언트가 실제로 마운트되어 있지 않습니다 (작동 할 수 없습니다). 모든 IP 주소가 올바른지, 벌금 (모두 NFS4를 사용하는 것,을 / etc / 수출은 괜찮습니다, nfs-server다시 시작되었습니다 exportfs -rav, 벌금을 보이는 showmount -e server등 클라이언트 외모 벌금에서 ..하지만 내가 탑재하려고 할 때 마다 ..이 때까지 중단 mount.nfs: Connection timed out-또는- mount.nfs4: Connection timed out너무 실망 스럽습니다.
Dylan

클라이언트가 마운트하지 않고 nfs 버전 (예 : 4.2 또는 4.1 또는 무엇을 가지고 있습니까)을 얻는 방법이 있습니까?
Dylan

나는 같은 문제에 열심히 노력해 왔습니다. 모두 괜찮아 작동하는 데 사용됩니다. Vagrant VM을 다시 만든 다음 작동을 멈췄습니다. Nfsstat는 모든 호출이 typ badauth의 잘못된 호출임을 보여줍니다.
onknows

1
@Dylan, 서버는 여러 버전의 NFS를 작동하도록 구성되어 있습니다. 서버 구성 및 / 또는 클라이언트 기능 / 구성에 따라 여러 가지 가능한 답변이 있습니다. 또한 nfs 서버에 연결된 클라이언트가없는 경우 서버 구성 파일을 확인하거나 서버 /proc/fs/nfsd/versions가 지원하도록 구성된 버전을 확인할 수 있습니다.
ILMostro_7

-2

/etc/nfsmount.conf기본 버전 및 지원되는 버전에 대한 정보를 열고 얻을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.