64. Use Remote Filesystems (NFS)
개요
NFS(Network File System) 프로토콜은 Linux 시스템이 네트워크를 통해 파일을 공유할 수 있게 합니다. 설정은 두 가지 구성요소로 이루어집니다: 디렉토리를 공유하는 NFS 서버와 원격 파일시스템을 마운트하는 NFS 클라이언트.
NFS 서버 설정
설치
서버 패키지 설치:
sudo apt install nfs-kernel-server
공유 정의
/etc/exports 파일을 편집하여 공유할 디렉토리를 지정합니다. 구문:
- 디렉토리 경로 (예:
/nfs/disk1/backups) - 허용된 클라이언트 (호스트명, FQDN, IP 주소)
- 필요 시 CIDR 범위 (예:
10.0.16.0/24) - 괄호 안에 내보내기 옵션
설정 예시:
"/nfs/disk1/backups" hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
주요 내보내기 옵션
| 옵션 | 설명 |
|---|---|
rw | 읽기-쓰기 접근 허용 |
ro | 읽기 전용으로 제한 |
sync | 작업 확인 전 스토리지에 데이터 쓰기 |
async | 더 빠르지만 위험한 비동기 쓰기 |
no_subtree_check | 파일 이동/이름 변경 문제 방지 |
no_root_squash | 클라이언트 root 권한 유지 (보안 고려 필요) |
변경 후 설정 갱신:
sudo exportfs -r
sudo exportfs -v # 현재 내보내기 확인
NFS 클라이언트 설정
설치
클라이언트 유틸리티 설치:
sudo apt install nfs-common
공유 마운트
원격 디렉토리 마운트:
sudo mount 127.0.0.1:/etc /mnt
sudo umount /mnt # 언마운트
영구 마운트
부팅 시 자동 마운트를 위해 /etc/fstab에 항목 추가:
127.0.0.1:/etc /mnt nfs defaults 0 0
필드: 소스, 마운트 포인트, 파일시스템 타입, 옵션, dump 플래그, pass 번호.
주요 고려사항
서버와 클라이언트 시스템 간 NFS 트래픽을 허용하는 방화벽 규칙이 설정되어 있는지 확인하세요.