본문 바로가기

Server Story....

리눅스 서버 용량 확장: NFS 연결과 /etc/fstab 자동 마운트 완벽 가이드

반응형

NFS 연결과 /etc/fstab 자동 마운트


1. 도입 및 배경 (Why?)

서버를 운영하다 보면 로컬 디스크 용량의 한계에 부딪히거나, 여러 서버가 동일한 데이터를 공유해야 하는 상황이 발생함. 이때 가장 대중적으로 사용되는 방식이 **NFS(Network File System)**임.

하지만 단순히 mount 명령어로 연결하면 서버 재부팅 시 연결이 끊어짐. 매번 수동으로 연결할 수 없기에, 부팅 시 자동으로 원격 저장소를 내 집처럼 드나들게 해주는 /etc/fstab 설정이 필수적임.


2. 시스템 아키텍처 (What?)

원격지의 스토리지 서버를 로컬 디스크의 특정 디렉토리(Mount Point)에 논리적으로 결합하는 구조임.

 
[Storage Server (NFS)] <----(Network)----> [My Linux Server]
      /data/shared                          /mnt/nfs_storage
    (Exported Dir)                         (Mount Point)

3. 사전 준비 및 패키지 설치

NFS 기능을 사용하기 위해 클라이언트 패키지가 필요함.

Bash
 
# NFS 클라이언트 패키지 설치 (Ubuntu 기준)
sudo apt update && sudo apt install nfs-common -y

# 마운트할 로컬 디렉토리 생성
sudo mkdir -p /mnt/nfs_storage

 


4. 핵심 작업 단계 (Step-by-Step)

■ Step 1: 수동 마운트 테스트

먼저 연결이 정상적으로 되는지 확인해야 함.

Bash
 
# mount -t nfs [원격지IP]:[원격경로] [로컬경로]
sudo mount -t nfs 192.168.1.100:/data/shared /mnt/nfs_storage

# 마운트 확인
df -h | grep nfs

■ Step 2: /etc/fstab 자동 마운트 설정

재부팅 시에도 유지되도록 시스템 설정 파일에 등록함. (주의: 오타 시 부팅 불가)

Bash
 
# fstab 파일 편집
sudo nano /etc/fstab

# 파일 맨 하단에 아래 내용 추가
# [원격경로] [로컬경로] nfs [옵션] [덤프] [체크순서]
192.168.1.100:/data/shared  /mnt/nfs_storage  nfs  defaults,nofail  0  0

[핵심 팁] nofail 옵션은 매우 중요함. 만약 네트워크 문제로 스토리지 연결이 안 되더라도 서버 부팅 자체는 진행되게 해주는 '생명줄'임.

 


5. 실제 적용 및 검증 (Advanced)

설정 파일이 올바른지 재부팅 전에 반드시 검증해야 함.

Bash
 
# 현재 마운트된 모든 것을 해제 (테스트용)
sudo umount /mnt/nfs_storage

# fstab 내용을 기반으로 모두 마운트 시도
sudo mount -a

# 에러 메시지가 없다면 성공!

. . .


6. 트러블슈팅 및 삽질 기록 (Troubleshooting Log) ★

■ 에러: mount.nfs: Connection timed out

  • 상황: 원격 서버에 접속할 수 없을 때 발생함.
  • 해결: 스토리지 서버의 방화벽에서 NFS 포트(기본 2049)가 열려 있는지, 그리고 /etc/exports 설정에 내 서버 IP가 허용되어 있는지 확인해야 함.

■ 에러: 서버 재부팅 후 부팅 멈춤 (Infinite Loading)

  • 상황: nofail 옵션 없이 /etc/fstab을 설정했는데 스토리지 서버가 꺼져 있을 때 발생.
  • 해결: 리눅스 복구 모드(Single User Mode)로 진입하여 /etc/fstab의 해당 라인을 주석 처리(#)한 뒤 정상 부팅 후 수정해야 함.

7. 관련 기록 및 태그

  • [Ubuntu Server - Logrotate로 디스크 관리하기]: 늘어난 외부 저장소도 효율적으로 관리하는 법.
  • [Docker-Compose 볼륨 바인딩 가이드]: NFS 마운트 경로를 도커 컨테이너에 연결하기.
반응형