안정적인 서버를 위한 디스크 구성

서버의 디스크 장애시 복구를 대비한 안정적인 디스크 구성에 관해 살펴보겠습니다. 서버는 최소 운영용+백업용 2개 디스크로 이루어져야 하며, 성능을 위해서는 3개 이상 필요할 수 있습니다.

1. 최소 사양 – 디스크 2개 (운영용 + 백업용)

 * 백업용 디스크가 왜 필요할까요?
=> 하드디스크의 물리적인 장애에 대비하여 두번째 디스크는 백업 전용으로 사용을 권장합니다.  간혹 PC 인생 10년넘게 하드디스크 에러 경험을 못해봤다는 본좌들이 계십니다만…  제 경험으론 sata 하드의 경우 100대당 1대꼴로 몇년안에 장애 납니다.   옛날 데스게이트 사건을 기억하실 분들이 계실지 모르겠지만, 그 당시 사망율은 100대당 3~5대를 뛰어넘던 것으로 기억됩니다.    덕분에 데이타 복구 업체들의 전성기가 아니었을까 싶습니다.

* 백업용 디스크가 없을 경우의 장애 복구 절차는?
=> 운영중인 하드를 떼어내 데이타 복구 전문업체에 하드디스크의 수배에 달하는 비용을 맡기고 복구를 의뢰하여 일부라도 건집니다.   일부 건진 데이타로 전문가에게 별도 비용을 추가하여 복구를 의뢰합니다.  물론 돈만 열심히 쓰고 서버 특성상 원하는 데이타가 제대로 복구안될 가능성이 높습니다.   덤으로 복구기간동안 귀하가 운영하는 서비스가 정지됩니다.

* 백업용 디스크가 있을 경우의 장애 복구 절차는?
=> 장애가 발생한 운영용 디스크를 새 하드디스크로 교체하여 OS를 설치하고, 백업용 디스크에서 데이타를 복구하면 서비스가 바로 재게됩니다.  매일 백업을 받을 경우 최대 하루치 데이타만 유실됩니다.

 

2. 권장 사양 – 디스크 3개 ( 운영용 2개 RAID 1 mirroring + 백업용)

* OS 설치하기전 부팅시 BIOS 나 RAID SETUP 메뉴에서 첫번째와 두번째 디스크를 RAID 1 으로 묶어 줍니다.  하드디스크 2개를  RAID 1 으로 미러링하면 1개 장애가 발생하더라도, 1개로 계속 운영이 가능합니다.  또한 장애가 발생한 하드를 에러 로그나 서버 하드웨어 전면 패널의 상태창을 보고 인지하여 새 하드디스크로 교체하면 서비스는 거의 정지없이 유지됩니다.

* 이 안전한 RAID 1 마저 에러 로그나 상태를 인지하지 못하여 2개가 완전히 장애가 발생했다고 칩시다.   이 경우에도 우리에겐 세번째 백업용 디스크가 남아있어 데이타를 살릴 수 있습니다.

 

3. 중급 사양 – SSD 1개 + 디스크 2개 (운영용 SSD 1개 + /home 1개 + 백업용 1개)

*  SSD… 저도 참 좋아하는데요.   아… 정말이지 너무 좋습니다.  SSD 는 용량이 작아도 OS 와 MySQL data 만 저장하면 됩니다.  서버 1대로 운영하는 중소규모에선 왠만한 프로그램 설계상의 성능 이슈를 커버해버립니다.  과거에 전문 엔지니어가 몇일씩 분석해야 했던 디비 성능 문제도 중소규모에선 티안나게 커버가 이루어질 정도입니다.   물론 일정 규모이상에서는 SSD만으로는 커버가 어렵고 디비 및 프로그램 설계 레벨에서의 튜닝을 고려해 봐야 합니다.