데이터 중복방지 기술(data de-duplication)
상태바
데이터 중복방지 기술(data de-duplication)
  • 데이터넷
  • 승인 2007.06.04 00:00
  • 댓글 0
이 기사를 공유합니다

스토리지 필요조건, “20:1로 줄인다”
백업 프로세스 속도 저하 조심해야 …
원격 사무소 백업용으로 최고

백업 장비는 중복된 데이터로 가득 차기 마련이다. 이러한 중복을 방지해 주는 툴과 기술을 사용할 경우, 백업이 디스크에 머무는 시간이 늘어나고 오프사이트 스토리지 동안 대역폭이 절약됨으로써 스토리지 필요조건이 20:1까지 감소할 수 있다.

불과 몇 년 전만 하더라도 D2D(Disk-to-Disk) 백업은 현실로 되기에는 너무나 먼 이상처럼 보였다. 하지만 저렴한 ATA(그리고 그후 SATA) 디스크 드라이브의 힘을 빌어 D2D는 가상 테이프 라이브러리로 이행되든, 혹은 사용자가 선호하는 백업 애플리케이션에서 하나의 백업 투 디스크(backup-to-disk) 옵션으로 이행되든 백업을 보다 신속하게 해주고, 테이프 드라이브와 라이브러리에서의 기계적 오류를 제거했으며, 개별적인 파일 복원을 위해 헬프데스크를 찾는 끝없는 호출을 한층 수월하게 처리할 수 있도록 해줬다.
오늘날 우리 디스크 백업 장비들은 넘쳐나고 있으며, 데이터 센터에는 다른 페타베이트 백업 공간을 추가할 수 있는 공간이나 파워가 충분치 못하기 때문에 한달치의 디스크 백업을 하고 싶을 때도 2, 3일치밖에는 하지 못하고 있는 실정이다. 문제는 백업 세트에 중복 데이터가 너무나 많다는 점이다. 그리고 업체들은 이에 대한 솔루션으로(물론 돈냄새를 맡고) 저장해야 하는 데이터 양을 20:1, 심지어 300:1까지 줄여줄 수 있는 새로운 데이터 중복 방지 제품들을 선전하고 있다. 이것이 과연 가능한 일일까? 이제부터 상세히 들여다 보자.
중복 방지 기술은 주어진 디스크 세트에 더 많은 백업 데이터를 저장할 수 있게 해준다. 이를 통해 디스크 백업을 유지할 수 있는 기간이 늘어나며, 데이터 센터 파워와 쿨링 비용은 절감된다.
데이터를 왠을 통해 전송하기 이전에 중복을 방지할 경우, 대역폭을 줄일 수 있으며 테이프에 의존하곤 하는 회사들에서 온라인 오프사이트 백업을 실용적으로 할 수 있다. 데이터 중복 방지 기술의 유일한 약점은 이것이 백업 프로세스 속도를 저하시킬 수 있다는 점이다.

