본문 바로가기
SERVER

[linux] 서버 간 디렉토리 공유: NFS로 A 서버 디렉토리를 B 서버에서 마운트하기

by amoomar 2025. 4. 1.
반응형

 

 

 

 

서버 간 파일을 공유하고 싶은 상황, 많으시죠?
이번 포스팅에서는 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