IT Opening

리눅스 NFS 서버 설정과 자동 마운트 설정방법

서버 네트워크 | 2020년 10월 19일 15시 15분

1. NFS 란 무엇인가?

Network File System의 약어로 다른 호스트에 있는 파일 시스템의 일부를 자신의 디렉토리처럼 사용할 수 있도록 해주는 것이다. 한마디로 말해, 하나의 서버에 디스크를 집중 관리하고 그것을 공유하여 나머지 시스템들이 사용할 수 있게 해주는 것이라고 말한다.

2. 서버(server)

NFS 설치 아래의 명령을 실행하여 nfs 관련 의존 패키지를 설치를 시작한다. yum -y install nfs-utils nfs-utils-lib NFS 설정 [Port] NFS 설정 파일을 편집하도록 한다. 원격에서 접속할 경우 방화벽 정책에 의하여 해당 연결이 되지 않을 경우가 있어, 해당 포트를 고정해야 된다. vi /etc/sysconfig/nfs 아래의 항목을 검색하여 주석을 해제한다. LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769 MOUNTD_PORT=892 RQUOTAD_PORT=875 STATD_PORT=662 STATD_OUTGOING_PORT=2020 공유디렉토리 설정 아래의 명령을 실행하여 nfs 디렉토리 정보파일을 편집한다. vi /etc/exports 아래와 같이 해당 디렉토리 정보를 입력한다. /storage 192.168.122.0/24(rw,sync,no_root_squash) 설정옵션 rw : 읽기, 쓰기 가능 ro : 읽기만 가능 secure : 클라이언트 마운트 요청시 포트를 1024 이하로 한다. noaccess : 엑세스 거부 root_squach : 클라이언트의 root가 서버의 root 권한을 획득하는 것을 막는다. no_root_squash : 클라이언트의 root와 root를 동일하게 한다. sync : 파일 시스템이 변경되면 즉시 동기화 한다. all_squach : root를 제외하고 서버와 클라이언트의 사용자를 동일한 권한으로 설정 한다. no_all_squach : root를 제외하고 서버와 클라이언트의 사용자들을 하나의 권한을 가지도록 설정한다. service iptables restart 서비스 시작 NFS 관련 서비스를 시작한다. service rpcbind start service nfslock start service nfs start rpcinfo -p localhost nfs 서비스가 정상적으로 기동시에는 아래와 같은 메시지가 보일 것이다. program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 662 status 100024 1 tcp 662 status 100005 1 udp 892 mountd 100005 1 tcp 892 mountd 100005 2 udp 892 mountd 100005 2 tcp 892 mountd 100005 3 udp 892 mountd 100005 3 tcp 892 mountd 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 nfs_acl 100227 3 tcp 2049 nfs_acl 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 nfs_acl 100227 3 udp 2049 nfs_acl 100021 1 udp 32769 nlockmgr 100021 3 udp 32769 nlockmgr 100021 4 udp 32769 nlockmgr 100021 1 tcp 32803 nlockmgr 100021 3 tcp 32803 nlockmgr 100021 4 tcp 32803 nlockmgr 서비스 등록 서버기동시 nfs 가 자동적으로 실행되도록 해당 서비스를 등록 해야된다. chkconfig --level 35 nfs on chkconfig --level 35 nfslock on chkconfig --level 35 rpcbind on

3. 클라이언트(Client)

NFS 설치 yum install nfs-utils nfs-utils-lib 공유디렉토리 연결하기 공유디렉토리를 연결할 mount point 디렉토리를 생성한다. mkdir /storage 아래의 명령을 입력하여 공유디렉토리를 mount 한다. mount 192.168.0.99:/storage /storage 공유디렉토리 해제하기 아래의 명령을 입력하면 mount point 가 해제된다. umount /storage 공유디렉토리 영구 설정 서버 리부팅시에 자동으로 연결을 하기 위하여 아래의 파일을 편집한다. vi /etc/fstab 해당 파일의 하단에 아래와 같이 nfs 로 연결할 정보를 입력한 후 저장한다. 192.168.0.99:/storage /storage nfs hard 0 0 nfs 주요 데몬 rpc.mountd * NFS 마운트 데몬이다 * /etc/exports 설정에 따라 클라이언트의 마운트 요청을 처리한다. rpc.nfsd * 클라이언트가 rpc.mountd에 접속이 유지되면, rpc.nfsd를 사용하여 클라이언트의 요구에 따라 처리한다. * /etc/exports 설정에 따라 클라이언트는 다양한 작업을 할 수 있다. rpc.lockd * 파일 잠금과 관련된 데몬으로 현재 사용 중인 파일을 다른 사람이 사용할 수 없게 잠그는 역할을 한다. rpc.startd * 파일 잠금과 해제의 역할을 한다. Portmap - RPC(Remote Procedure Call) 프로그램을 port(tcp/udp)에 매핑시켜주는 데몬이다. - NFS를 사용하려면 꼭 필요한 데몬이다. - RPC를 사용하는 프로그램(NFS)이 시작되면 portmap은 서비스를 제공할 port를 portmap에 등록시킨다. - portmap은 Time Service를 필요하다. (Time Service는 xinetd 데몬에 포함된 것이다) - portmap이 자신의 운영체제에 설치되어 있는지 확인해 봐야된다.

© Copyright 2019 - 2025 IT Opening. All rights reserved.