3회: 디지털 정보시대의 클러스터 스토리지의 방향
상태바
3회: 디지털 정보시대의 클러스터 스토리지의 방향
  • 데이터넷
  • 승인 2007.07.13 00:00
  • 댓글 0
이 기사를 공유합니다

클러스터 스토리지 기술
새로운 패러다임으로 성장세 ‘눈앞’

비정형 데이터 저장 분야의 리더 … 뛰어난 단순성·확장성 등 이점 많아

1부에서는 신개념의 스토리지인 클러스터 스토리지의 용도와 의미를, 2부에서 클러스터 스토리지의 전체적인 기술사항을 언급했다. 이제 3부에서는 클러스터 스토리지의 탄생 배경과 향후 방향에 대해서 언급해 보자. <편집자>

연재순서
1회: 정보의 혁명, 스토리지의 혁명
2회: 새로운 스토리지 솔루션 클러스터드 솔루션
3회: 디지털 정보시대의 클러스터 스토리지의 방향 (이번호)

김일동 //
한국아이실론 본부장
ildong.kim@isilon.com

클러스터 스토리지의 탄생배경을 말하기 전에 기존 스토리지의 한계점이 무엇이었던가를 생각해보면 좀 더 쉽게 말할 수 있다. DAS 외장시스템은 내장시스템의 한계로, SAN은 DAS시스템의 운용상에 한계로, NAS는 그 틈에서 공유를 개념으로 탄생했다.
일단 클러스터 스토리지는 NAS의 한 분야에서 출발했으며 기존 엔터프라이즈 환경은 지속적으로 증가하는 데이터와 더불어 요구되는 처리량의 증가를 감당하지 못했다. 뿐만 아니라, 늘어나는 데이터를 여러 개의 볼륨으로 나눔(볼륨크기의 한계로 인해)으로써 생기는 관리상의 불편함과 복잡성은 더욱 더 클러스터 스토리지 개발에 박차를 가하게 됐다. 다시 말하면 클러스터 스토리지는 대용량, 고성능, 고가용성을 위한 스토리지 시스템이다.

뛰어난 확장성의 분산형 파일 시스템
현재 분산형 클러스터 스토리지 솔루션은 비정형 데이터 저장 분야의 명백한 리더로 자리매김하고 있다. 지능적 분산형 파일 시스템과 모듈화된 업계 표준 하드웨어를 조합한 고성능 클러스터 스토리지 시스템으로 구성돼 뛰어난 단순성과 확장성을 제공함으로써 미디어/엔터테인먼트, 디지털 이미징, 생명 과학, 오일/가스, 제조업체, 공공 기관 등 데이터 집약적인 환경에서 비정형 데이터를 효율적으로 저장/관리할 수 있도록 설계됐다.
엔터프라이즈 환경에서의 운영체제(OS)의 중요성은 이미 입증된 사실이다. 이는 전반적인 IT운용 및 전략과 관련이 입증됐고 스토리지의 자원을 관리하고 운용하는 스토리지 소프트웨어도 데이터의 운영에 깊은 연관이 있으며 향후 확장이나 서비스 품질에도 상당히 영향을 미친다. 스토리지에서 요구되는 소프트웨어는 크게 3가지로 볼 수 있는데 파일 시스템, 볼륨 매니저, RAID이라고 할 수 있다.
이 3가지를 어떻게 접합시키고 운용하느냐에 따라 스토리지 운용의 성패가 달려있다. 또한 이 3가지 컴포넌트를 단일 소프트웨어 계층에 통합하고, 클러스터의 모든 노드에 걸친 지능형, 대칭형 단일 파일 시스템을 구현하는 데 많은 관심이 모아지고 있다. 이는 대규모 콘텐츠 저장소의 중앙 집중적인 관리, 대용량 콘텐츠 파일의 신속한 접근, 고가용성을 지원하며, 단일 네트워크 파일 시스템을 통해 초당 최대 처리 속도와 수백 테라바이트에 이르는 용량을 지원하기 위한 대책인 셈이기도 하다.
현재 분산 또는 병렬 파일시스템을 제공하는 벤더는 아이실론, 파나사스, 러스터(Lustre) 등이 있으며, 다양한 클러스터 솔루션을 제공하는 아이실론의 OneFS 솔루션이 분산파일시스템을 구현하는 논리를 살펴보면 <그림 1>과 같다.
클러스터 내의 전체 스토리지 노드에 파일과 메타데이터를 분산하며, 단일 스토리지 디바이스/볼륨에 대해서만 콘텐츠 분산을 지원하는 고전적 방식에 비해 한층 개선된 효과를 제공한다. 클러스터 운영 솔루션은 이처럼 완전한 분산형 접근 방식을 통해 혁신적인 성능, 확장성, 가용성, 관리성을 구현할수 있을 때 진정한 가치를 구현한다.
각 노드에 전체 파일 시스템의 레이아웃과 파일 위치에 대한 정보를 제공한다. 사용자는 어떤 노드를 통해서든 단일 네임스페이스를 사용해 모든 콘텐츠에 접근할 수 있다. 따라서 볼륨 공유가 불필요하며, 볼륨 사이즈의 제한이 존재하지 않을 뿐 아니라 스토리지 재구성/확장을 위해 시스템을 다운시키거나 여러 개의 네트워크 드라이브를 개별적으로 관리할 필요가 없다. SAN 시스템보다도 뛰어난 확장성, 성능, 유연성을 제공하는 한편 단일 NAS 디바이스 환경과 동일한 수준의 편의성과 단순성을 제공한다.

