[리눅스마스터1급2차] NFS

gosu·2023년 10월 31일
0
post-thumbnail

NFS란?

  • TCP/IP 네트워크 상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유하는 서버 프로그램입니다.
  • 상대방의 파일 시스템 일부를 자신의 디렉터리처럼 사용합니다.

NFS 세팅

  1. 설치
  • rpcbind : RPC 기반 연결을 위해 필요한 패키지입니다.
  • nfs-utils : NFS 서버 관련 패키지로 관련 데몬 및 명령어를 포함합니다.
  1. NFS 서버 설정
  • service rpcbind start
  • service nfs start

/etc/exports

  • NFS 환경설정 파일
  • 외우는 법 : D-F 순이므로, "디피헬만" 알고리즘으로 외웠습니다.
공유할디렉터리 허가할호스트(옵션) [허가할호스트(옵션)]
  • ro / rw : read only, read write
  • root_squash : root 사용자를 nobody 사용자로 취급
  • no_root_squash : root 사용자를 인정
  • all_squash : root 사용자를 포함하여 모든 사용자의 권한을 nobody 사용자로 취급
  • no_all_squash : 모든 유저에게 동일 권한을 줌
  • anonuid / anongid : 접근하는 사용자 / 그룹 권한을 지정하는 uid로 매핑
/nfsdata 192.168.5.13
/nfsdata1 192.168.5.0/255.255.255.255(rw,root_squash)
/nfsdata2 192.168.12.0/24(rw, no_root_squash)
/nfsdata1 *.mohaemookji.com(rw,all_squash)
/ master(rw) trusty(rw,no_root_squash)
/home/posein linux120(rw,all_squash,anonuid=500,anongid=500)

NFS 클라이언트 설정

mount –t nfs 192.168.5.13:/nfsdata /mnt
# 또는
mount.nfs 192.168.5.13:/nfsdata /mnt
vi /etc/fstab
192.168.5.13:/nfsdata /mnt nfs timeo=15,soft,retrans=3 0 0

rpcinfo

  • rpc 관련 정보 출력
    • -p: 등록된 rpc 프로그램의 정보 출력
    • -s: 관련 정보를 간결하게 출력
rpcinfo [option] [호스트명] 

exports

NFS 서버에 export된 디렉터리 정보를 관리
-v : 설정된 내용 자세히 출력
-r : /etc/exports에 설정된 내용을 다시 읽어들임
-a : 한번에 export된 디렉터리 호출
-u : export된 하나 이상의 디렉터리 해제

exportfs [option] [호스트명]

showmount

  • NFS 서버 마운트 관련 정보 출력
    -a : 호스트명:디렉터리 형태로 출력 (--all)
    -e [호스트명] : export된 리스트 출력 (--exports)
    -d : NFS 클라이언트에 의해 마운트된 디렉터리 목록 정보 출력 (--directories)
showmount [option] [호스트명]

nfsstat

  • NFS 관련 정보 출력. 서버와 클라이언트 모두 사용 가능
    -c : 클라이언트 관련 정보만 출력 (--client)
    -s : 서버 관련 정보만 출력 (--server)

문제1

Q. 다음은 NFS 서버의 설정파일이다. 다음 조건에 맞게 ( 괄호 ) 안에 알맞은 내용을 적으시오.(9점)

/etc/exports
( ① ) 192.168.10.10( (②), (③) )

■ 조 건

  • nfs 공유 디렉터리는 /data/nfs 이다.
  • 공유된 자원을 읽기/쓰기로 마운트 한다.
  • 클라이언트에서 루트를 서버상에 nobody 사용자로 매핑 한다.

문제1. 풀이

  1. /data/nfs
  2. rw
  3. root_squash

문제2

Q. 다음은 NFS 클라이언트에서 부팅시 NFS 서버의 파일시스템을 이용할 수 있도록 설정하는과정이다. ( 괄호 ) 안에 알맞은 내용을 적으시오.(9점)

# vi /etc/fstab
( ① ) ( ② ) ( ③ ) timeo=30,soft,retrans=5 0 0

■ 조 건

  • NFS 서버 도메인은 data.example.com이고 공유 디렉터리명은 /shared이다.
  • NFS 클라이언트에서 마운트할 디렉터리명은 /remote_data이다.

문제2. 풀이

  1. data.example.com:/shared
  2. /remote_data
  3. nfs

문제3

Q. 다음은 NFS 서버에 대한 설정이다. ( 괄호 ) 안에 알맞은 내용을 적으시오.

# vi ( ① )
( ② )

■ 조건

  • ① : NFS 서버의 설정 파일명을 절대경로로 기입한다.
  • ② : 다음의 두 가지 조건에 해당하는 관련 설정을 한 줄로 기입한다.

가. /data/presales 디렉터리를 *.example.com 도메인 대역에서 접근이 가능하고읽기, 쓰기가 가능하도록 한다.

나. NFS 클라이언트에서 root 사용자를 NFS 서버상에 root 사용자로 매핑하고읽기,
쓰기가 가능하도록 설정한다.

문제3. 풀이

  1. /etc/exports
  2. /data/presales *.example.com(rw, no_root_squash)

문제4

Q. 다음은 NFS 서버 설정에 대한 내용 이다. ( 괄호 ) 안에 알맞은 옵션을 넣으시오.

[root@ihd ~]# vi /etc/exports
/nfs_share ( ① )(rw,( ② ))

■ 조건

  • 공유 디렉터리명 : /nfs_share
  • 공유 접근 및 사용 권한 : root 사용자권한 읽기 쓰기 가능
  • 공유 접근 클라이언트 : 192.168.5.0 네트워크의 주소를 갖는 클라이언트

문제4. 풀이

  1. 192.168.5.0/255.255.255.0
  2. no_root_squash

문제5

Q. 다음은 NFS 서버 및 클라이언트에서 명령어를 사용해서 정보를 확인하는 과정이다. 조건에 맞게 ( 괄호 ) 안에 알맞은 내용을 적으시오.

가. NFS 서버에서 외부에 공유된 내용을 세부적인 설정 정보를 포함해서 자세히
출력한다.
 # ( ① )
나. NFS 클라이언트에서 NFS 서버인 192.168.12.22의 공유된 정보를 확인한다.
 # ( ② ) 192.168.12.22
다. RPC 관련 정보를 확인한다.
 # ( ③ )
라. NFS 서버 또는 NFS 클라이언트에서 NFS 관련 상태 정보를 출력한다.
 # ( ④ )

■ 조건

  • ①∼④번은 명령어 또는 명령어와 옵션 조합으로 기재한다.

문제5. 풀이

  1. exportfs -v
  2. showmount
  3. rpcinfo (또는 nfsstat -r)
  4. nfsstat

문제6

Q. 다음은 NFS 서버를 설정하는 과정이다. 조건에 맞게 ( 괄호 ) 안에 알맞은 내용을 적으시오

# vi ( ① )
/ihd ( ② ) (rw, ( ③ ) )
/kait 192.168.12.22 (rw, ( ④ ))
  • /ihd 디렉터리에 접근할 수 있는 호스트는 192.168.5.0 네트워크 대역에 속한 호스트만 허가하고, root 사용자 권한으로 읽기 및 쓰기를 허가한다.
  • /kait 디렉터리에 접근할 수 있는 호스트는 IP 주소가 192.168.12.22인 호스트만 가능하고, root 사용자를 포함해서 모든 사용자 권한은 인정하지 않는다.

문제6. 풀이

  1. /etc/exports
  2. 192.168.5.0/255.255.255.0
  3. no_root_squash
  4. all_squash
profile
개발자 블로그 ^0^

0개의 댓글