메일 서버로 시스템의 구성도 방식에 대한 이해를 돕는다.
Active-Stand_by
Active-Active(SAN)
Active-Active(NFS, NAS)
NFS-Network File System
NAS-Network Attached Storage
예제를 통해서 이해 해보자.
출처 : http://mobigen.tistory.com/tag/%EC%9D%B4%EC%A4%91%ED%99%94
지난 "메일 서버 용량 및 구성 어떻게 산정할까요?"라는 제목의 포스트에서 언급되었던 메일 시스템의 이중화에 대해 각 사례별 구성 방법 및 장애 처리 방안을 통해 소개하려고 합니다.
메일 시스템을 이중화로 구성하고 원활한 서비스를 운영하려면 몇가지 유의해야할 사항이 있습니다. 아래에 소개될 유의사항을 유념하여 이중화 구성 시 참고하시기 바랍니다.
(1) 스토리지 구성
스토리지 구성은 서버간 데이터의 공유 가능 여부에 따라 2가지로 분류 될 수 있습니다. 공유가 가능한 구성은 NAS와 NFS가 있고, 공유가 불가능한 구성은 DAS와 SAN이 있습니다. 구성에 따라 적절하게 환경을 설정해야 필요가 있습니다. 구체적인 설정 방법은 아래서 다시 설명하겠습니다.
(2) 로그 구성
로그는 원칙적으로 공유를 불허 합니다. IDX_CACHE 데몬은 LOG를 추적하여 SMS 및 메신저 연동 , 발송시간 갱신 , 메일 정보 갱신등 다양한 기능을 수행하는데, 동일한 로그를 각 서버에서 같이 사용하면 중복 실행의 문제가 발생합니다. 그래서 로그는 반드시 각 서버마다 고유한 영역에 저장되야 합니다.
(3) USERHOST
모든 사용자는 본인의 메일이 저장된 HOST가 지정되고, 그 서버에서 서비스를 이용할 수 있습니다. 대부분의 단일서버 및 스토리지 공유가 가능한 서버에서는 모든 사용자는 localhost로 등록됩니다. 하지만 DAS나 SAN의 경우 각 서버별도 별도의 스토리지를 사용하므로 사용자의 HOST가 반드시 정확히 구분되어 있어야 정상적인 서비스를 제공할 수 있습니다.
(4) QUEUE(큐)
큐 또한 중복 발송 방지를 위해 각 서버가 고유하게 존재해야 합니다.
(5) CRONTAB
메일서비스를 운영하면서 자동으로 수행되는 스크립트들이 있습니다. 메일 정리 , 휴면계정 체크 , 프로세스 체크등 다양한 스크립트는 crontab에 등록되어 자동으로 수행됩니다. 메일 정리, 휴면계정 체크는 사용자의 메일을 핸들링 하는 것이므로, 반드시 한번만 수행되야 합니다. 스토리지가 공유되는 구성에서는 서버별로 실행을 하면 중복 실행이 되므로, 메일 서버 중 하나를 선택하여 그 서버에서만 실행 하도록 설정을 해야 합니다. 또 다른 방법으로, 각 스크립트들이 수행 시간이 길어 진다면 서버별로 특정한 스크립트만 수행하도록 하여 분산을 해도 됩니다. 하지만 이 방법은 관리하는데 문제가 있을 수 있으므로 추천 하지는 않습니다. 각 서버별로 개별적으로 수행되야 하는 스크립트 들이 있습니다. LOG정리 , TOP/PS로그는 공유되지 않으므로 반드시 각 서버마다 수행을 해야 합니다.
(6) 프로세스 모니터링(mail_manage)
CrediMail의 프로세스 모니터링은 mail_manage라는 데몬으로 수행 하고 있습니다. 관리자(Master)서버에서 모든 서버의 프로세스를 체크 하는 방법인데 다중화된 서버의 경우 관리자 서버에는 모든서버의 설정이 등록되야 합니다.
(7) 이중화 구성 예제
이중화는 Active-Active , Active-Stand_by의 2가지 형태로 구성 됩니다. 각 형태별 구성 예제 및 장애 처리 방법에 대해서 구체적으로 확인해 보겠습니다.
[그림 1] Active-Stand by(DAS)
그림 1은 소규모의 사이트에서 일반적으로 사용되는 형태입니다. 평상 시에는 하나의 서버로 운영을 하고, 그와 스펙이 비슷한 서버를 예비로 준비를 합니다. 메일서버는 OS영역과 Data영역이 물리적인 디스크가 분리되도록 관리합니다. 예비서버는 OS가 설치된 형태로 언제라도 부팅하면 바로 사용 할 수 있는 상태로 준비 합니다. 장애가 발생되면 관리자가 판단하여 예비서버로 서비스 해야 한다고 판단이 되면 메일 서버에서에서 Data영역의 디스크를 분리하여 예비서버로 이전한 후 예비서버로 서비스를 운영하면 됩니다. 이 형태는 저렴한 비용으로 이중화를 구성할 수 있지만, 시스템 장애 시간이 길고 안정성이 적은 방법입니다.
[그림 2] Active-Active(SAN)
[그림 3] Active-Active(NFS)
지금까지 메일 시스템을 이중화 하는 방법에 대해서 알아 보았습니다. 매우 저렴한 방법에서부터 초호화 럭셔리한 방법까지 다양한 이중화 방법이 있습니다. 이중화를 하려는 목적은 단 한가지 입니다. 메일 시스템을 안정적으로 운영하여 메일 시스템 장애로 인해 우리의 비지니스가 피해를 입지 않기 위한 것입니다. 단 몇 시간 또는 몇 일동안 메일에 문제가 발생하여 비즈니스에 큰 영향을 끼쳐 몇 백만 또는 몇 천만의 손해가 나고나서 땅을 치며 후회해도 그땐 이미 늦었습니다. "유비무환"이란 한자성어를 잘 아실것입니다. "미리 준비가 되어 있으면 걱정할 것이 없다"라는 뜻인데, 미리미리 메일 시스템을 이중화하여 아무 걱정없이 메일을 사용하면 좋겠죠? 이중화 방법은 싸이트의 규모나 비용에 의해 달라지니, 메일 전문가인 저희에게 문의하시면 가장 효율적이고 만족스런 방법을 얻으실 수 있습니다.
-- by chulhee, 2008.07.30
'기타' 카테고리의 다른 글
ASP 파일출력을 MS-Word로 출력하기 (0) | 2011.08.02 |
---|---|
[c/c ] 포인트 자꾸만 잊어 버리는것.(1번) (0) | 2011.05.26 |
[펌] AMD AHCI 드라이버를 설치 30% 향상 (0) | 2011.03.26 |
[ASP] Global.asa 를 사용해 카운터 만들기 (0) | 2010.08.18 |
방화벽으로 막힌 네이트온을 뚤어보자 (0) | 2010.03.31 |