nfs 를 이용한 파일공유

21
NFS 를 를를를 를를를를 SPARCS 12 naldo

Upload: warner

Post on 14-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

NFS 를 이용한 파일공유. SPARCS 12 naldo. NFS. Network File System 의 약자 다른 서버에서 공유한 디렉토리를 마운트하여 자신의 디렉토리처럼 사용하는 것 RPC(Remote Procedure Call) 기반 시스템 한 프로그램이 네트워크 상의 다른 컴퓨터에 위치하고 있는 프로그램에 서비스를 요청하는데 사용되는 프로토콜. NFS. 1980년대 Sun Microsystems에서 처음으로 개발됨 유닉스에서 파일을 공유하기 위해 만들어짐 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: NFS 를 이용한 파일공유

NFS 를 이용한 파일공유

SPARCS 12

naldo

Page 2: NFS 를 이용한 파일공유

NFS

Network File System 의 약자

다른 서버에서 공유한 디렉토리를 마운트하여 자신의 디렉토리처럼 사용하는 것

RPC(Remote Procedure Call) 기반 시스템 한 프로그램이 네트워크 상의 다른 컴퓨터에 위치하고 있는

프로그램에 서비스를 요청하는데 사용되는 프로토콜

Page 3: NFS 를 이용한 파일공유

NFS

1980 년대 Sun Microsystems 에서 처음으로 개발됨

유닉스에서 파일을 공유하기 위해 만들어짐

Windows Services for UNIX – Windows 용

Page 4: NFS 를 이용한 파일공유

PORTMAPPER

RPC(Remote Procedure Call) 사용시 포트가 동적으로 할당됨

Portmapper 를 이용하여 할당된 포트를 클라이언트에게 알림

데몬 상태로 대기 하다가 요청 시 Bind 역할을 함

Page 5: NFS 를 이용한 파일공유

NFS 서버

Page 6: NFS 를 이용한 파일공유

NFS 서버 구축

NFS 서버와 Client 서버 양 쪽 다 설정이 필요함

NFS 서버에서는 공유할 디렉토리와 그 디렉토리를 마운트 가능한 서버를 지정

Clinet 서버는 사용할 폴더를 마운트 하는 작업이 필요함

Page 7: NFS 를 이용한 파일공유

NFS 설치 (Packages)

# apt-get install nfs-common nfs-kernel-server portmap

nfs-common pakcage nfs-kernel-server package portmap package

Page 8: NFS 를 이용한 파일공유

NFS 서버 디렉토리 설정

디렉토리 설정 $ chmod –R 777 [directory name]

환경 설정 파일 수정 # vim /etc/exports

Page 9: NFS 를 이용한 파일공유

NFS 서버 /etc/exports 설정

/etc/exports : 줄 단위로 설정 및 처리

[share-directory] [client](options)

[share-directory] : 공유할 디렉토리의 절대경로 [client] : 공유를 허락할 호스트 목록

(Host name, Domain name, IP Address) (option) : 공유할 때의 속성들

Page 10: NFS 를 이용한 파일공유

NFS 서버 /etc/exports 설정

(option) ro – 읽기 (default) rw – 읽기 및 쓰기 no_root_squash – client 의 root 사용자가 NFS

Server 접근 시 root 권한 root_squash – client root 접근시 nfsnobody 권한

(default) ercure – client 요청시 지정 포트만 사용 (default) insecure – client 요청시 모든 포트를 통해 서비스 요청

허가 sync – client 가 파일 시스템을 변경하면 즉시 동기화

Page 11: NFS 를 이용한 파일공유

NFS 서버 재시작

# /etc/init.d/nfs-kernel-server restart

# /etc/init.d/portmap restart

Page 12: NFS 를 이용한 파일공유

NFS 서버 RPC 확인

$ rpcinfo –p

NFS 동작 시 RPC 정보를 보여줌

