nfs 문제: 공유 크기가 잘못된 것 같습니다. 공유에서 생성된 파일은 서버에 표시되지 않습니다.

nfs 문제: 공유 크기가 잘못된 것 같습니다. 공유에서 생성된 파일은 서버에 표시되지 않습니다.

NFS 서버에 공유를 설정했습니다. 오류 없이 공유를 마운트할 수 있습니다. "df"로 보고된 공유 크기는 서버의 공유 크기보다 훨씬 작습니다. 서버는 1TB를 보고하지만 클라이언트의 공유는 3.8G처럼 보입니다. 클라이언트에서 nfs 공유에 테스트 파일을 생성할 수 있으며 이 테스트 파일은 모든 클라이언트에서 볼 수 있지만 서버의 공유 디렉터리로 이동하면 해당 파일이 없습니다. 마찬가지로 서버에 이미 존재하는 파일은 어떤 클라이언트에도 표시되지 않습니다. 서버에서 "updatedb" 명령을 실행하고 새로 생성된 테스트 파일을 검색했습니다. 그러나 서버의 어느 곳에서도 찾을 수 없습니다. 따라서 일부 공유에 액세스하고 있으며 클라이언트에서 공유에 파일을 만들 수 있지만 서버의 어느 곳에서도 이러한 파일을 볼 수 없습니다. /var/log/messages에 중요한 nfs 관련 오류가 없습니다. 서버는 CentOS 5.8입니다. 클라이언트는 CentOS 6.4입니다. 테스트를 위해 서버와 클라이언트 모두에서 Iptables가 꺼져 있습니다.

이름 확인이나 DNS에는 문제가 없습니다.

섬기는 사람:

[root@vmappp04 /]# cat /etc/exports
/data       192.168.1.0/24(fsid=0,rw,sync,no_root_squash)

[root@vmappp04 /]# rpm -qa |grep nfs-utils
nfs-utils-1.0.9-66.el5
nfs-utils-lib-1.0.8-7.9.el5
nfs-utils-lib-1.0.8-7.9.el5

[root@vmappp04 /]# rpm -qa |grep nfs4-acl-tools
nfs4-acl-tools-0.3.3-3.el5

[root@vmappp04 /]# rpm -qa |grep portmap
portmap-4.0-65.2.2.1

서버에 호스트.allow 또는 호스트.거부 파일이 없습니다.

고객:

cat /etc/fstab
vmappp04:/  /data/filer_01  nfs4    noauto,defaults 0 0 

[root@vmappp11 ~]# rpm -qa |grep nfs-utils
nfs-utils-lib-1.1.5-6.el6.x86_64
nfs-utils-1.2.3-36.el6.x86_64

[root@vmappp11 ~]# rpm -qa |grep nfs4-acl-tools
nfs4-acl-tools-0.3.3-6.el6.x86_64

portmap이 클라이언트에 설치되지 않았습니다.

클라이언트의 mount 명령 출력이 올바르게 나타납니다.

[root@vmappp11 ~]# showmount -e vmappp04
vmappp04:/ on /data/filer_01 type nfs4 (rw,addr=192.168.1.16,clientaddr=192.168.1.84)

vmappp04에 대한 목록 내보내기:

[root@vmappp11 ~]# showmount -d vmappp04
/data 192.168.1.0/24

vmappp04의 디렉터리:

[root@vmappp11 ~]# showmount -a vmappp04

vmappp04의 모든 마운트 지점:

[root@vmappp11 ~]# showmount -a 192.168.1.16

192.168.1.16의 모든 마운트 지점:

나는 서버와 클라이언트 측에서 모든 종류의 순열을 시도했습니다. 진행 방법을 잘 모르겠으면 조언해 주세요. 어떤 도움이라도 많이 필요합니다.

답변1

서버와 클라이언트에 마운트된 파일 시스템의 계층 구조가 무엇인지 명확하지 않았지만 디렉토리와 하위 디렉토리를 마운트하고 언제 어디에 마운트하는지 주의해야 합니다. 제가 보기에는 물건을 잘못 장착하고 있는 것 같습니다.

하위 디렉터리나 상위 디렉터리에 마운트하면 표시되는 결과 유형이 생성됩니다. 서버의 마운트 지점 "아래"에 파일을 저장하는 것이 가능합니다. 예를 들어 /data가 디스크에 마운트된 경우 클라이언트를 통해 저장하는 파일은 /data가 마운트되기 "전에" 존재하는 /data, 즉 /에 저장됩니다. 서버의 /가 3.8G인가요?

마운트 지점의 하위 디렉토리는 다르게 처리되므로 마운트하지 않을 것입니다. 마운트하려는 각 디렉터리를 별도로 내보내야 합니다.

또한 해당 fstab에 따르면 vmappp04:/data가 아닌 vmappp04:/를 마운트하는 것으로 보입니다. 이로 인해 이 문제도 발생합니다.

관련 정보