NFS를 이용해 웹서버에서 사용자의 업로드된 파일이나 세션을 공유해서 사용하는 방법을 알아봅니다.

개요

웹서버를 여러개 사용하는 경우 로드발란싱을 하는 경우 공통자원(업로드된 파일 WAS의 세션 등)을 관리하기가 쉽지 않습니다. 이 경우 파일 서버를 하나 만들어 NFS 로 접근 가능하도록 서비스하고 다수의 웹서버에서 export 된 파일 서버의 위치를 마운트하여 사용하는 방법에 대해 알아봅니다.

본 예제에서 파일서버의 IP를 192.168.0.10, 웹서버 IP를 192.168.0.15192.168.0.16 으로 하여 설명한다.

파일서버 설정

공유된 자원이 저장될 위치를 생성

웹서버에서 공유받아 사용할 위치를 생성한다

$ mkdir /File/serviceName

/etc/exports 파일 수정

/etc/exports 파일을 수정하여 공유받을 서버의 IP와 공유옵션을 추가한다.

/File/serviceName 192.168.0.15(rw,sync,no_root_squash,no_all_squash,subtree_check)
/File/serviceName 192.168.0.16(rw,sync,no_root_squash,no_all_squash,subtree_check)

nfs 서비스 재시작

/etc/exports 수정된 설정을 적용하기 위해서 nfs 서비스를 재시작 한다.

$ service nfs restart

웹서버 설정

원격 위치 마운트

파일서버의 공유된 위치를 mount 하고 결과를 확인하기 위해 df -h 명령을 통해 정상적으로 마운트 되었는지 확인한다. 해당 위치를 읽고 쓸 사용자로 전환하여 touch 명령을 사용해 파일을 만들어 파일서버에 정상적으로 생성되는지 확인하는 것이 좋다.

$ mount -t nfs 192.168.0.10:/File/serviceName /File/serviceName

위 내용을 가지고 공유위치를 NFS를 통해 사용할 수 있는 설정이 끝났다. 하지만 웹서버를 재시작하면 해당 위치의 마운트가 풀리기 때문에, 이러한 사고 발생을 막기 위해서 서버를 재시작하여도 자동 마운트 하기 위해서는 /etc/fstab 설정파일을 수정해 아래의 내용을 추가해야 한다.

192.168.0.10:/File/serviceName /File/serviceName nfs defaults 1 0

Leave a Comment