NFS를 이용하면 네트워크로 한 서버의 저장공간을 여러 서버가 공유해서 쓸 수 있다.
1. 설치(CentOS7)
서버와 클라이언트 모두 nfs-utils를 설치한다.
# yum -y install nfs-utils
2. 서버에서 공유할 디렉토리 설정
어떤 디렉토리를 공유할건지 아래 파일에 설정한다.
$ vim /etc/exports
예시 조건,
- /home/lunit/images 디렉토리를 공유
- 모든 IP 허용
- 클라이언트에 읽고 쓰기 권한
- 클라이언트에 root 권한 주기 허용
/home/lunit/images *(rw,no_root_squash)
- * 다음에는 space가 없도록한다.
- 특정 아이피만 허용하고 싶다면
10.120.106.33(rw,no_root_squash)
와 같이 입력한다. - norootsquash, rootsquash : NFS 서버에도 root 사용자가 있을 것이고, NFS 클라이언트에도 root가 있을 것이다. 그러나 두 root가 같은 root가 될 순 없다. NFS 클라이언트의 root가 NFS 서버의 root 권한을 가질 수 없다. 따라서 기본값은 rootsquash로 클라이언트 root는 nobody와 같은 사용자로 맵핑되어 버린다. 서버와 클라언트의 root 사용자를 일치하도록 하려면 norootsquash라고 적으면 된다.
3. 서버에서 NFS 서비스 시작
$ sudo systemctl start nfs-server
$ sudo systemctl restart rpcbind
$ sudo systemctl enable nfs-server
$ sudo systemctl start nfs-lock
$ sudo systemctl enable nfs-lock
$ sudo systemctl start nfs-idmap
$ sudo systemctl enable nfs-idmap
4. 클라이언트에서 NFS 마운트
예시조건,
- 서버 아이피 : 10.120.106.34
- 서버의 공유 디렉토리 : /home/lunit/images
- 클라이언트 서버에서 마운트 위치 : /mnt/backend3d/images
$ sudo mount -t nfs 10.120.106.34:/home/lunit/images /mnt/backend3d/images
mount 명령어는 재부팅 후 마운트가 해제된다. /etc/fstab
파일에 아래 내용 추가해서 재부팅해도 마운트가 되어있도록 설정한다.
10.120.106.34:/home/lunit/images /mnt/backend3d/images nfs defaults 0 0
0 댓글