NFS

NFS

Install

sudo dnf update -y sudo dnf install nfs-utils -y ### 서버 공통 설정 # 기동 및 시작 프로그램 등록 systemctl enable nfs-server systemctl start nfs-server # 디렉토리 생성 mkdir -p /var/shared_home # 디렉토리 공유 설정 vi /etc/exports # rw: 읽고 쓰기 가능, no_root_squash: 클라이언트가 root 권한 획득 # 10.220.0.0/24로 전체 서브넷 허용 /var/shared_home 10.220.0.0/24(rw,no_root_squash) # 반영 exportfs -r # 확인 showmount -e Export list for node1: /var/shared_home 10.220.0.0/24 Export list for node2: /var/shared_home 10.220.0.0/24 # 서버에 마운트 (클라이언트 서버에서 실행) # node2번을 클라이언트로 설정 # node2 sudo mount -t nfs -o vers=4 10.220.0.60:/var/shared_home /var/shared_home # fstab에 등록(재시작 시 마운트 풀려버리는 것 방지) # 각 서버에서 모두 진행 vi /etc/fstab # default 기본 마운트 옵션 # _netdev 네트워크 디바이스가 올라온 후에 마운트 # vers=4 NFSv4 사용 # 0 0 첫번째 0, dump 사용 안 함, 두번째 0 fsck 점검 안 함 # 네트워크 마운트는 fsck를 할 수 없어서 0 0으로 고정됨 10.220.0.60:/var/shared_home /var/shared_home nfs defaults,_netdev,vers=4 0 0

 

트러블슈팅? NFS 개념 굳히기

(GPT의 도움을 받아서 정리했습니다)

📍 발생한 문제 및 증상

두 서버 모두 /var/shared_home 디렉토리를 만들고, NFS로 서로 마운트 시도

  1. /etc/exports에는 다음과 같이 설정함 (와일드 카드를 사용해 모든 접속 허용 시도):

/var/shared_home *(rw,no_all_squash)

한쪽 서버는 정상적으로 마운트되나, 다른 한쪽은 아래 오류 발생:

mount.nfs: access denied by server while mounting 10.220.0.6x:/var/shared_home
  1. exportfs -v 결과에서는 root_squash가 적용되어 있었고

마운트한 디렉토리 권한은 nfsnobody였음 (root 권한이었다가 nfsnobody 사용자를 추가해 소유권자를 변경하였던 상태)

이후 61번 서버에서 마운트를 해제한 뒤,
60번 서버에서 다시 61번을 마운트하려 하자 다음 오류 발생:

mount.nfs: mounting 10.220.0.61:/var/shared_home failed, reason given by server: No such file or directory
  1. 에러 수정 후 /etc/fstab에서 마운트를 추가. /etc/exports에서 와일드 카드 대신 서브넷 대역폭으로 설정.

/var/shared_home 10.220.0.0/24(rw,no_all_squash)

/etc/fstab에서 다음과 같이 설정

10.220.0.0/24:/var/shared_home /var/shared_home nfs defaults,_netdev,vers=4 0 0

확인을 위해 sudo mount -a을 했을 때 다음과 같은 에러 발생

mount.nfs: access denied by server while mounting 10.220.0.61:/var/shared_home

🔍 주요 원인 분석

문제

원인

문제

원인

마운트 접근 거부 (access denied)

NFS의 개념을 혼동해서 생긴 문제. NFS를 양방향 통신으로 생각하고 있었고, Server-Client 구조로, 한쪽에서 마운트하면 다른 쪽에서 마운트가 되지 않음. NFS는 단방향 파일 공유용 시스템. 디렉토리 충돌, 의존성 순환, mount 실패 유발로 인해 서로 mount하면 안 됨

마운트 실패 (No such file or directory)

export한 디렉토리(서버)가 실제로는 다른 서버(클라이언트)에서 이미 마운트된 상태였기 때문에 export 실패

/etc/fstab에서 서브넷 주소를 사용

에러를 수정하고 /etc/fstab에는 반드시 정확한 서버 IP나 hostname만 지정 가능. 서브넷 대역은 사용할 수 없음.

✅ 해결 방법 정리:

  1. 클라이언트 서버에서만 마운트를 함

  2. /etc/fstab 에서 서브넷 대역폭을 삭제하고 서버 역할을 IP만 넣어서 수정

🧾 최종 정리:

  • NFS는 클라이언트-서버 모델이며, 반드시 한 방향으로만 mount해야 함

  • Confluence 클러스터는 모든 노드가 하나의 shared-home 디렉토리를 사용해야 하며, 해당 디렉토리는 단일 서버에서 export되어야 함

  • mount 실패 원인의 대부분은 exports 설정 미흡, IP 오인식, fstab 오기재, 순환 마운트 시도에 있음

Add label