NFS를 이용하면 외부 호스트의 특정 디렉토리를 마치 로컬 디렉토리인 것처럼 마운트하여 사용할 수 있다. 쉽게 설명하면 내 컴퓨터에 폴더 하나가 있어서 마음대로 접근하고 파일을 옮길수 있는데 그 폴더는 서버-클라이언트 시스템을 이용해서 연결된 다른 컴퓨터의 폴더인 것이다. 윈도우 공유폴더와 아주 흡사하다.
NFS서버 설정
/etc/exports 설정을 통해 공유할 폴더를 설정할 수 있다. 단순히 폴더를 나열하면 된다. 허가할 호스트 등 추가 옵션을 선택할 수 있다.
/pubData 192.168.1.2
/pubData를 공유 대상으로 설정한다. 옵션에 호스트를 적으면 해당 호스트에만 공유를 허가한다는 것이다.
/someFiles 192.168.3.0/255.255.255.0(rw,root_squash)
/someFiles를 공유 대상으로 설정한다. 192.168.3으로 시작하고 255.255.255.0의 넷마스크를 가진 모든 호스트에게 공유를 허가한다. rw옵션을 통해 읽기 쓰기를 허용한다. root_squash옵션을 통해 클라이언트의 root 권한을 무시하고 nobody권한을 부여한다.
이렇게 호스트 지정 외에도 다양한 옵션들이 있다.
주요 옵션
ro |
읽기 전용으로 공유한다. |
rw |
읽기 쓰기를 허용한다. |
root_squash |
클라이언트의 root권한을 무시한다. |
no_root_squash |
클라이언트의 root권한을 인정한다. |
all_squash |
모든 권한을 무시하고 nobody권한을 부여한다. |
no_subtree_check |
하위 디렉터리를 검사하지 못하도록 한다. |
secure |
포트 번호 1024 이하의 요청에만 허가한다. |
async |
데이터 변경에 대비해 비동기처리되도록 한다. |
anonuid |
접근하는 사용자 권한을 특정 uid로 매핑시킨다. |
anongid | 접근하는 그룹 권한을 특정 gid로 매핑시킨다. |
# exportfs
익스포트 목록을 관리할 수 있다. 단순히 export라고 하면 export된 목록을 조회한다.
NFS 클라이언트 설정
1. mount 명령어를 이용할 수도 있고 mount.nfs 명령어를 이용할 수도 있다.
# mount -t nfs 192.168.1.2:/pubData /mnt/data
# mount.nfs 192.168.1.2:/pubData /mnt/data
위 두 명령어 모두 192.168.1.2 호스트에 있는 /pubData 디렉토리를 로컬 디렉토리인 /mnt/data 폴더로 마운트 시키는 기능을 한다.
2. /etc/fstab 파일에 등록하는 방법도 있다.
192.168.1.2:/pubData /mnt/data nfs soft 0 0
디바이스명 마운트포인트 파일시스템 종류 옵션* 덤프여부 fsck체크여부
tab단위로 구분되며, mount명령어와 흡사하게 리모트 대상폴더, 마운트 폴더를 적어준다. 그리고 각종 옵션을 명시할 수 있다.
*주요 옵션
timeo : 타임아웃 발생 시 재전송 요구를 보내는 시간으로 1/10초 단위
retrans : 타임아웃 발생 시 재전송 요구 횟수
soft : 위 retrans 설정 횟수만큼 재요청을 시도한다.
hard : retrans와 무관하게 무한정 재시도 한다. 즉 retrans는 soft옵션일때만 사용되는 옵션이다. retrans와 soft를 명시하지 않으면 기본적으로 hard옵션이다.
resize : 한번에 읽어들이는 버퍼 바이트값
wsize : 한번에 쓰는 버퍼 바이트값
fg : Foreground 형태로 마운트를 실행하고, 실패하면 중단한다.
bg : 마운트에 실패하면 Background로 마운트를 다시 시도한다.
# showmount
마운트된 목록을 조회한다.
# showmount -e : 서버에서 익스포트된 목록을 조회한다.
# showmount -a : 모든 원격 마운트 정보를 보여준다.
'IT 실무 > 서버 관리' 카테고리의 다른 글
[리눅스] tar 파일 압축, 해제하기 및 기본 개념 (0) | 2018.03.06 |
---|---|
[리눅스마스터] squid 프록시 서버 (0) | 2018.03.06 |
rsyslog.conf 예제파일, 설정법 설명 (0) | 2018.03.03 |
리눅스 모듈 관리(lsmod, modprobe 등) (0) | 2018.03.03 |
리눅스 shadow 파일 및 gshadow 파일 구조 (0) | 2018.03.01 |
댓글