NFS 서비스에 필요한 데몬 동작 여부 확인 nfs : NFS 서비스 데몬 portmap : RPC 연결에 관한 데몬 nlockmgr : 파일 잠금 제공 및 파일 동시 수정 방지

Page 13: NFS 를 이용한 파일공유

NFS 서버 테스트

NFS 서버 자기 자신으로의 마운트를 통한 테스트

# mount  -t  nfs hostname(or IP):[share directory]  [mount

directory]

경고 발생 하지 않을 시 성공

Page 14: NFS 를 이용한 파일공유

Client 서버

Page 15: NFS 를 이용한 파일공유

Client 서버 테스트

Client 서버에서도 테스트를 함

# mount  -t  nfshostname(or IP):[share directory]  [mount

directory]

143.248.234.111

Page 16: NFS 를 이용한 파일공유

Client 서버 마운트 설정

/etc/fstab 파일 수정

Hostname(or IP):[share directory] [mount direc-tory] nfs [option] [dump] [system_checking]

# mount -a

Ex) 192.168.0.2:/data    /nfs    nfs   bg,soft,rw  0 0위의 내용은 192.168.0.2 의 data 디렉토리를 /nfs 디렉토리로 마운트

하되 파일시스템은 nfs 이며 백그라운드로 , 소프트타입으로 , 읽기쓰기가 가능 하도록 하며 부팅 시 파일 시스템 점검은 하지 않도록 설정한 것이다 .

Page 17: NFS 를 이용한 파일공유

Client 서버 마운트 설정옵 션 기 능

suid, nosuid 보안상 원격파일 시스템에서 nosuid 모드 권장

bgnfs 마운트가 처음에 실패할 경우 백그라운드 상태에서 계속 시도하게 되는 것으로 원격파일시스템이 허용되지 않을 경우 부트 시간을 단축시킨다 .

retry=n 포기할 때가지의 마운트 시도횟수로 기본은 100000 이다 .

timeo=n 타임아웃 시간을 설정한다 .

retrans=n n 번 요구를 재전송하는 것으로 기본은 3 번이다 .

soft,hard

재시도 횟수가 끝이 났을 때 연결을 계속할지 말지를 결정한다 .  읽기전용으로 마운트될 경우엔 soft 가 , 읽기 / 쓰기가 가능하도록 마운트될 경우엔 hard 가 적합하다 . soft 로 마운트된 파일시스템은 프로세스가 멈추어지는 문제를 피할 수도 있다 .

intr정지 프로세서를 죽이기 위한 인터럽트를 허용한다 . 터미널에 대해 CTRL-C 를 누르고 백그라운드 프로세스인 경우 INT(2) 혹은 QUIT(3) 신호를 보내면 다시 동작된다 .

resize=n nfs 서버에 있는 읽기 버퍼의 크기 ( 바이트단위 )

wsize=n nfs 서버에 있는 쓰기 버퍼의 크기 ( 바이트단위 )

Page 18: NFS 를 이용한 파일공유

Client 서버에서 NFS 찾기

NFS 서버의 실행여부와 디렉토리 명을 알 필요 있다 .

# showmount [server] : NFS 로 접속해 있는 서버들을 알 수 있다 .

# showmount –e [server] : NFS 로 공유할 수 있는 디렉토리 목록을 보여준다 .

서버가 죽어 있으면 RPC 가 동작하지 않아서 에러발생

Page 19: NFS 를 이용한 파일공유

Client 서버에서 언마운트하기

# umount [ 디렉토리 ]

단순히 이 명령어로 NFS 서버의 share directory 를 언마운트 가능

Page 20: NFS 를 이용한 파일공유

실습하기

주어진 NFS 공유 디렉토리를 마운트 해보세요 .

showmount 명령어를 사용하여 NFS 가 제대로 연결 되었나 확인해 보세요 .

언마운트를 통해 NFS 연결을 끊어보세요

Page 21: NFS 를 이용한 파일공유

감사합니다 !!