중복 제거 솔루션들
중복 데이터는 시간이 경과하면서 백업 프로그램이 같은 디렉토리로부터 여러 번 같은 파일을 백업하거나, 혹은 같은 파일이 네트워크의 여러 위치에서 백업이 됨에 따라 임시 영역(temporal realm)에 걸쳐 백업 내에 생겨나기 시작한다. 대부분의 네트워크에는 홈 디렉토리에 저장된 주말 파티 초대장 PDF 56명 사용자 파일에서부터 모든 서버의 시스템 드라이브에 있는 3GB의 윈도 파일에 이르기까지 엄청난 양의 중복 데이터가 존재한다.
임시 영역에서의 파일 중복에 대한 한 가지 솔루션으로 점진적 백업(incremental backup)이 있다. 우리는 특히 티볼리 스토리지 매니저(Tivoli Storage Manager) 같은 업체들이 사용하는 영원히 점진적인 방안 같은 기술을 아주 좋아하긴 하지만, 점진적 백업이 우리가 RAID 장애 복구를 생각하는 이상으로 데이터 중복 방지가 되리라고는 생각하지 않는다. 그보다 점진적 백업은 중복 회피의 영역에 속한다고 할 수 있다.
가장 기본적인 데이터 복제 방지의 형태는 EMC의 센테라(Centera) 같은 CAS(Content Addressable Storage) 장비에서 볼 수 있는 파일 레벨의 단일 인스턴스 저장소다. 각각의 파일이 CAS 시스템에 저장되기 때문에 이 장비는 파일 콘텐츠의 해시(hash)를 만든다. 그리고 같은 해시 안에 이미 파일이 존재할 경우에는 다른 카피를 저장하는 대신 이미 갖고 있는 카피로 또 하나의 포인터(pointer)만 만들어 준다.
윈도 서버의 OEM NAS(Network Attached Storage) 버전인 마이크로소프트 WSS(Windows Stroage Server) 최신 버전은 중복 파일을 제거하는 데 있어 약간 다른 방식을 택하고 있다. 즉 이들은 중복이 기록이 될 때 이것을 식별하는 게 아니라 백그라운드 프로세스인 SIS(Single Instance Storage) 그로벌러(Groveler)를 돌리는데, 이것은 부분 팡리 해시 기능과 풀 바이너리 비교(full binary comparison)을 사용해 중복 파일을 식별하고, 파일을 공동 스토리지 영역으로 옮긴 다음, 원래 로케이션에 있는 파일을 공동 저장소에 있는 파일로의 링크로 대체시킨다.
파일 레벨 SIS는 얼마간의 공간을 절약해 주긴 하지만, 중복 파일뿐만 아니라 파일 안에 중복 저장된 데이터를 제거할 경우에는 사태가 아주 흥미로와진다. 아웃룩의 .PST 파일을 생각해 보라. 전형적인 사용자라면 오래전부터의 모든 이메일이 보관된 300MB 이상의 .PST가 있을 것이다. 이 사용자가 하나 이상의 새 메시지를 받는 날마다, 그리고 .PST 파일은 그날로 바뀌기 때문에 당신의 백업 프로그램은 300MB 파일에서 불과 25KB만 바뀐 부분이 있더라도 점진적 백업에 이것을 포함시킬 것이다.
25KB의 새 데이터를 식별해서 나머지 짐이 없이 이것만 저장할 수 있는 중복 방지 제품이라면 많은 디스크 공간을 절약할 수 있을 것이다. 이러한 개념을 발전시켜, 20 사용자의 .PST 파일에 있는 550KB 첨부 파일 같은 중복 데이터가 제거될 수 있다면, 어마어마한 양의 데이터를 줄일 수 있을 것이다. 이런 솔루션들 중 한 그룹으로 데이터도메인(Data Domain)이 앞장서고 있는 데이터 중복 방지 백업 타깃들이 있다.
이들 장비는 VTL(virtual tape library)나 NAS 장비 같은 백업 애플리케이션을 찾는다. 이들은 백업 애플리케이션으로부터 그 데이터를 가져와서 투명하게 데이터 중복 방지라는 마술을 부린다.

