본문 바로가기

운영체제/Unix & Linux

[Linux] NFS 구성

반응형

개요

구성환경

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 옵션을 사용하는 것이 좋습니다.

 

반응형