소프트웨어 오류로 컴퓨터의 중요한 파일이 손상되면 어떻게 될까요? 사무실에 화재가 발생해 서버가 모두 소실된다면?
치명적인 하드웨어 고장으로 모든 데이터를 잃는다면? 인터넷 서비스 제공업체(ISP)에 문제가 생겨 며칠 동안 인터넷을 사용하지 못한다면?
이런 상황들은 드물게 발생하지만 누구에게나 최악의 결과입니다. 하지만 아무리 발생 가능성이 낮은 일이라도 미리 대비해 두어야 서비스가 중단되지 않고 안정적으로 운영됩니다.
이를 위해 사용하는 것이 바로 '중복성(Redundancy)'입니다.
백업과 중복성의 차이점은 무엇일까?
중복성은 흔히 백업과 혼동됩니다. 두 개념은 비슷하지만 몇 가지 중요한 차이점이 존재합니다.
'백업'은 치명적인 데이터 손실에 대비해 데이터 복사본을 만드는 것을 의미합니다. 반면 중복성은 단순한 데이터 저장을 넘어, 어떤 상황에서도 서비스 연속성을 유지하는 데 초점을 맞춥니다. 데이터 측면에서는 여러 개의 분리된 위치에 데이터를 저장함으로써 실현됩니다.
네트워크 중복성도 있습니다. 네트워크를 여러 개의 대체 시스템으로 구성해 어떤 일이 발생하더라도 서비스가 끊기지 않도록 하는 것이죠.
그렇다면 실제 세계에서는 어떻게 작동할까요? 데이터 중복성부터 살펴보겠습니다.
데이터 중복성
기업과 개인 사용자 모두 놀랄 만큼 빠르게 데이터 중심적이고 컴퓨터화되었습니다. 기업의 경우 고객에 대한 모든 정보가 컴퓨터에 기록·저장·관리되기 때문에, 데이터 손실이나 장애는 곧바로 재앙으로 이어집니다.
미국 국립문서기록관리국(NARA)에 따르면, 데이터 센터 접근권을 10일 이상 상실한 기업의 93%가 1년 이내에 파산합니다. 따라서 기업에게 데이터 중복성은 선택이 아니라 필수적인 경영 비용입니다.
데이터가 손실되거나 손상되었을 때 최대한 빨리 복구하고 정상적인 서비스를 재개할 수 있도록 하는 것이 매우 중요합니다.
기업이 데이터 중복성을 확보하는 방법은 다양하며, 각 방식은 속도, 비용 효율성, 관리 용이성 측면에서 서로 다른 장점을 지닙니다.
아직 현역인 자기테이프 오프사이트 백업
가장 기본적인 데이터 중복성 방식은 오프사이트 테이프 백업입니다. 저장 볼륨 전체를 비트 단위로 그대로 복사해 자기테이프 릴에 담고, 이를 수거해 외부 보관 시설로 옮깁니다. 치명적인 장애가 발생하면 언제든 회수해 복원할 수 있습니다.
자기테이프는 아주 오래된 저장 기술이지만 지금도 그 가치를 인정받고 있습니다. 비용 효율성이 뛰어날 뿐 아니라 어마어마한 용량을 저장할 수 있습니다. 실제로 소니는 이론상 최대 185TB를 저장할 수 있는 자기테이프 기술을 개발했습니다. 무엇보다 네트워크 속도와 무관하게 동작한다는 점이 큰 강점입니다.
클라우드 백업
또 하나 인기 있는 방식은 버전 관리가 되는 온라인(클라우드) 백업입니다. Google, Microsoft, Rackspace 등 온라인 스토리지 시장은 점점 더 경쟁이 치열해지고 있지만, 주목할 만한 서비스는 단연 Amazon Web Services의 Simple Storage Service(S3)입니다.
Amazon S3는 저렴하고 빠르며 간편하게 데이터를 클라우드에 저장할 수 있는 서비스입니다. 활용 범위가 넓어 외부 백업을 저렴하게 운영하려는 기업들 사이에서 점점 더 많이 사용되고 있습니다.
S3가 성공할 수 있었던 핵심은 매력적인 요금 체계입니다. 다른 클라우드 스토리지 업체처럼 정액제가 아니라 기가바이트 단위로 과금하며, 거의 완벽한 가용성과 신뢰성을 보장하는 SLA(서비스 수준 계약)를 제공합니다.
AWS의 내부 구조는 여전히 완전히 공개되어 있지 않지만, 거의 모든 대륙에 데이터 센터를 두고 있으며 모든 서버가 높은 수준의 중복성을 갖추도록 구성되어 있다는 점은 알려져 있습니다. 데이터가 여러 시스템에 분산 저장되기 때문에, 아마존 데이터 센터의 특정 장비에 장애가 발생해도 데이터는 안전합니다.
중복 데이터를 테이프든, 클라우드든, (권장하지 않지만) 마당에 묻어 둔 USB 드라이브든 어떻게 보관하든 핵심은 같습니다. 중요한 데이터는 반드시 복제해 별도의 저장 매체에 보관하고, 비상시 즉시 접근할 수 있어야 한다는 것입니다.
이후에는 가정에서 데이터 중복성을 구축하는 방법, 특히 RAID를 다룹니다. 그 전에 먼저 네트워크 중복성을 살펴보겠습니다.
네트워크 중복성
우리가 매일 사용하는 네트워크 인프라는 생각보다 매우 취약합니다. 차량이 통신 캐비닛을 들이받는 돌발 사고나 라우터 소손 하나만으로도 장기간 네트워크가 중단될 수 있습니다.
기업은 비상 상황에 대처할 수 있도록 네트워크에 충분한 중복성을 확보합니다.
가장 기본적인 수준은 '단 하나의 장애로 네트워크 전체가 마비되지 않도록' 하는 것입니다. 이는 라우터, 스위치, 허브 같은 네트워크 장비를 여러 대 두고, 하나가 고장 나면 나머지가 자동으로 역할을 이어받도록 구성함으로써 달성됩니다.
ISP 중복성도 있습니다. 네트워크 게이트웨이를 서로 다른 두 개의 ISP에 연결해, 한쪽에 장애가 발생하면 다른 쪽이 대신 처리하는 방식입니다. 두 ISP가 모두 정상일 때는 트래픽을 양쪽에 분산해 네트워크 혼잡을 줄일 수 있습니다. 이를 일반적으로 로드 셰어링(load sharing)이라고 부릅니다.
가정에서 네트워크 중복성을 추가하는 실질적인 방법은 뒤에서 다루겠습니다.
가정에서의 중복성 구축
지금까지 기업 환경에서의 중복성을 중심으로 살펴봤는데, 일반 가정 사용자는 어떻게 해야 할까요?
먼저 데이터 중복성부터 말씀드리겠습니다. 기업용 옵션 대부분은 일반 소비자에게도 열려 있습니다. 예를 들어 Amazon S3의 표준 요금제는 1TB 미만 기가바이트당 $0.03을 부과합니다. 참고로 100GB를 저장하면 월 약 $3 정도입니다.
Amazon S3는 OS X, Windows, Linux용 전용 애플리케이션을 통해서도 쉽게 접근하고 관리할 수 있습니다.
파일을 외부에 따로 저장하지 않고 중복성을 확보하고 싶다면 RAID 배열이나 NAS(Network Attached Storage)를 구축하는 방법도 있습니다.
RAID란 무엇일까?
RAID는 "Redundant Array of Inexpensive Disks(저가 디스크의 중복 배열)"의 약자로, 여러 개의 하드디스크를 하나의 논리적 단위로 결합하는 기술입니다. 데이터 중복성 확보와 접근 속도 향상이라는 장점을 제공합니다. RAID에는 여러 종류가 있으며 각각 장단점이 다르므로 용도에 맞게 선택하는 것이 중요합니다.
RAID의 가장 큰 장점은 한 개의 드라이브가 고장 나도 중복성 덕분에 데이터가 손실되지 않는다는 점입니다. RAID 구성에는 두 개 이상의 드라이브가 필요하며, 하나가 고장 나면 나머지 드라이브가 시스템을 계속 운영합니다. 물론 고장난 드라이브는 RAID 배열을 유지하기 위해 신속히 교체해야 합니다.
그렇다면 네트워크 중복성은 어떨까요? 솔직히 이것은 기업들이 수천 달러를 들여 구축하는 영역입니다.
대규모 기업 네트워크는 그 규모 덕분에 중복성 구축에 유리한 반면, 가정용 네트워크는 규모가 훨씬 작아 중복성을 세울 기회도 적습니다.
그런 점을 감안하면, 가정에서는 라우터를 이중화해 번거롭게 설정하는 수고보다는 부품이 고장 났을 때 교체하는 편이 더 현실적입니다.
대신 모바일 Wi-Fi 핫스팟을 구입해 두거나 노트북에 스마트폰을 테더링할 수 있도록 준비하면, 인터넷 연결이 끊기는 순간 없이 언제나 온라인 상태를 유지할 수 있습니다.
SPOF(단일 장애점) 피하기
SPOF는 "Single Point Of Failure(단일 장애점)"의 약자입니다. 시스템의 한 부분이 고장 나면 시스템 전체를 사용할 수 없게 되는 지점을 의미하며, 당연히 극히 바람직하지 않은 구조입니다. SPOF를 피하는 방법이 바로 중복성입니다. 어떤 단 하나의 요소도 시스템 작동을 멈추게 할 수 없도록 보장하는 것이죠.
중복 시스템을 구축해 본 경험이 있으신가요? 서비스 연속성을 지키기 위해 애쓴 사례가 있다면 댓글로 들려주세요.