세 가지 접근 방식
업체들은 데이터 복제 방지 프로세스에 대해 기본적으로 세 가지 접근 방식을 보이고 있다. 팔콘스토어 소프트웨어(FalconStor Software)가 VTL 소프트웨어에서, 그리고 퀀텀이 자사의 DXi 시리즈 신제품에서, 그리고 데이터도메인이 사용하고 있는 해시 기반 방식은 백업 애플리케이션에서 오는 데이터 스트림을 블록으로 분해하고, SHA-1나 MD-5 같은 알고리즘을 이용해 각 블록용의 해시를 만든다. 새 블록용의 해시가 장비의 해시 인덱스에 있는 것과 일치하면 그 데이터는 이미 백업이 된 것이며, 장비는 테이블을 업데이트해서 새 로케이션에도 데이터가 역시 존재한다는 사실을 알리기만 하면 된다.
해시 기반 방식에는 고유의 확장성 문제가 있다. 주어진 데이터 블록이 백업이 됐다는 것을 신속하게 알리기 위해 이것은 해시 인덱스를 메모리에 보관해야 한다. 백업 블록 수가 늘어나면 인덱스도 늘어난다. 인덱스가 장비가 이것을 메모리에 보관할 수 있는 수준을 넘어서까지 늘어나기 시작하면, 디스크 검색이 메모리 검색보다 훨씬 느려지기 때문에 성능이 떨어진다. 그 결과 대부분의 해시 기반 시스템은 해시 테이블이 너무 커지지 못하도록 데이터 저장을 위한 디스크 공간과 메모리 양 사이의 균형을 잡아주는 자급식(self-contained) 어플라이언스들이다.
두 번째는 콘텐츠 인지 중복 방지(content-aware de-duplication) 방식으로, 여기서는 자신이 기록하는 데이터의 포맷을 알고 있는 백업 어플라이언스를 이용한다. 이것은 백업 데이터에 임베딩된 파일 시스템 메타데이터를 이용해 파일을 식별할 수 있으며, 그런 다음 자신의 데이터 리포지토리에 있는 다른 버전과 바이트별로 비교를 함으로써 저장된 첫 번째 버전에 비해 이 버전에서 바뀐 델타 파일을 만들어 낸다. 이 방식은 해시 충돌 가능성을 피할 수 있지만 지원되는 백업 애플리케이션을 사용해야 하기 때문에 장비가 메타데이터를 추출할 수 있다.
중복 방지 장비의 한 예로, 콤볼트 갤럭시(CommVault Galaxy)나 시만텍 백업이그젝(Symantec Backup Exec) 같은 장비는 공동 백업 애플리케이션에 대한 자신의 지식을 이용해서 파일이 백업이 될 때 이들을 소스 시스템으로부터 식별해 낸다. 백업이 완료되면 이 장비는 여러 번 백업된 파일을 가려내서 델타를 만든다.
다중 인피니트파일러는 최고 30TB의 백업 데이터를 지원하는 하나의 그리드로 통합이 될 수 있다. 엑사그리드가 사용하는 중복 방지 방안은 1GB의 .PST 파일에 하나의 새로운 메시지를 저장하는 멋진 일을 해내지만, 네 개의 .PST에 있는 동일한 첨부 파일 같이 여러 개의 서로 다른 파일에서 중복 데이터를 제거할 수 없다.
세파톤(Sepaton)의 자사 VTL용 델타스토어도 또한 콘텐츠 인지 방안을 사용하지만, 새 파일을 같은 로케이션에 있는 이전 파일과, 다른 로케이션에 있는 백업 버전에 둘 다 비교하기 때문에, 지리적인 중복을 제거할 수 있다.
딜리전트 테크놀로지스에서 자사의 프로텍티어(ProtecTier) VTL에 사용하고 있는 세 번째 방식은 해시 기반 제품들처럼 데이터를 블록으로 나누지만, 전용 알고리즘을 이용해 주어진 블록이 다른 것과 유사한지를 판단한다. 그런 다음 이것은 유사한 블록에 있는 데이터와 바이트별 비교를 함으로써 블록이 백업됐는지의 여부를 판단한다.

