일단은 프로그래머 나부랭이

Centos 7 NFS 설정 방법 본문

Linux

Centos 7 NFS 설정 방법

하필이면 도대체가 2020. 11. 16. 19:24

NFS란 Network File System의 줄임말로, 쉽게 말하면 네트워크 공유 드라이브이다.
가령 A 서버의 저장 공간이 1TB이고, B서버의 저장 공간이 100GB일 때, NFS를 설정하면 A서버의 저장공간를 B서버에 공유하여 활용할 수 있는 것이다.

 

설정 방법은 서버(위의 예시에서 A서버 역할)와 클라이언트(B서버 역할)로 나누어 설명한다.

[서버]

1. nfs 설정을 위한 별도의 계정을 생성 (root등의 기존 계정을 사용하여도 무관)
2. yum install nfs-utils nfs-utils-lib && systemctl start nfs-server && systemctl start rpcbind && systemctl enable nfs-server && systemctl enable rpcbind
 - nfs 관련 package 설치 및 서비스 start
3. 공유 디렉토리 생성 및 권한 설정 (권한은 755 이상이면 충분할 것, 안되면 777)
 - mkdir /nfs
4. /etc/exports에 아래와 같이 공유 dir을 추가
/nfs 192.168.0.* [또는 특정 ip지정 가능](rw,all_squash,anonuid=1001,anongid=1001,sync,insecure)
 - rw : 읽기 쓰기 권한 부여
 - all_squash : 모든 접근을 익명 접근으로 설정 ('no_root_squash' 로 설정할 경우 서버와 클라이언트의 모든 접근은 root 로 간주한다, 'root_squash' 로 설정할 경우 root 접근은 익명으로 처리한다.)
 - anonuid : 익명으로 접근시, 파일의 소유주를 지정된 uid로 설정 (설정하지 않을 경우, 클라이언트에서 접근한 계정의 uid와 동일한 계정으로 처리한다.)
 - anongid : 익명으로 접근시, 파일의 소유 그룹을 지정된 gid로 설정 (설정하지 않을 경우, 클라이언트에서 접근한 계정의 gid와 동일한 계정으로 처리한다.)
 - sync : 싱크 맞춤
 - insecure : directory를 사용자 인증없이 접근이 가능하게 함
5. nfs-server 서비스 restart (혹은 reload)
6. 방화벽에 nfs 서비스 추가
 - firewall-cmd --permanent --add-service=nfs && firewall-cmd --reload

 

[클라이언트]

1. mount할 디렉토리 생성
 - mkdir /nfs
2. /etc/fstab 을 열어 아래의 내용을 추가한다.
 - [NFS서버IP주소]:/[공유디렉토리]    /[마운트디렉토리]    nfs     defaults    0 0
 - ex : 192.168.0.1:/nfs /nfs nfs defaults 0 0
3. mount -a
또는 mount -t nfs 192.168.0.1:/nfs /nfs

 

만약 클라이언트에서 mount를 시도할 때, mount가 제대로 안 될 경우, 서버측의 설정이나 방화벽을 다시 확인해보도록 한다.


Comments