대칭형 아키텍처
각각의 스토리지 클러스터 노드는 모듈화되고 독립적인 방식으로 구성되며 각 노드는 디스크, 스토리지 서버, CPU, 메모리, 네트워크 등을 포함하고 있다. 클러스터에 새로운 노드를 추가할 때마다 클러스터의 용량, 처리 속도, 메모리, CPU, 네트워크 리소스는 이에 비례하여 확장된다. 각 노드들은 자동으로 연동돼 통합적인 스토리지 시스템으로서 동작하며, 디스크, 스위치 등의 특정 하드웨어나 노드에 장애가 발생하는 경우에도 폴트 톨러런스를 제공해야 한다.
분산형 아키텍처에서는 클러스터의 각 노드가 다른 노드와 항상 동기화된 상태를 유지하는 것이 매우 중요하다. 보통 클러스터 스토리지 노드는 고속의 기가비트 이더넷 또는 인피니밴드 스위칭 패브릭을 이용해 클러스터 내부 커뮤니케이션, 동기화 및 클러스터간 작업을 수행한다. 따라서 각 노드는 시스템 상의 다른 노드와 정보를 공유하며, 각각의 스토리지 노드는 다른 노드의 상태를 완전하게 파악할 수 있다.
분산형 락 매니저와 일관성 있는 캐싱, 원격 블록 매니저 등을 이용해 노드의 동기화를 수행하고 전체 클러스터의 글로벌 일관성을 보장한다. 이러한 글로벌 일관성은 파일 시스템 접근의 완전무결한 폴트 톨러런스 구현을 가능하게 한다. 클러스터의 어떤 노드에서든 읽기/쓰기 요청이 가능하며, 각 노드는 전체 파일 시스템에 대한 동일한 뷰를 공유한다. 클러스터의 모든 노드는 피어(peer)로서 동작하며, 따라서 시스템에 완전한 대칭성을 구현하고 내재적인 성능 병목을 제거할 수 있다.

고가용성 아키텍처
고전적인 파일 시스템에서는 스토리지 리소스 관리를 위해 마스터/슬레이브 구성이 사용된다. 마스터/슬레이브 구성은 필연적인 종속성을 유발하며 스토리지 시스템의 특정 컴포넌트에 발생한 장애로 인해 전체 시스템이 다운될 수도 있다. 데이터 무결성과 완전한 폴트 톨러런스를 보장하기 위해서는 클러스터의 모든 노드가 피어로 동작해야만 한다.
클러스터의 모든 노드는 피어로 동작하며, 따라서 어떤 노드에서든 애플리케이션 서버의 콘텐츠 접근 요청을 처리하는 것이 가능하다. 노드 중 하나에 장애가 발생하면 다른 노드가 그 역할을 대신하므로 완전한 폴트 톨러런스의 구현이 보장된다.

