본문 바로가기
공부/Storage

[NFS #1] CentOS 7에 NFS 서버/클라이언트 구축하기

by haejang 2021. 4. 12.
728x90
728x90

 

NFS란?

Network File System

원격 호스트의 파일을 공유해서 사용하는 파일 시스템이다

즉, 여러 호스트에서 한 디렉토리를 공유해 같이 사용할 수 있다

 

실습 미리보기

AWS에서 진행

 

 

NFS Server와 Client를 각각 Linux와 Windows에 하나씩 총 4개의 호스트를 구성한다

각각의 hostname과 내부IP는 아래와 같으며, Server들은 Client들에 대한 2049 포트를 허용해줘야 한다

  Linux (CentOS 7) Windows Server 2019
NFS Server linuxserver
172.31.0.10
windowsserver
172.31.0.20
NFS Client linuxclient
172.31.0.30
windowsclient
172.31.0.40

이번 글에서는 Linux, 그 중에서도 CentOS 7에서 NFS Server와 Client를 구축해볼 것이다

 

목차

1. NFS Server 설정

2. NFS Client 설정

3. 확인

4. 윈도우 NFS 서버 공유받기


1. NFS Server 설정

먼저 공유할 폴더를 하나 만들어보자

mkdir /linuxnfs

그리고 vi /etc/hosts로 클라이언트들의 호스트네임을 등록해주자

172.31.0.10     linuxserver
172.31.0.30     linuxclient
172.31.0.40     windowsclient

vi /etc/exports로 공유 디렉토리의 권한을 설정해준다

/linuxnfs       172.31.0.30(rw,no_root_squash,sync)
/linuxnfs       172.31.0.40(rw,no_root_squash,sync)

 

 

괄호 안의 내용들은 권한 옵션들인데, 주요 옵션들은 아래와 같다

  • ro : 읽기 전용 (default)
  • rw : 읽기/쓰기
  • root_squash : 클라이언트의 root를 서버의 nobody 권한으로 설정 (default)
  • no_root_squash : 클라이언트의 root를 서버의 root 권한으로 설정
  • sync : 데이터 변경을 동기식으로 처리 (default)
  • async : 데이터 변경을 비동기식으로 처리

이제 rpcbind > nfs-server 순서대로 실행시켜주기만 하면 된다

systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs-server
systemctl start nfs-server
더보기

RPC (Remote Procedure Call)

동적으로 서비스와 포트를 연결할 때 사용하는 방법

NFS가 동작할 때 well-known 포트를 사용할 수 없기 때문에 /etc/rpc에 기록된 서비스를 rpcbind로 묶어서 요청이 들어올 시 연결시켜주는 역할을 함

 

 

2. NFS Client 설정

먼저 공유받을 폴더를 똑같이 만들어주자

mkdir /linuxnfs

vi /etc/hosts로 호스트네임들을 등록해주자 (나중에 공유받을 windowsserver도 함께 등록)

172.31.0.10     linuxserver
172.31.0.20     windowsserver
172.31.0.30     linuxclient
172.31.0.40     windowsclient

vi /etc/fstab을 통해 nfs 폴더를 마운트시켜준다 (그냥 mount 명령으로 해도 무관)

linuxserver:/linuxnfs   /linuxnfs       nfs     defaults        0 0

 

 

mount -a 명령으로 마운트 시켜주면 Client 설정도 끝난다

 

 

3. 확인

client든 server든 파일 하나를 만들어서 /linuxnfs 폴더에 만들어주자

echo "Hello I'm linuxclient" >> /linuxnfs/lc.txt

다른 호스트에서 확인해보면

 

 

잘 공유되고 있는걸 확인할 수 있다

 

4. 윈도우 NFS 서버 공유받기

윈도우 NFS 서버는 이 글에서 만들고 오자

리눅스 서버에서 공유받을 때와 똑같이 하면 된다. 먼저 공유받을 폴더를 생성해주자

mkdir /windowsnfs

이제 vi /etc/fstab으로 윈도우서버를 마운트해주자

windowsserver:/windowsnfs   /windowsnfs       nfs     defaults        0 0

그러고 mount -a까지만 해주면 끝이다

 

공유가 잘 되는것도 확인된다

 

728x90
728x90

댓글