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로 서로 마운트 시도
/etc/exports
에는 다음과 같이 설정함 (와일드 카드를 사용해 모든 접속 허용 시도):
/var/shared_home *(rw,no_all_squash)
한쪽 서버는 정상적으로 마운트되나, 다른 한쪽은 아래 오류 발생:
mount.nfs: access denied by server while mounting 10.220.0.6x:/var/shared_home
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
에러 수정 후
/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
🔍 주요 원인 분석
문제 | 원인 |
---|---|
마운트 접근 거부 ( | NFS의 개념을 혼동해서 생긴 문제. NFS를 양방향 통신으로 생각하고 있었고, Server-Client 구조로, 한쪽에서 마운트하면 다른 쪽에서 마운트가 되지 않음. NFS는 단방향 파일 공유용 시스템. 디렉토리 충돌, 의존성 순환, mount 실패 유발로 인해 서로 mount하면 안 됨 |
마운트 실패 ( | export한 디렉토리(서버)가 실제로는 다른 서버(클라이언트)에서 이미 마운트된 상태였기 때문에 export 실패 |
| 에러를 수정하고 |
✅ 해결 방법 정리:
클라이언트 서버에서만 마운트를 함
/etc/fstab
에서 서브넷 대역폭을 삭제하고 서버 역할을 IP만 넣어서 수정
🧾 최종 정리:
NFS는 클라이언트-서버 모델이며, 반드시 한 방향으로만 mount해야 함
Confluence 클러스터는 모든 노드가 하나의 shared-home 디렉토리를 사용해야 하며, 해당 디렉토리는 단일 서버에서 export되어야 함
mount 실패 원인의 대부분은 exports 설정 미흡, IP 오인식, fstab 오기재, 순환 마운트 시도에 있음