SharedIT | 묻고 답하기(AMP)

NFS서버랑 클라이언트가 동기화가 안되요

각각의 웹서버에 같은 서비스를 운영하고 있습니다.

!번 서버에선 NFS서버가 구동되고 2번 서버에서 1번서버를 마운트 하여 이미지파일을 업로드 합니다.


그럼 1번 서버에서 해당 이미지파일을 받아 원본파일과 썸네일을 생성하여 저장하는데

썸네일은 정상적으로 생산되고 있으나 원본파일이 NFS서버와 클라이언트간 상이합니다.


NFS 서버

rwxrwxrwx 0 apache apache 188902 2019-11-14 21:42 15039871

exoirtfs  내용 (rw,sync,no_wdelay,anonuid=48,anongid=48)


NFS 클라이언트

-rw-r--r-- 1 apache apache 210818 Nov 15 16:17 1503987

마운트 옵션

nfs (rw,sync,lookupcache=none,vers=4,proto=tcp,noac,acdirmin=10,acdirmax=60


각각의 파일을 강제로 퍼미션을 777로 설정해서 클라이언트에서 파일을 업로드 했습니다만

클라이언트만 수정되고 NFS서버엔 변동사항이 없습니다.


참고로 NFS서버를 재부팅 하면 일시적으로 동기화가 되는거 같은데 시간이 지나면 같은 증상이 발생됩니다.

혹시 원인이나 해결방법을 아시는분 계실까요?

Tags : 태그가 없습니다.

3개의 답변이 있습니다.

Genghis Khan
  0 추천 | 4년 이상 전

권한 문제인듯 합니다.

root / apache

test : root로 디렉토리 만든 후 파일 저장 동일하게 서버1과 서버2에서 test

그리고 /etc/fstab  관련내용 저장 후 reload ,

만약 위 내용이 안될시

서버 1번 /etc/fstab

0.0.0.0:/data/image /data/image nfs defaults,soft,bg,nosuid,_netdev,rsize=8192,wsize=8192,timeo=100 0 0

서버 2번에 exports

/data/image/  0.0.0.0(rw,sync,no_root_squash,no_subtree_check)

이렇게 test 해보세요

namsa87 | 4년 이상 전

신규 파일생성은 잘 됩니다. 이러한 증상은 nfs서버를 재부팅하면 정상적으로 작동 되다가 시간이 지나면서 nfs에 캐시가 쌓이면서 문제가 발생됩니다.
양성환
  0 추천 | 4년 이상 전

cdn쓰시면 해결되죠.전 당연한것같아보이네요

wansoo
  0 추천 | 4년 이상 전

NFS를 export 시켜줄 때 옵션으로 no_root_squash 를 설정해 줘야 NFS 클라이언트에서 마운트 시킬때 제대로된 권한을 가지고 NFS 서버쪽 공유 디렉터리에 접근해서 사용할 수 있을 겁니다.

리눅스 버전에 따라 ( NFS 서비스 버전에 따라이겠죠..?) 설정해줘야 하는 옵션이 조금씩 차이가 있고요.

우분투 쪽 계열에서 export 해 줄때 주로 사용하는 옵션은 rw,no_root_squash,no_subtree_check 정도를 주고 있고...

Solaris, CentOS, ubuntu 등 다양한 OS를 NFS 서버로 사용해 보았는데...

rw옵션과 no_root_squash 옵션 둘 모두를 항상 포함시켜서 export 시켜줘야 클라이언트에서 접근해서 사용하는데 큰 무리가 없었던걸로 기억되네요.

namsa87 | 4년 이상 전

알려주신데로 no_root_squash 로 설정을 해도 증상이 같습니다. 이게 동기화가 안된다기 보다 클라이언트에서 이미지 업로드시 썸네일 생성까지 마운트 된 폴더에 정상적으로 생성되며 당연히 nfs서버에도 정상적으로 생성됩니다. 다만 원본 이미지는 클라이언트에선 잘 보이나 nfs서버에서는 캐시된 이미지파일이 존재하네요. 클라이언트에서 해당 이미지파일 지우고(nfs서버에서도 사라진거 확인) 다시 업로드 해도 기존에 업로드 된 이미지파일이 그대로 존재합니다.