멀티-장애 지원
다수의 디스크 또는 전체 노드에 장애가 발생한 경우에도 콘텐츠에 지속적으로 접근할 수 있는 환경을 제공해야 한다. 흔히 두 개의 디스크가 동시에 장애가 발생할 가능성은 극히 드물기 때문에 해당사항은 추후에 생각해도 된다는 IT관리자도 잇을 것이다 하지만 회사의 사활이 걸린 서비스가 적은 가능성이나마 동시 2~4개의 디스크 장애가 발생해 서비스를 할 수 없다면 치명적인 결과를 초래할 수 있다. 이에 해당사항은 선택이라기 보다는 필수라고 본다.
클러스터의 다수 노드에 걸친 리드 솔로몬(Reed Solomon) ‘N+1, N+2’ ECC(Error Correction Code), 패리티 스트라이핑(parity striping), 미러 파일 스트라이핑(2x - 8x)지원 정책은 클러스터, 디렉토리, 서브디렉토리, 심지어 개별 파일 단위로 적용이 가능하다. 또 시스템이 온라인인 상태에서도 단순화된 웹 UI를 통해 정책을 쉽게 변경할 수 있다. 모든 파일은 클러스터 내의 전체 노드에 고르게 분산 저장되며, 노드 중 하나에 장애가 발생하는 경우에도 다른 노드를 통해 파일을 온전하게 조회할 수 있다.
특히 ‘N+2’ 더블 ECC를 이용하면 다수의 디스크 또는 노드에 장애가 발생하는 상황에도 대처가 가능하다. 각각의 파일은 클러스터의 다수 노드에 걸쳐 스트라이핑되며, 각 데이터 블록에 대해 2개의 패리티 스트라이프가 생성된다. ‘N+1’ 싱글 패리티와 달리, ‘N+2’ 더블 패리티는 리빌드 과정에서 두 번째 장애가 발생하더라도 완전한 복구를 지원한다. RAID5로 구성된 고전적 스토리지 시스템 환경에서 동일한 상황이 발생했다면 데이터의 복구는 전혀 불가능할 것이다.
N+2 RAID는 싱글-패리티 RAID 구성에 비해 100 배나 높은 MTBF(Mean Time Between Failures)를 제공한다. 클러스터 아키텍처 기반의 단일 파일 시스템을 통해 이러한 수준의 데이터 보호 환경을 제공하는 업계 유일의 클러스터 스토리지 솔루션이다.

