넷기어 ReadyNAS Ultra 6에서 NFS 설정 변경(심볼릭 링크 오류 관련) IT/잡담

얼마전에 넷기어 ReadyNAS Ultra 6의 nfs 연결에서 파일이 많은 디렉토리를 조회할 때 "Too many levels of symbolic links" 오류 메세지가 나와서 이것을 해결하려고 이리저리 찾아 보다가 결국 NAS의 ssh 접속을 활성화시키고 nfs를 sshfs로 바꿨다. 이 과정에 대한 자세한 내용은 이전 게시물을 참고하자. 여기로

그러던 중에 우연히 "Too many levels of symbolic links" 오류의 원인일 수도 있는 부분을 발견했다.

ssh 접속을 해서 살펴 보니 nfs로 공유된 디렉토리가 실제 디렉토리가 아니고 심볼릭 링크(symbolic link)다. 즉, nfs 클라이언트에서 해당 디렉토리에 접근할 경우 심볼릭 링크를 통하게 되어 있는 것. nfs로 연결된 디렉토리에서 심볼릭 링크를 만든 적이 없는데 왜 심볼릭 링크 관련 오류가 발생하는지 이해가 되지 않았는데 아마도 이 부분 때문이었던 모양이다.

현재 NAS에 nfs로 공유된 디렉토리의 이름이 NAS_DATA인데, 이 디렉토리에 대응하는 항목이 2개가 있었다. 실제 디렉토리인 /c/NAS_DATA, 그리고 이 디렉토리로 연결된 심볼릭 링크인 /NAS_DATA.

# 루트 디렉토리(/)에서 심볼릭 링크 확인
ls -l / | grep "^l"
...
lrwxrwxrwx root root ... NAS_DATA -> /c/NAS_DATA
...

nfs 공유 설정이 저장되어 있는 /etc/exports 파일을 보니 심볼릭 링크가 공유되어 있다.

# /etc/exports 파일 내용 확인
cat /etc/exports
"/NAS_DATA" ...

아무래도 이 부분이 문제가 아닐까 싶어 심볼릭 링크가 아닌 실제 디렉토리를 nfs로 공유하도록 설정했다. 일단 NAS와의 모든 nfs 연결을 해제한 후, NAS에 ssh로 접속해서 아래와 같이 작업

# NAS와의 nfs 연결 해제
sudo umount ~/NAS_DATA
# NAS(IP주소 192.168.0.10)에 ssh 접속
ssh root@192.168.0.10
# /etc/exports 파일 백업
cp /etc/exports /etc/exports.bak
# /etc/exports 파일 수정
vi /etc/exports

/etc/exports 파일에서 공유 항목을  "/NAS_DATA"에서 "/c/NAS_DATA"로 변경하고 저장했다.

저장을 마친 후 init 명령으로 NAS를 재기동.

#NAS 재기동
init 6

클라이언트쪽에서도 nfs 마운트를 할 때도 변경 사항을 반영했다다.

# NAS의 /c/NAS_DATA 디렉토리를 ~/NAS_DATA에 연결
sudo mount -t nfs 192.168.0.10:/c/NAS_DATA_NAS ~/NAS_DATA

이렇게 해 놓고 시험해 보니, 파일이 수만개씩 되는 디렉토리에서도 "Too many levels of symbolic links" 오류가 발생하지 않는다!



덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

39703
2864
1813372

ad_widget_2