728x90

NFS를 사용하여 디렉터리를 공유할 때는 /etc/exports 파일을 필히 다루게 된다.

또한 이를 수정해준 후 exportfs 명령어를 통해 적용하기도 한다.

 

# 엔트리 추가
vim /etc/exports

# 추가한 내용 클라이언트에 반영
exportfs -ra

 

이때 내가 직면한 에러는 세 가지이다.

  1. /etc/exports 파일에 엔트리를 분명 추가해주었는데, exportfs 명령어를 사용해 반영하려고 하면 추가가 되지 않는다.
    클라이언트에서 showmount -e를 통해 확인해봐도 뜨지 않는다.
  2. 그래서 NFS가 제대로 돌고 있는지 확인해보니, 제대로 돌고 있지 않다.
  3. 그래서 NFS 데몬을 실행시키려 하면 "Job for nfs-server.service canceled."가 뜬다.

사진을 통해 설명하지면,

/etc/exports

이처럼 ## 추가 ## 부분을 새롭게 추가한 후 exportfs를 해주었는데

exportfs -ra 실행 결과

추가한 부분이 반영되지 않고

 

이처럼 NFS서버의 상태를 확인해보면 Active: failed (Result: exit-code)가 뜨며 제대로 돌고 있지 않고

 

데몬을 시작하려고 하면 "Job for nfs-server.service canceled."가 뜬다.

 

 

구글링을 해보니 허무하게도 원인은 간단했다.

exports 파일에 있는 엔트리의 디렉터리가 존재하지 않거나, 입력 형식을 잘못 준 것이다.

 

위의 사진을 다시 보면

/etc/exports

 

나는 NFS로 여러 실험을 돌리다 보니 마운트 하는 디렉터리가 자주 바뀐다.

나같은 경우 /home/student1/cluster0이라는 디렉터리가 존재하지 않았다.

예전에 쓰고 지웠던걸 까먹은 것이다.

애초에 No such directory같은 메시지가 나오지 않아서 당연히 있는줄 알았는데, 로그를 까보니 비로소 등장했다.

# 로그 확인
cat /var/log/syslog

 

또한 NFS 관련 데몬들의 상태를 확인해봤을 때도 마찬가지다.

# NFS 관련 데몬 상태 전부 확인
systemctl status nfs*

open pipe file /run/rpc_pipefs/nfs/blocklayout failed: No such file or directory

 

 

 

다른 레퍼런스를 보니, exports 파일 엔트리 옵션을 주는 부분에서 공백을 사용해도 오류가 난다고 한다.

예를 들어

home/test_user3                cluster2(rw, async,anongid=1500, no_subtree_check)

처럼 괄호 안에 공백이 있으면 안된다.

 

오늘도 에러 없는 하루를 보내시길!

728x90

+ Recent posts