Home NFS 서버/클라이언트 설정
Post
Cancel

NFS 서버/클라이언트 설정

NFS 서버에서는 ‘sync’ 옵션을 사용하여 데이터의 일관성을 보장하는 반면, NFS 클라이언트에서는 ‘async’ 옵션을 사용하여 성능을 향상 시키기 위해 입출력 작업을 비동기적으로 처리

NFS Server (DB Server)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 1. 디렉터리 생성
sudo mkdir -p /fsnfs/share /fsnfs/user
ln -s /fsnfs /mnt/repo

# 2. NFS 서버 서비스 기동
sudo dnf install -y nfs-utils
sudo systemctl start nfs-server
sudo systemctl enable nfs-server

# 3. exports 파일 설정
sudo vi /etc/exports

/mnt/repo/share [NFS 클라이언트 호스트 아이피 혹은 도메인](rw,sync,no_root_squash)
/mnt/repo/user [NFS 클라이언트 호스트 아이피 혹은 도메인](rw,sync,no_root_squash)

# 4. 수정 내용 반영
sudo exportfs -r

# 5. 공유 디렉토리 확인
sudo exportfs -v

# 참고) 방화벽이 내려가 있어야함
sudo systemctl stop firewalld
sudo systemctl disable firewalld
  • 공유 옵션
    • ro → 읽기 권한만 부여
    • rw → 읽기 쓰기 권한 부여
    • root_squash  → 클라이언트에서 root를 서버상의 nobody 계정으로 매핑
    • no_root_squash  → 클라이언트 및 서버의 root를 동일하게 사용
    • no_root_squash vs. root_squash (more)
      • no_root_squash는 NFS 서버의 보안 설정 중 하나로, 클라이언트에서 NFS 공유 디렉터리에 루트 사용자(root)로 접근할 때 루트 사용자의 UID와 GID를 변경하지 않는 옵션입니다. 이 옵션을 사용하면 클라이언트의 루트 사용자가 공유된 디렉터리에 대해 루트 권한을 가진 채로 작업할 수 있습니다.
      • 기본적으로 NFS 서버에서는 root_squash라는 옵션이 활성화되어 있습니다. 이 옵션은 클라이언트의 루트 사용자가 NFS 공유 디렉터리에 접근할 때, 루트 사용자의 UID와 GID를 일반 사용자의 UID와 GID로 매핑하여 보안을 강화하는 것을 의미합니다. 이로써 클라이언트의 루트 사용자가 공유 디렉터리에서 잠재적으로 위험한 작업을 수행하는 것을 제한합니다. no_root_squash를 사용하면 루트 사용자의 UID와 GID가 변경되지 않으므로, 클라이언트의 루트 사용자는 NFS 공유 디렉터리에 대해 전체적인 권한을 가질 수 있습니다.
  • exportfs -r
    • 모든 공유 디렉터리를 다시 내보내고, /var/lib/nfs/etab과 /etc/exports 파일, 그리고 /etc/exports.d 디렉터리 밑의 모든 파일들에 대한 동기화 한다.

NFS Client (ML Server)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 1. 디렉터리 생성
sudo mkdir -p /mnt/repo/share /mnt/repo/user

# 2. NFS 유틸 설치
sudo dnf install -y nfs-utils

# 3. fstab 등록
sudo vi /etc/fstab

[NFS 서버 호스트 아이피]:/mnt/repo/share /mnt/repo/share nfs nolock,noacl,async,noatime,_netdev 0 0
[NFS 서버 호스트 아이피]:/mnt/repo/user /mnt/repo/user nfs nolock,noacl,async,noatime,_netdev 0 0

# 4. fstab 적용
sudo mount -a

# 5. nfs 서버 내보내기된 목록 확인
showmount -e [NFS 서버 호스트 아이피]

# 6. 확인
df -h
This post is licensed under CC BY 4.0 by the author.