웹 서버 파일 공유에 관하여
같은 웹 서버 5대를 Round robin DNS 방식으로 부하 분산하여 서비스를 하고 있습니다. 문제는 이 5대의 서버의 파일을 동기화시키는 것입니다.
맨 처음에는 rsync를 이용하여 15분마다 파일을 동기화시켰습니다. 회원들이 파일을 업로드하는 경우에는 업로드를 처리하는 스크립트(php)에서 rsync를 실행하게끔 구성하였습니다. 꽤 무식한 방법이었지만 괜찮게 작동되다가 파일의 양이 많아지면서 (현재 대략 100G 가까이 가고 있습니다) 점점 rsync가 늦어지면서 파일이 제대로 동기화되지 않아 서비스에 대한 불만이 높아지고 있습니다.
아무래도 공유 스토리지 비슷한 방식으로 바꾸어야 할 것 같은데 어떤 것이 좋을지 모르겠습니다. SAN과 NAS에 대해서도 알아보았는데 아무래도 SAN은 이런 용도로는 너무 거창한 것 같고, NAS는 결국 NFS인 것 같은데 과연 NFS가 성능이 나와줄지 의문입니다. afs, coda 쪽도 살펴보았는데 이쪽에 적용해봤다는 사례가 없네요.
경험있는 분들의 조언을 듣고 싶습니다.
상황은 다음과 같습니다.
1. 파일 업로드를 전담으로 처리하는 서버 1대, 이미지 섬네일을 만들어 서비스하는 서버 1대, http로 이미지만 서비스하는 서버 5대 하여 총 7대의 서버의 데이터를 공유할 수 있어야 하며,
2. 서비스가 peak일 때는 이미지를 서비스하는 각각의 서버의 out 트래픽이 100Mbps가 넘습니다.
3. 서비스하는 이미지는 일반 웹페이지를 구성하는 이미지로 몇바이트에서 몇 메가바이트 정도까지 다양합니다. 총 파일 용량은 대략 100G 안팎입니다.
댓글 달기