드라이브 리빌드 기능
실제 장애가 발생한 경우, 클러스터의 전체 여유 공간을 이용해 병렬적으로 파일의 리빌드 작업을 수행해야 한다. 따라서 고전적인 스토리지 아키텍처에서 사용되는 전용 ‘패리티 드라이브’가 불필요하다는 뜻이다. 데이터 리빌드 과정에서 클러스터 내의 모든 노드에 존재하는 여유 공간을 활용해야 한다. 이와 같은 방법으로 클러스터 내의 프로세서와 컴퓨팅 파워를 통합적으로 활용할 수 있으므로, 고전적인 아키텍처에 비해 5~10배 빠른 속도로 데이터 리빌드 작업을 완료할 수 있다.
스토리지 시스템의 데이터 안정성을 개선하려면, 장애 디스크의 데이터 리빌드에 소요되는 시간을 최소한으로 단축할 수 있어야만 한다. 고전적인 스토리지 시스템 환경에서 리빌드 프로세스를 완료하기까지는 수 시간이 걸리며, 하드 드라이브의 용량이 확장됨에 따라 그 시간 또한 계속적으로 증가하고 있다. 향후 2년 이내에 테라바이트 사이즈의 디스크가 출시될 예정임을 감안한다면, 고전적인 스토리지 시스템 환경에서 디스크 장애를 복구하는 데에는 24시간 이상이 걸릴 수도 있다. 이 시간 동안 시스템에 추가적으로 디스크 장애가 발생한다면 손실된 데이터의 복구가 완전히 불가능하게 될 것이다.
클러스터 파일시스템의 가장 중요한 장점은 분산 아키텍처를 기반으로 구현됐으며, 클러스터의 모든 스핀들과 하드웨어를 이용해 장애 디스크의 리빌드 작업을 수행할 수 있다는 점이다. 이 경우 클러스터상의 각 노드의 성능은 개별 디스크의 속도에 의해 제한받지 않으며, 시스템은 디스크 장애로부터 매우 신속한 복구를 지원한다.
드라이브 용량에 따라 다르지만, 클러스터 내에서 발생한 디스크 장애는 최소 1~2 시간 내에 복구가 가능하다. 파이버 채널/SCSI 디스크의 복구에 8시간, ATA 디스크 드라이브의 복구에 8~24시간이 소요된다는 사실을 감안한다면, 클러스터 스토리지 구성이 제공하는 아키텍처의 이점은 분명해진다. 또한 다수의 컴포넌트에 장애가 발생하는 시나리오에서도 보다 유연하게 대처할 수 있는 안정적 시스템 환경을 구현하고 있다.
장애는 자의든 타의든 발생하게 돼있다. 장애에 대한 대처가 얼마나 신속하게 그리고 정확하게 이뤄지며 장애 지속 시간 동안 서비스가 원활이 진행되고 데이터가 보존 되느냐가 분명이 중요사항인 것이다.

셀프 힐링(Self-Healing)
전체 파일 및 디스크의 상태를 지속적으로 모니터하고 각 드라이브에서 제공하는 통계(예: 복구 가능한 읽기 오류)를 기록해 드라이브의 장애 시점을 예측해야 한다. 장애가 발생하기 전 사전에 예측해 대처한다면 이보다 전산운용에 큰 도움이 되겠는가.
셀프힐링은 장애 위험이 있는 것으로 판단된 컴포넌트의 데이터를 클러스터 내의 여유 공간으로 마이그레이션한다. 이 작업은 사용자 관점에서 투명하고 자동화된 방식으로 수행된다. 데이터의 리빌드 작업이 완료된 후에는 관리자에게 이를 통보하여 문제가 의심되는 드라이브에 조치를 취할 수 있게 한다. 이러한 기능을 활용함으로써 데이터가 100 퍼센트 안정적으로 저장되고 언제든 접근이 가능함을 사용자에게 보장할 수 있어야 한다.

관리 환경의 단일화
클러스터 내의 모든 콘텐츠에 대해 공유 풀을 생성하고, 사용자와 관리자가 단일 포인트를 통해 접근할 수 있어야 한다. 클러스터가 구성되고 나면, 사용자는 어떤 스토리지 노드를 통해서든 클러스터의 모든 콘텐츠에 안전하게 접근할 수 있어야 한다는 뜻이다. 따라서 모든 애플리케이션에 대해 동일한 관계를 구현하고, 전체 파일 시스템의 모든 파일에 대한 가시성 및 접근을 보장하는 것이 가능하다.
분산형 파일 시스템 구성은 서버에 직접 연결되는 스토리지의 필요성을 제거하고, 리소스의 조회, 공유, 할당을 위한 업무 효율성을 극적으로 개선해 준다. 사용자는 기존에는 접근하기 어려웠던 콘텐츠에 즉각적으로 접근할 수 있으며, 관리자는 필요에 따라 리소스를 다이내믹하게 추가하고 재할당할 수 있다. 그 결과로 새로운 비즈니스 애플리케이션을 한층 신속하게 구축하고, 네트워크의 어느 위치에서든 콘텐츠에 접근하고 공유할 수 있다.

