AWS에서 NFS 서버 세팅
-
서버로 사용할 인스턴스 생성
- 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/nfsLOCKD_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/fstab172.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
-
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스 에 따라 이용할 수 있습니다.
Comments
Related Posts
AWS S3의 Cross Domain 해결을 위한 CORS 사용
AWS S3예 CORS(Cross-Origin Resource Sharing) 설정을 추가하는 방법에 대한 글이다.
Beanstalk docker 사용시 발생하는 컨테이너 로그를 제거하기 삽질
AWS Beanstalk Docker 사용 시 발생하는 컨테이너 로그로 인한 EC2 Desk Full을 해결하기 위해 컨테이너로그를 일정 주기마다 자동으로 삭제하기 위한 실험을 한 글이다.