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 서버 공유받기
리눅스 서버에서 공유받을 때와 똑같이 하면 된다. 먼저 공유받을 폴더를 생성해주자
mkdir /windowsnfs
이제 vi /etc/fstab
으로 윈도우서버를 마운트해주자
windowsserver:/windowsnfs /windowsnfs nfs defaults 0 0
그러고 mount -a
까지만 해주면 끝이다
공유가 잘 되는것도 확인된다
끝
'공부 > Storage' 카테고리의 다른 글
[iSCSI #3] Windows Server 2019에서 iSCSI Target/Initiator 구성하기 (0) | 2021.04.15 |
---|---|
[iSCSI #2] CentOS 7에서 iSCSI Target/Initiator 구성하기 (1) | 2021.04.14 |
[iSCSI #1] iSCSI 개념, 구조 정리 (0) | 2021.04.14 |
[Storage] DAS / NAS / SAN 차이 요약 (0) | 2021.04.12 |
[NFS #2] Windows Server 2019에 NFS 서버/클라이언트 구축하기 (+ NFS 포트 정리) (1) | 2021.04.12 |
댓글