개요
구성환경
CetnOS 7.6, nfs-utils-1.3
NFS 구성절차
1. NFS 서버 구성 2. NFS 설정(/etc/exports) 3. NFS 클라이언트 구성 |
1. NFS 서버 구성
1.1 NFS 서버 설치
shell> yum install nfs-utils
1.2 서비스 활성화 및 시작
shell> systemctl enable --now nfs
2. NFS 설정
2.1 NFS 설정은 /etc/exports 파일에서 설정가능하다
공유폴더 접근노드(옵션) |
예)
# sample /etc/exports file / master(rw) trusty(rw,no_root_squash) /projects proj*.local.domain(rw) /usr *.local.domain(ro) @trusted(rw) /home/joe pc001(rw,all_squash,anonuid=150,anongid=100) /pub *(ro,insecure,all_squash) /srv/www -sync,rw server @trusted @external(ro) /foo 2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw) /build buildhost[0-9].local.domain(rw) |
2.2 옵션
- ro : 읽기 전용, 디폴트 값이다.
- rw : 읽기쓰기
- root_squash : 클라이언트가 root 권한 획득을 막는다. uid/gid가 0의 요청을 익명의 uid/gid(일반적으로 nobody)로 매핑한다. 그외 uid/gid(일반 계정)에 대해서는 해당되지 않는다. 디폴트 값이다.
- no_root_squash : 클라이언트가 root 권한 획득가능, 파일 생성시 클라이언트의 권한으로 생성됨
- all_squash : 모든 uid, gid를 익명사용자에게 매핑합니다. 디폴트 값이다.
- no_all_squash : no_root_squash 와 동일, 디폴트 값이다.
- sync : 변경 사항이 커밋된 후에만 요청에 응답(안정적인 저장), 디폴트 값이다.
- async : 요청에 의해 변경되기 전에 요청에 응답, 이 옵션을 사용하면 일반적으로 성능이 향상되지만 비용이 많이 듭니다. 부정한 서버 재시작 (예 : 충돌)으로 인해 데이터가 손상 될 수 있음
2.3 확인
- "exportfs -s"명령어로 현재 NFS 설정 정보를 확인 할수 있다.
shell> exportfs -s /sharefolder1 *(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash) /build *(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash) shell> |
2.4 변경사항 적용
- /etc/exports 파일을 수정한 경우 "exportfs -ra" 또는 NFS 서버를 재시작하여 반영
3. 클라이언트 구성
3.1 NFS 설치
shell> yum install nfs-utils
3.2 NFS 공유폴더 마운트
Syntax) mount -t nfs NFS서버IP(이름):/NFS공유폴더
예) mount -t nfs 192.168.0.167:/sharefolder1 /mountpoint
/etc/fstab 파일을 수정하여 부팅시 자동으로 마운트
192.168.0.167:/sharefolder1 /local_mountpoint nfs hard 0 0 |
** NFS 마운트 디렉토리를 구성할 때 사용자가 선택할 수 있는 사항 중 하나는 하드(-o hard) 또는 소프트(-o soft) 마운트를 수행할지 여부입니다. 디렉토리를 소프트 마운트하면 오류는 더 빨리 발견할 수 있지만, 데이터 손상이라는 심각한 위험이 뒤따릅니다. 일반적으로 읽기/쓰기 디렉토리는 하드 마운트해야 합니다.
마운트 옵션 'hard'가 설정되면 NFS 서버가 충돌하거나 응답이 없으면 NFS 요청이 무기한 재 시도됩니다. 프로세스가 중단 될 수 있도록 마운트 옵션 'intr'을 설정할 수 있습니다. NFS 서버가 다시 온라인 상태가되면 서버가 응답하지 않은 상태에서 프로세스를 계속 진행할 수 있습니다.
'soft'옵션을 설정하면 일정 시간 ( 'timeo'옵션으로 정의)을 기다린 후 NFS 서버가 응답하지 않으면 프로세스에 오류가보고됩니다. 경우에 따라 '소프트'옵션으로 인해 데이터가 손상되거나 데이터가 손실 될 수 있습니다. 따라서 hard 및 intr 옵션을 사용하는 것이 좋습니다.
'운영체제 > Unix & Linux' 카테고리의 다른 글
[Linux] iSCSI 구성 #2 - targetcli 명령어를 이용한 구성 (0) | 2020.04.21 |
---|---|
[Linux] iSCSI 구성 #1 - tgt를 이용한 구성 (0) | 2020.04.20 |
[Debian] apt-get 과 dpkg 를 활용한 패키지 관리 (0) | 2020.03.20 |
[Ubuntu] Ubuntu 18 네임서버 설정 (0) | 2020.03.18 |
virbr0 인터페이스 삭제 (0) | 2020.03.16 |