하드웨어냐 소프트웨어냐
백업 타깃은 자신들의 중복 방지 방안 외에 물리적 아키텍처에서도 차이가 난다. 데이터도메인, 엑사그리드 및 퀀텀은 디스크 어레이를 포함하고 있는 모놀리식 어플라이언스를 만들고 있다. 데이터도메인과 퀀텀의 어플라이언스는 NAS나 VTL 인터페이스를 가질 수 있는 반면, 엑사그리드는 언제나 NAS다. 딜리전트와 팔콘스토어는 자신들의 제품을 인텔이나 옵테론 서버에서 돌아가면서 외부 스토리지로의 VTL 게이트웨이를 만들어 주는 소프트웨어로 판매하고 있다.
VTL 인터페이스가 있는 백업 어플라이언스가 보다 정교해 보이고, 기존의 테이프 기반 백업 환경에 쉽게 통합도 가능하지만, 백업 애플리케이션이 가상 미디어 관리를 제어하기에는 NAS 인터페이스를 사용하는 게 더 좋다. 백업 파일의 보유 기간이 끝나면 시만텍의 넷백업과 같은 일부 백업 애플리케이션들은 디스크 리포지토리에서 그 파일을 삭제할 수 있다.
중복 방지 NAS 어플라이언스는 삭제를 발견하면 남은 공간과 해시 인덱스를 재정비할 수 있다. VTL에서는 테이프를 삭제하지 않기 때문에 가상 테이프가 덮어쓰기 될 때까지 공간을 해방시킬 수 있는 방법이 없다.
물론 1TB 백에 25TB의 데이터를 집어 넣기 위해서는 대가를 지불해야 하며, 이것은 단순히 돈의 문제가 아니다. 데이터를 청크로 잘라서 인덱싱함으로써 중복을 제거하는 일련의 모든 과정들은 속도를 다소 느리게 만들 수 있다. 오버랜드(Overland) 레오(REO) 9000 같은 중형급 VTL은 300Mbps 이상의 속도로 데이터를 백업할 수 있다. 딜리전트는 써드파티 벤치마크를 통해 자사 프로텍티어에서 200Mbps의 백업 속도를 얻을 수 있었지만, 여기에는 100개 이상의 디스크 드라이브가 있는 어레이를 전면에 내세운 쿼드 옵테론 서버가 사용됐다.
다른 업체들은 데이터 중복 방지를 백업 후에 실시되는 하나의 별개 프로세스로 처리함으로써 이러한 문제를 해결하고 있다. 팔콘스토어의 VTL 소프트웨어를 돌리는 시스템에서는 데이터가 백업 애플리케이션에서 하나의 압축된, 하지만 중복 방지되지는 않는 가상의 테이프 파일로 기록이 된다. 그런 다음 백그라운드 프로세스에서 데이터를 청크하고, 중복을 제거하며, 중복 방지된 데이터 블록이 원래의 가상 테이프에 있다는 인덱스인 가상 테이프를 만든다. 일단 가상 테이프의 데이터가 중복 방지되면, 이것이 차지하고 있는 공간은 다시 사용 가능한 공간 풀이 된다. 세파톤의 델타스토어와 엑사그리드도 또한 중복 방지를 백업 후 프로세스로 수행하고 있다.
이러한 후처리 방식은 백업 속도를 높일 수 있긴 하지만 여기에도 나름의 대가는 치러야 한다. 즉 후처리 중복 방지를 하는 시스템에는 자신의 중복 방지 데이터뿐만 아니라 전체 표준 백업 세트를 보유할 수 있는 충분한 디스크 공간이 반드시 필요하다. 한 주 전체/일별 점진적 백업 스케줄을 유지하고 싶다면 백그라운드에서 중복 방지를 하고 있는 시스템에서 이들 전체 백업을 요약할 수 있을 때까지 이들을 보관할 수 있는 몇 배나 많은 디스크 공간이 필요하다.
단지 중복 방지가 백그라운드에서 실행되고 있다고 해서 그 성능을 무시해서는 안 된다. VTL이 월요일 밤에 다시 서버를 백업하기 시작할 때까지 주별 백업 요약을 끝내지 못했을 경우에는 결과에 만족하기 힘들 것이다. 디스크 공간을 사용할 수 없거나, 혹은 중복 방지 프로세스가 백업 속도를 저하시키기 때문이다.

