NFS (네트워크 파일 시스템)
- 네트워크를 통해 원격지 서버에서 공유된 자원(파일 시스템)을 localhost에 마운트해서
파일을 공유하기 위해 사용하는 프로그램
- RPC (리모트 프로시져 콜)을 이용하여 네트워크 상에 위치한 다른 컴퓨터의 프로그램에게 서비스를 요청하는데 사용되는 프로토콜
- 공유 파일 서버 사용, 대형 서비스 환경 구축 시 데이터의 일관성을 유지하기 위해 사용
NFS 서버 설정에 사용되는 파일
/etc/exports
- NFS 서버의 주 설정 파일
- NFS 서버에서 공유하는 디렉터리의 정보가 저장되어 있는 파일
/etc/fstab (NFS 서버 X, NFS 클라이언트에서 설정함)
- NFS 서버가 제공하는 디렉터리를 클라이언트에서 부팅 후에도 사용하기 위해, 정보를 저장하고 있는 파일
/etc/sysconfig/nfs
- NFS 서버에서 제공하는 NFS 관련 프로그램들이 사용하는 포트번호를 정의하고 있는 파일
nfsiod, nfs4.x-svc는 NFS 클라이언트 프로세스
1. NFS 서버 설정방법
nfs 패키지 설치
yum -y install nfs-utils
클라이언트에게 공유할 디렉터리 생성
mkdir /var/server_share
공유할 디렉터리 권한 수정
chmod 777 /var/server_share
설정 파일에 내용 추가
vi /etc/exports
/var/server_share 10.10.10.0/24(rw,sync,no_root_squash,no_all_squash)
옵션
ro : NFS 클라이언트에게 읽기만 허용
rw : NFS 클라이언트에게 읽기, 쓰기 허용
sync : 공유 디렉터리 내 파일이 수정되거나 변경되면, 바로 동기화
no_subtree_check : 공유 디렉터리 내 하위 디렉터리를 가지도록 권한 설정
no_root_squash : root(NFS 클라이언트)로 공유 디렉터리 접근 시 root(NFS 서버)와 동일하게 인식되도록 설정
root_squash : NFS 서버에서 익명의 권한으로 지정하고자 할 경우
no_all_squash : 각 사용자의 권한을 공유 디렉터리에서도 동일하게 인식하도록 설정
wdelay : 디스크 쓰기 속도를 지연시켜 데이터가 디스크에 저장되는 횟수를 줄여서 성능 향상 목적으로 사용
no_wdelay : NFS에서 사용하는 데이터의 크기가 작거나, 자주 사용한다면 가능한 빨리 디스크에 기록하도록 하는 옵션
2. /etc/fstab (부팅 후에도 NFS를 통해 마운트했던 디렉터리가 해제되지 않도록 /etc/fstab에 등록)
UUID=**-**-** / xfs defaults 0 0
2.1 마운트 옵션
default - rw, nouser, auto, exec, suid속성을 모두 설정
auto - 부팅시 자동마운트
noauto - 부팅시 자동마운트를 하지않음
exec - 실행파일이 실행되는것을 허용
noexec - 실행파일이 실행되는것을 불허용
suid - SetUID, SetGID 사용을 허용
nosuid - SetUID, SetGID 사용을 불허용
ro - 읽기전용의 파일시스템으로 설정
rw - 읽시/쓰기 전용의 파일시스템으로 설정
user - 일반사용자 마운트 가능
nouser - 일반사용자 마운트불가능, root만 가능
quota - Quota설정이 가능
noquota - Quota설정이 불가능
출처: https://movenpick.tistory.com/34 [MoVenPick]