서버 간 파일을 공유하고 싶은 상황, 많으시죠?
이번 포스팅에서는 A 서버의 특정 디렉토리를 B 서버에서 NFS(Network File System)로 마운트하여 읽고/쓰기 가능한 환경을 구성하는 방법을 소개합니다.
목차
목표
✅ A 서버의 /home/itbiz/WORK/Ham/DNA/upload 디렉토리를
✅ B 서버에서 NFS로 마운트하여
✅ 실시간으로 읽기 및 쓰기가 가능한 상태로 만들기
✅ 1단계: A 서버에서 NFS 서버 설정 (공유 제공자)
📌 1. NFS 서버 설치
sudo apt update
sudo apt install nfs-kernel-server
📌 2. 공유할 디렉토리 확인
이미 공유할 디렉토리가 존재하므로, 바로 공유 설정을 진행합니다.
공유 대상 경로:
/home/upload
📌 3. /etc/exports 파일 설정
sudo nano /etc/exports
파일의 마지막 줄에 아래 내용을 추가합니다.
(B 서버의 IP가 192.168.0.22인 경우)
/home/upload 192.168.0.22(rw,sync,no_subtree_check,all_squash,anonuid=1001,anongid=1001)
🔍 anonuid, anongid는 공유 디렉토리의 소유자인 exampleUser 사용자의 UID/GID입니다.
정확한 UID/GID를 확인하려면:
id exampleUser
//출력예시
//uid=1001(exampleUser) gid=1001(exampleUser) groups=1001(exampleUser),27(sudo)
📌 4. 설정 적용 및 NFS 재시작
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
NFS 포트(기본 2049번)를 방화벽에서 허용하는 것도 잊지 마세요:
sudo ufw allow from 192.168.0.22 to any port nfs
✅ 2단계: B 서버에서 마운트 설정 (사용자 측)
📌 1. NFS 클라이언트 설치
sudo apt update
sudo apt install nfs-common
📌 2. 마운트 폴더 생성
sudo mkdir -p /mnt/upload
📌 3. 마운트 명령 실행
sudo mount 192.168.0.21:/home/upload /mnt/upload
⚠️ 192.168.0.21은 A 서버의 IP 주소입니다.
📌 4. 정상 동작 확인
cd /mnt/upload
touch test.txt
ls -l
test.txt 파일이 정상적으로 생성된다면 읽기/쓰기 성공! 🎉
✅ (선택) 부팅 시 자동 마운트 설정 – /etc/fstab
B 서버에서 다음 파일을 수정합니다:
sudo nano /etc/fstab
맨 아래에 아래 한 줄 추가:
192.168.0.21:/home/itbiz/WORK/Ham/DNA/upload /mnt/upload nfs defaults 0 0
✅ 요약 정리
항목 설정값
공유 디렉토리 | A 서버: /home/upload |
마운트 위치 | B 서버: /mnt/upload |
권한 문제 해결 | anonuid=1001, anongid=1001 (exampleUserUID 기준) |
실시간 접근 | 가능 (즉시 접근 가능) |
쓰기 테스트 | touch, echo 등으로 파일 생성 |
📝 마무리
이제 B 서버는 A 서버의 디렉토리를 자신의 로컬처럼 자유롭게 접근할 수 있게 되었습니다.
NFS는 간편하고 빠르지만, 내부망에서 사용할 것, 그리고 UID/GID 매핑과 권한 관리에 항상 주의해야 합니다.
필요하다면, 실시간 파일 파싱, 자동 마운트 복구, 보안 강화를 위한 추가 설정도 다룰 수 있어요. 궁금하신 점 댓글이나 문의 주세요!
'SERVER' 카테고리의 다른 글
[tomcat] intellij 이미지 로드 설정 (0) | 2025.01.02 |
---|---|
[Spring boot] web앱 리눅스 배포(gradle) (2) | 2024.01.11 |
[PM2] PM2에 대하여 (0) | 2023.05.26 |
[CentOS/Nginx] vue 배포 (0) | 2023.04.05 |
[Linux] DB 서버 재기동 (0) | 2023.01.26 |