대역폭 보존
백업 어플라이언스에서 디스크 공간을 아끼는 것만이 자료 중복 방지 기술의 유일한 애플리케이션이 아니다. 아시그라(Asigra)의 텔레볼팅(Televaulting), EMC의 아바마 액시온(Avamar Axion), 그리고 시만텍의 넷백업 퓨어디스크(NetBackup PureDisk) 등과 같은 신세대 백업 애플리케이션들은 해시 기반의 백업 복제 방지를 이용해 왠에서 백업을 전송하는 데 필요한 대역폭을 줄인다.
우선 점진적 백업을 하는 여느 전통적인 백업 애플리케이션과 마찬가지로 이들 애플리케이션은 아카이브 비트, 최종 변경된 날짜, 그리고 최종 백업 이후 변경된 파일인 ID에 대한 파일 시스템 변화 저널 등과 같은 일상적인 수단을 사용한다. 그런 다음 이들은 파일을 보다 작은 블록으로 나누고 잘라서 각 블록에 대한 해시를 계산한다.
그런 후 해시는 로컬 사이트에서 백업된 블록 해시의 로컬 캐시와 비교된다. 그리고 로컬 캐시에 없는 해시와 파일 시스템 메타 데이터는 중앙 백업 서버로 전송되며, 여기서는 데이터를 자신의 해시 테이블과 비교한다. 백업 서버는 다시 지금까지는 없던 해시의 목록을 돌려보내 준다. 그러면 백업되고 있는 서버는 이러한 해시들이 대표하는 데이터 블록을 중앙 서버로 전송한다.
이러한 백업 솔루션은 하나의 단일 타깃이나 심지어 하나의 타킷 클러스터로 백업되는 서버 세트에서 나오는 데이터 뿐만 아니라 전체 엔터프라이즈에서 중복이 방지되기 때문에 백업 타깃보다 훨씬 높은 수준의 데이터 절감이 가능하다. CEO가 500개 지사 전체에 100MB의 파워포인트 프리젠테이션을 전송할 경우, 이것은 백업 스케줄이 가장 빠른 곳에서부터 백업이 될 것이다. 다른 모든 곳은 본사로 해시를 보내기만 하면 “이미 존재하는 데이터입니다. 감사합니다”라는 메시지를 받게 된다.
이러한 방식은 또한 해시 기반 시스템에 영향을 미치는 확장성 문제에도 덜 취약하다. 각각의 원격 서버는 자신의 로컬 데이터용 해시를 캐싱만 하기 때문에 이 해시 테이블이 빈 공간을 넘어서는 일은 없으며, 중앙 사이트에 있는 디스크의 디스크 I/O 시스템은 백업을 공급하는 왠보다 훨씬 빠르기 때문에 디스크에서 방대한 해시 인덱스를 검색하더라도 데이터를 전송하는 것보다는 훨씬 시간이 덜 걸린다.
텔레볼팅, 아바마 액시온 및 넷백업 퓨어디스크는 모두 비슷한 아키텍처를 갖고 있으며 중복 방지 데이터 저장소의 크기에 따라 가격이 책정되지만, 이들간에도 몇 가지 차이점이 있다. 넷백업 퓨어디스크는 고정 128KB 블록 크기를 사용하는 반면, 텔레볼팅과 아바마 액시온은 다양한 블록 크기를 사용한다. 따라서 후자가 결과적으로 더 많은 중복 방지가 가능하다.
시만텍은 향후에 더 큰 통합을 약속하고 있는데, 아무쪼록 이 말이 곧 데이터 센터 백업 작업에 더 많은 중복 방지가 통합된다는 뜻이기를 바라는 바다. 아시그라도 또한 자체 인프라를 구성하고 싶어하지 않는 중소기업들도 중복 방지 기술의 혜택을 볼 수 있다며 서비스 사업자를 대상으로 텔레볼팅을 선전하고 있다.
팔콘스토어의 VTL, 퀀덤의 DXi 시리즈, 그리고 데이터 도메인 어플라이언스 등과 같이 데이터가 중복 방지된 후 이것을 복제할 수 있는 백업 타깃들은 지사 데이터 센터의 오프사이트 백업에서도 같은 식의 대역폭 절감 효과를 볼 수 있으며, 실시간 복제가 필요하지 않은 애플리케이션의 장애 복구도 가능하다.
데이터 복제 방지 기술은 적어도 한동안은 각광을 받을 것이다. 우리는 실제로 백업 프로세스에 큰 변화를 주지 않으면서 20:1 이상으로 데이터 절감 효과를 보고 있다는 사용자들과 만나 보았다. 소형 조직에서는 아시그라, EMC 및 시만텍의 차세대 백업 프로그램을 기존에 사용하던 전통적인 백업 솔루션을 바꿀 수 있다. 중형 조직들은 데이터 센터에서 백업 타깃을 사용할 수 있다. 그리고 높은 성능의 백업이 필요한 대형 조직에서는 아마도 이 다음 세대의 솔루션을 기다려야 할 것이다.

