(내 시스템은 centos7을 실행 중입니다)
NFS를 통해 드라이브가 올바르게 마운트되었는지 클라이언트에서 확인하려고 합니다.
명령을 입력하면 nfsstat -m
현재 설치라고 생각되는 것이 표시되지만 폴더에 액세스할 수 있다고 보장되는 것은 아닙니다. 이러한 폴더가 탑재되었을 때 NFS 서버가 실행 중이었을 가능성이 있지만 이제 NFS 서버가 다운되었습니다.
예를 들어, NFS 서버가 다운되고 클라이언트 시스템에 명령을 입력하면 df -h
명령이 무기한 중단됩니다. 마찬가지로 ls
마운트하려는 폴더를 마운트 하려고 하면 역시 무기한 정지됩니다.
내 문제를 보여주는 예는 다음과 같습니다.
# on server
systemctl start nfs-server
# on client
mount node1:/mnt/images /mnt/images
df -h #works fine here
# on server
systemctl stop nfs-server
# on client
nfsstat -m #shows the list of nfs mounts
df -h #this command will hang
ls /mnt/images #this command will hang
테스트 방법에 대한 제안 사항클라이언트에서NFS 서버가 실행 중이거나 NFS 마운트 폴더에 접근이 가능하다면 감사하겠습니다.
showmount -e
서버에서 실행 하면 다음과 같은 출력이 표시됩니다. ( 클라이언트 컴퓨터에서 마운트하려고 하는 모든 폴더 는 다음 /mnt/images
과 /mnt/rv_output
같습니다 .)/rv
/mnt/rv_output 192.168.81.0/24
/mnt/images 192.168.81.0/24
/rv 192.168.81.0/24
하지만 저는 이 연결을 서버에서 테스트하는 데 관심이 없고 클라이언트 컴퓨터에서 테스트하고 싶습니다. showmount -e
클라이언트에서 실행 하면 nfs 서버가 서버 시스템에서 활성화되었는지 여부에 관계없이 동일한 출력을 얻습니다.
clin_create: RPC: Port mapper failure - Unable to receive: errno 111 (connection refused)
답변1
표준 설정이 있는 경우 서버의 NFS 데몬은 TCP/UDP 포트 2049를 수신하므로 , 또는 를 사용하여 연결을 시도 netcat
할 ncat
수 nc
있습니다 telnet
. CentOS를 실행하고 있지 않기 때문에 사용 가능한 것이 무엇인지 정확히 알 수 없지만 내 컴퓨터(OpenBSD)에서는
$ nc -z ip_of_nfs_server 2049
그게 다입니다( -u
UDP를 추가하고 -z
스위치는 수신 데몬을 확인하고 데이터를 보내지 않도록 지시합니다). man
동일한 목적으로 다른 도구를 사용할 수 있도록 페이지를 확인 하여 컴퓨터에 무엇이 있는지 확인하세요. telnet
어느 정도 유비쿼터스
$ telnet ip_of_nfs_server 2049
또한 작동해야 합니다(exit 사용 Ctrl+c
).
답변2
쇼 산
~에서man showmount
showmount - NFS 서버 마운트 정보를 표시합니다.
실제로 내보낸 내용을 확인하려면 with --exports
(또는 ) 옵션을 사용합니다.-e
답변3
df -h
수행해야 할 작업을 이미 알고 있지만 중단되므로 timeout
중단되지 않도록 명령을 앞에 추가할 수 있습니다.
timeout 5s df -h 1>/dev/null 2>/dev/null && echo OK || echo NOK