내 컴퓨터에 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)에 대해 알려주나요?
답변1
프로그램 은 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
...
localhost
이는 내 NFS 서버( 이 예에서는)가 UDP 및 TCP를 통해 NFS 프로토콜 버전 2, 3, 4를 제공한다는 것을 보여줍니다 .
답변2
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
.
답변3
/etc/nfsmount.conf
기본 버전과 지원 버전에 대한 정보를 열고 얻을 수 있습니다 .