충돌, “겁낼 필요 없다”
우리는 몇몇 사용자들로부터 해시 충돌(hash collision: 두 개의 데이터 세트가 같은 해시를 만들어 내는 현상)이 일어날까봐, 그래서 데이터 손상이 발생할까봐 해시 기반 중복 방지 기술을 사용하기 겁난다는 말을 들은 적이 있다. 물론 해시 충돌로 인한 데이터 손상의 위험이 전혀 없지는 않지만, 그 정도는 스토리지 관리자가 매일 부딪치는 위험들에 의하면 훨씬 경미하다.
복제 방지 구성에서는 보통 MD-5(128 비트 해시)나 SHA-1(160 비트 해시)를 사용한다. 동일한 MD-5 해시를 만들어 내는 임의의 데이터 블록이 두 개가 있을 가능성은 약 1/1037밖에 되지 않는다. 평균 4KB 크기의 블록으로 MD-5를 이용해 1 페타바이트의 데이터가 복제 방지되고 있을 경우, 두 개의 블록이 같은 해시를 갖고 있을 가능성은 약 1/1024다.
이에 비해 MTBF가 100만 시간으로 미러링되는 드라이브 세트의 두 드라이브가 서로 1시간 내에 오류를 낼 가능성은 1/1012로, 해시 충돌에 비해 10억 배나 더 높다. 이더넷이나 파이버 채널에서 전송되는 데이터는 CRC-32 체크섬으로 보호되는데, 여기서 탐지 불능의 데이터 에러가 발생할 가능성은 약 1/4x109이다.
또한 해시 충돌이 있다고 해서 전체 데이터가 유실되는 것은 아니라는 사실도 명심해야 한다. 중복 방지 시스템이 같은 데이터를 포함하고 있지 않는데도 불구하고 포함하고 있는 것으로 두 데이터 블록을 잘못 인식했을 경우, 시스템은 작동을 계속한다. 하지만 데이터가 복원이 될 때 그 데이터가 잘못 인식된 하나의 파일은 손상될 것이다. 다른 모든 데이터는 정확히 복원이 된다. 우리는 해시 충돌 가능성이 소행성 충돌이나 옐로스톤 화산 폭발 가능성보다 적다고 생각한다.
데이터 복제 방지 기술에 내재된 보다 큰 위험은 하드웨어 오류로 인한 끔찍한 데이터 손실이다. 어떠한 주어진 백업 작업에서 나오는 데이터는 블록으로 분해돼서 전체 중복 방지 데이터 저장소로 흩어지기 때문에, 중복 방지 장비에서 RAID 세트를 잃어버리면 그 서버를 얼마나 많이 백업하느냐에 관계없이 많은 데이터를 잃어버리게 된다. 때문에 주 스토리지 애플리케이션에서보다도 복제 방지 타깃에서 배터리 백업 캐시나 RAID 6 같은 고급 데이터 보호 기능들이 훨씬 더 중요하다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.