NFS를 이용해 웹서버에서 사용자의 업로드된 파일이나 세션을 공유해서 사용하는 방법을 알아봅니다.
개요
웹서버를 여러개 사용하는 경우 로드발란싱을 하는 경우 공통자원(업로드된 파일 WAS의 세션 등)을 관리하기가 쉽지 않습니다. 이 경우 파일 서버를 하나 만들어 NFS 로 접근 가능하도록 서비스하고 다수의 웹서버에서 export 된 파일 서버의 위치를 마운트하여 사용하는 방법에 대해 알아봅니다.
본 예제에서 파일서버의 IP를 192.168.0.10
, 웹서버 IP를 192.168.0.15
와 192.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