AWS에서 NFS 서버 세팅
Written by munilive on (Updated: )- 서버로 사용할 인스턴스 생성
- Security Group 설정에서 Type을 All traffic 선택 Source를 172.31.0.0/16 입력
- 172.31.0.0/16 은 서버를 위치할 VPC 의 아이피 대역을 의미
- 개별로 포트 설정을 하고 싶으면 아래 포트를 TCP/UDP 모두 열어줌
2049, 111, 32769, 32803, 892, 875, 662
- 개별로 포트 설정을 하고 싶으면 아래 포트를 TCP/UDP 모두 열어줌
서버로 사용할 인스턴스에 NFS 설치
yum install nfs-utils nfs-utils-lib
/etc/sysconfig/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 사용시 이용되는 포트들을 고정시키기 위한 작업임.
- Security Group 설정에서 위에 설정한 포트와 2049, 111 만 열어도 문제 없음
/home/nfs
폴더 생성(공유할 폴더)mkdir /home/nfs
/etc/exports
에 공유폴더 설정vi /etc/exports
입력 내용
/home/nfs 172.31.0.0/16(rw,sync,insecure,all_squash)
옵션 설명
ro
: 읽기 전용으로 공유한다. (기본)rw
: 읽기/쓰기 모드로 공유한다.root_squash
: 클라이언트의 root 를 익명 사용자(nobody)로 매핑한다. (기본)no_root_squash
: 클라이언트의 root 를 서버의 root 로 매핑한다.all_squash
: 모든 사용자를 익명 사용자(nobody)로 매핑한다.sync
: 클라이언트와 서버간 동기적 통신을 한다. (기본, 안전성 향상)async
: 클라이언트와 서버간 비동기 통신을 한다. (속도 향상)secure
: 마운트 요청 시 포트를 1024 이하로 한다. (1024 이하 포트는 root 만 설정 가능, 기본)insecure
: 마운트 요청 시 1024 포트 이상도 허용한다.noaccess
: 엑세스 거부no_all_squash
: root를 제외하고 서버와 클라이언트의 사용자들을 하나의 권한을 가지도록 설정한다.설정관련 참고: http://linux.die.net/man/5/exports
서비스 시작 및 동작 확인
service rpcbind start service nfslock start service nfs start rpcinfo -p localhost
정상일 경우 아래와 같은 메시지 출력
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
- 서비스 등록하기 (리부팅시에도 자동실행)
chkconfig
를 통하여 아래 3가지 서비스의 2,3,4,5에on
되어 있는지 확인 없으면 아래 명령을 통하여 서비스를 하나씩on
처리함
chkconfig nfs on chkconfig nfslock on chkconfig rpcbind on
클라이언트에 nfs 설치
yum install nfs-utils nfs-utils-lib
공유디렉토리 연결(매번 연결 설정 해줘야함)
mount 172.31.3.63:/home/nfs_temp /home/munilive/public_html/data/temp
- 공유디렉토리 영구 설정
서버리부팅해도 자동으로 연결함.
vi /etc/fstab
172.31.3.63:/home/nfs_temp /home/munilive/public_html/data/temp nfs hard 0 0
추가. NFS 서버 Public Domain을 CNAME 으로 연결해 놓으면 아이피가 아닌 도메인으로도 설정가능
nfs.munilive.com:/home/nfs_temp /home/munilive/public_html/data/temp nfs hard 0 0