확장시 다운타임 제거
다운타임 또는 애플리케이션 변경 작업을 수반하지 않고도 성능과 용량을 확장하는 것이 가능해야 한다. 최근 이슈화되고 있는 UCC의 경우를 들어보자. 데이터는 예측 불가능할 정도로 급속히 늘어나고 그만큼 즉시에 용량의 증설을 요구할 때가 많아진다는 뜻이다. 그런데 만약 용량의 증설이 필요할 때마다 서비스를 중단하고 확장해 간다면 이보다 더 불합리한 전산운용이 어디 있겠는가.
이에 시스템 관리자는 단순히 새로운 스토리지 노드에 네트워크 케이블을 연결하고 전원을 켜는 것으로 확장을 완료해야 하고 더 나아가 클러스터는 새로 추가된 스토리지 노드를 자동으로 인식하고 클러스터의 새로운 멤버로 설정하며 이 작업은 수십 초나 수 분내에 완료되며, 사용자는 단일 파일 시스템의 용량을 수 테라바이트 단위로까지 확장할 수 있어야 한다.
사용자는 모듈화된 접근법을 사용해 빌딩 블록 방식의 점진적 확장을 수행할 수 있으며, 따라서 필요 이상의 스토리지 용량을 사전에 구매할 필요가 없다. 또 모듈화된 설계를 기반으로 새로운 기술을 기존 클러스터에 추가하는 것이 가능하다. 예를 들어 노드에 고밀도 디스크 드라이브를 장착하거나 성능 개선을 위해 기가비트 이더넷 포트를 추가할 수 있다.
그 밖에도 클러스터 인터커넥트를 위한 기술이 필요하다.예를 들어 노드간의 성능향상을 위해서 인피니밴드를 지원함으로써 극적인 확장성 개선을 도모할 수 있다. 백엔드 인피니밴드 스위치를 통해 네트워크 지연을 0에 가까운 수준으로 줄인 상태에서 동기화 작업을 수행하고, 클러스터의 전반적 성능을 최적화할 수 있다. 실제 성능 테스트 결과에서도 백엔드 인터커넥트에 기가비트 이더넷 대신 인피니밴드를 이용하는 경우 성능이 대폭 개선됨이 확인됐다.
위 사항들은 현재 일반 기업 환경의 통합 요구 사항을 만족하는 다양한 기능을 요약한 것이다. 아직 고전적인 IT운영은 BYO(Build Your Own)방식으로 되고 있다. 즉, 주요 솔루션을 구축한 다음 컴포넌트 기능이 필요할 때마다 해당 솔루션을 구매한다는 뜻이다. 이는 효율적인 투자를 위해서 정한 방식이라고 할 수 있지만 전반적인 호환성과 서비스 품질의 저하를 가져오기 때문에 향후에는 특정 서비스시스템을 구축을 기획할 시 통합솔루션을 채택하는 것을 권하고 싶다.

다음은 대표적인 고객의 피드백이다.
질의사항 : 통합(Integration)이 고객께 중요한가요?
1. 어떤 아키텍처는 자기만의 시스템을 구축하길 원한다.
2. 내가 원하는 데로 동작하는 솔루션이면 된다.
해당사항은 파일시스템만을 예로 든 것 이지만 이외 분야도 다르지 않을 것이다. IT운영 기획하는 고객의 입장에서 앞에서 언급한 사항을 충분히 느끼고 문제점이라고 여기고 있다는 것이다.

클러스터 스토리지의 미래
앞서 언급한 사항들은 클러스터 스토리지의 기능적인 요구사항 및 미래성을 나타낸 것이라면 클러스터 스토리지 비즈니스의 발전방향은 주 데이터인 디지털 콘텐츠 증가의 흐름을 보면 될 것이다.
클러스터 스토리지 분야는 위에서 보듯이 디지털 데이터량의 증가만큼 엄청난 성장세와 누구도 예측하지 못할 기술발전이 이뤄질 것이다. 클러스터 스토리지 기술은 스토리지의 미래라고 감히 말할 수 있다.


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