스토리지 가상화
스토리지 가상화(Storage virtualization)는 가상화 기능을 제공하는 소프트웨어 또는 별도의 하드웨어 장비 등을 통해 이기종 스토리지를 통합하는 기술이다. 필요로 하는 스토리지 공간 대신 씬 프로비저닝(Thin Provisioning)이라는 기술을 통해 초기에 필요한 최소의 공간만을 가상으로 할당하여 서비스 구현이 가능하도록 한다. 샌(SAN)과 나스(NAS)는 파이버 채널(Fibre Channel) 또는 아이피(IP)를 통하여 자원을 공유하는 형태이므로 넓은 의미의 스토리지 가상화 개념에 포함되며, 이러한 기술이 가상화 인프라 환경에서 스토리지 서비스로서의 지원이 가능하도록 발전해 나가고 있다.
목차
개요[편집]
네트워크 기반의 디스크 배열과 같은 저장 장치에서 더 좋은 기능이 가능하도록 가상화하는 기술로, 다수의 저장 장치를 단일 저장 단위처럼 보이도록 한다. 저장 영역 네트워크에서 주로 사용된다. 디스크의 가상화는 다른 기종 관리와 백업, 복구의 단순화와 자동화, 구성의 단순화 등을 제공하는 스토리지 통합 관리 솔루션으로, 스토리지 용량이 충분한지 수시로 확인하고, 예비 스토리지 자원의 준비 비용을 절감할 수 있어 관리의 효율성을 높일 수 있다.[1] 컴퓨터 과학에서 스토리지 가상화는 실제 저장소 리소스에 대한 논리적 뷰를 제시하는 과정이며, 호스트 컴퓨터 시스템으로 기업의 모든 저장 미디어(하드 디스크, 광학 디스크, 테이프 등)를 단일 스토리지 풀로 취급하는 과정이다. "저장소 시스템"을 저장소 배열, 디스크 배열또는 파일러라고도 한다. 스토리지 시스템은 일반적으로 특수 하드웨어 및 소프트웨어를 디스크 드라이브와 함께 사용하여 컴퓨팅 및 데이터 처리를 위한 매우 빠르고 신뢰할 수 있는 스토리지를 제공한다. 스토리지 시스템은 복잡하며 고급 데이터 보호 기능과 함께 스토리지 용량을 제공하도록 설계된 특수 목적 컴퓨터로 간주될 수 있다. 디스크 드라이브는 시스템 내의 하드웨어 및 특수 목적 임베디드 소프트웨어와 함께 스토리지 시스템 내의 하나의 요소다. 저장소 시스템은 블록 액세스 저장소 또는 파일에 액세스한 저장소를 제공할 수 있다. 블록 액세스는 일반적으로 파이버 채널, 인터넷 스카시(iSCSI), SAS(tatistical Analysis System), FICON(Fibre Connection) 또는 기타 프로토콜을 통해 전달된다. 파일 액세스는 종종 네트워크 파일 시스템(NFS) 또는 서버 메시지 블록(SMB) 프로토콜을 사용하여 제공된다. 저장소 시스템의 컨텍스트 내에 발생할 수 있는 두 가지 기본 유형의 가상화가 있다. 첫 번째로 블록 가상화는 물리적 저장소 또는 이기종 구조에 관계없이 액세스할 수 있도록 물리적 저장소에서 논리 저장소(partition)의 추상화(분리)를 말한다. 이러한 분리를 통해 스토리지 시스템의 관리자는 최종 사용자를 위한 저장소를 관리하는 방법에 대한 유연성을 높일 수 있다. 두 번째로 파일 가상화는 파일 수준에서 액세스한 데이터와 파일이 물리적으로 저장되는 위치 간의 종속성을 제거하여 네트워크 결합 스토리지(NAS) 문제를 해결한다. 이를 통해 스토리지 사용 및 서버 통합을 최적화하고 중단 없는 파일 마이그레이션을 수행할 수 있다.[2]
역사[편집]
과거에는 다루어야 할 데이터의 양이 많지 않았기 때문에 이를 저장하기 위한 스토리지의 관리 역시 어려운 일이 아니었지만, IT산업의 빠른 발전으로 인해 처리해야 할 데이터가 급격하게 증가하여 데이터 스토리지는 점점 더 대형화되기 시작하였다. 데이터 스토리지 시스템은 대형화되면서 많은 디스크 드라이브를 사용하게 되었으며, 수많은 스토리지를 관리하는 것은 어렵고 복잡한 문제로 발전하게 되었다.[3] 1980년대 중반까지 디스크 스토리지는 단일 디스크 드라이브였다. 가령 10GB의 디스크 공간이 필요하다고 하면 10GB 하드디스크 하나를 사용했다는 것이다. 구조는 지극히 간단하지만 이 방식은 하드디스크의 에러가 곧바로 시스템 중단 및 데이터 손실로 이어지는 안정성의 문제가 심각했다. 또 디스크의 입출력 처리 능력이 용량 증가에 따라가지 못하는 성능상의 문제도 안고 있었다. 스토리지 네트워크의 경우는 논리 단위 번호(LUN)으로 표현될 수 있는 거의 어떤 것이든 가상 볼륨으로 집합될 수 있다. 많은 업계 관계자들은 심지어 가상 볼륨을 만들기 위해 사용되는 소프트웨어를 ‘논리 단위 번호 스플라이서(splicer)’ 혹은 ‘논리 단위 번호 카버(carver)’ 등과 같은 용어로 부르기도 한다. 수십 년 동안, 디스크 가상화는 일반적으로 대형 디스크 어레이의 컨트롤러에서 실행되는 코드에 의해 제공돼 왔다. 컨트롤러의 소프트웨어는 어레이 내에서 복수 디스크 드라이브의 집합을 지원했으며, 이들이 가상 볼륨으로 서버 운영시스템에 제시될 수 있도록 지원했다. 스토리지 어레이들이 파이버 채널 패브릭으로 점차 모여감에 따라, 업체들은 하나의 스토리지 영역 네트워크 소프트웨어 계층, 즉 가상화 엔진으로서 어레이 컨트롤러의 가상화 기능성을 제공하려 노력하고 있다.[4]
특징[편집]
품질 측정 기준[편집]
데이터 스토리지 장비의 품질 기준은 매우 단순하다. 스토리지 장비는 성능이 좋고 고장나지 않는 고가용성을 가지고 가격이 저렴하고 관리하기 쉬우면 좋은 장비라고 평가된다. 가상화는 이 4가지 기본적인 품질 측정 기준을 모두 향상시키는데 응용될 수 있다. 폭발적으로 증가하는 스토리지 사용량과 높은 서비스의 가용성에 대한 사용자의 요구 사항은 적정한 입출력(I/O) 성능, 가용성, 활용률을 포함한 용량 대비 비용과 관리성을 제공하기 위해서 가상화 솔루션의 도입이 요구된다.
- 입출력 성능(I/O Performance) : 높은 입출력 성능을 요구하는 애플리케이션을 위하여 스토리지 가상화에서는 여러 스토리지에 걸쳐 데이터를 스트라이핑하여 저장하는 기술 등을 사용함으로써 데이터 입출력 성능을 향상시킬 수 있다. 또한 애플리케이션의 성능에 있어 데이터 액세스와 전송에 관련된 속도가 차지하는 비중은 점점 더 증가하고 있다. 예를 들어 데이터의 전송속도가 비디오 재생기의 처리속도를 따라잡지 못한다면 비디오 온디맨드 환경의 구현은 불가능하다고 할 수 있다. 또 신용카드 데이터베이스의 업데이트 속도가 충분히 빠르지 못하다면, 줄을 선 고객들의 불만은 그에 비례해 증가할 것이다. 여기에 가상화 기술을 적용한다면, 여러 스토리지 장비들을 병렬 배치해 애플리케이션 관점에서의 입출력 성능을 향상시키는 스트라이핑(striping)이 가능하다.
- 가용성(Availability) : 온라인 환경이 일반화되면서 컴퓨터 시스템의 가용성에 대한 요구는 더욱 더 증가하고 있다. 고객들은 단지 컴퓨터가 다운됐다는 이유로 음식을 살 수 없거나 자동차 연료를 넣지 못하게 됐다는 사실을 납득하지 못한다. 에너지 서비스, 운송 시스템, 공공 안전, 엔터테인먼트 서비스 등 대부분의 산업 분야는 데이터가 필요할 때 제공될 수 있다는 데이터 프로세싱 시스템의 안정성에 의존하고 있다. 데이터는 데이터 스토리지가 가용한 경우에만 역시 제공이 가능하다. 장애가 발생하더라도 서비스를 제공할 수 있으며 데이터를 복구할 수 있어야 한다. 스토리지 가상화에서는 동일한 데이터를 미러링(mirroring)하거나 복제함으로써 스토리지 고장이 발생하더라도 데이터에 대한 손실을 막을 수 있도록 한다. 미러링 기술은 동일한 형태의 두 개 또는 그 이상의 디스크 드라이브를 사용해 디스크 장애에 대비하고 가용성을 향상시킨다. 미러링을 포함하는 데이터 가용성을 향상시키기 위한 기술들이 제공된다.
- 용량 대비 비용(Cost of Capacity) : 디스크 스토리지의 가격이 급격하게 하락하고 있는 반면, 스토리지 사용량 역시 그만큼 빠르게 증가하고 있다. 가상화의 미러링, 원격 복제(remote replication)와 같은 기술은 디스크 사용량의 증가를 더욱 가속화하고 있으며, 이러한 이유 때문에 스토리지 용량에 따른 비용은 중요한 이슈로 떠오르고 있다. 가상화는 여러 장비의 스토리지 용량을 한데 모으거나(aggregate), 유휴 공간을 필요한 다른 서버에 할당(redeploy)하는 것을 가능하게 함으로써, 스토리지의 활용률을 극대화하는 기능을 제공한다. 데이터 센터의 스토리지 활용률은 50% 정도에 못미치고 있다. 기업은 스토리지 비용의 절감을 통해 IT 비용을 줄이거나 애플리케이션의 성능 향상에 꾸준히 투자하는 것이 가능하다. 스토리지 가상화를 통하여 필요에 따라 스토리지를 할당하고 관리함으로써 불필요한 스토리지 추가를 방지하면서 기존 스토리지의 활용률을 높일 수 있다. 또한 스토리지 가상화를 통하여 분산된 스토리지를 통합하고, 사용되지 않고 남아도는 스토리지를 필요한 곳에 재배치할 수 있도록 함으로써 스토리지 추가 등으로 인한 비용을 절감할 수 있다.
- 관리성(Manageability) : 전체 IT 비용 중에서도 가장 빠른 속도로 증가하는 부분이 시스템 구성요소와 기능을 관리하는 데 수반되는 비용이라는 점은 오늘날 IT 업계에서는 상식처럼 받아들여지고 있다. IT 비용을 산정하는 방식은 전문가들마다 서로 다르지만, 스토리지를 구매하는 비용에 비해 5배에서 10배 가까운 비용이 관리에 소요된다는 계산이 일반적으로 통용되고 있는 것처럼 보인다. 때문에 관리 비용은 스토리지 품질의 중요한 측정기준이 된다. 스토리지를 구매하려는 고객은 1명의 관리자가 더욱 더 많은 용량을 관리할 수 있게 해 주는 솔루션을 찾고 있다.[5]
장단점[편집]
데이터 센터의 스토리지 활용률은 50% 정도에 못미치고 있다. 따라서 스토리지 가상화를 통하여 필요에 따라 스토리지를 할당하고 관리함으로써 불 필요한 스토리지 추가를 방지하면서 기존 스토리지의 활용률을 높일 수 있다. 그리고 스토리지 관리 비용은 스토리지 구매 비용 보다 더 많이 소요된다는 것은 일반적인 인식이다. 이러한 스토리지 관리 비용은 스토리지 가상화를 통해 줄일 수 있다. 스토리지 가상화는 각각의 많은 스토리지 장치들을 하나의 가상화 스토리지로 통합함으로써 장애 복구 등과 같은 스토리지 관리에 용이하며 이를 위해 필요한 작업을 줄일 수 있다.
- 가상 스토리지의 성능
블록 스토리지 디바이스를 가상화하기 위한 모든 소프트웨어에 기본적으로 레이드(RAID) 기술이 구현돼 있다. 레이드 기술은 모든 데이터 센터 환경에 보편적으로 적용된다. 모든 엔터프라이즈 스토리지 시스템은 입출력 성능, 데이터 가용성, 관리성의 향상을 위해 레이드 기술의 일부를 내부적으로 구현한다. 서버 기반으로 구현되는 레이드 역시 동일한 혜택을 제공하며, 때로는 2가지 이상의 스토리지 시스템을 하나의 볼륨으로 조합함으로써 추가적인 용량, 입출력 성능, 가용성 향상 효과를 누릴 수 있다. 어떤 레벨의 레이드 기술을 구현했을 때 최대의 효과를 누릴 수 있는 지 고민하는 경우가 있다. 선택할 수 있는 기술의 종류가 그만큼 다양하며, 각각의 기술이 모두 일정 수준 이상의 입출력 성능을 향상시키고 데이터의 안정성을 확보해주는 기능을 제공하고 있기 때문이다. 이렇게 생성된 가상 디바이스를 이용해 파일 시스템은 포맷, 데이터 파일의 저장과 같은 작업을 수행한다. 레이드 시스템에서 제공하는 가상 디바이스는 논리 단위 번호(LUN)이라는 용어로 불리는데, 가상화된 어레이는 단일 논리 단위 번호로 표시될 수도 있고, 컨트롤 소프트웨어에 의해 여러 개의 논리 단위 번호로 분리돼 제공될 수도 있다.
- 가상 스토리지 가용성
미러 또는 레이드 구성이 전혀 돼 있지 않은 디스크 드라이브에 장애가 발생되는 경우, 데이터는 소실되며 복구가 불가능하다. 이러한 경우 백업된 데이터를 이용해 서비스를 복구하는 것 이외에는 다른 방법이 없다. 하지만 핫 스페어, 핫 스왑 등을 가진 미러 디스크와 같은 고가용성 시스템의 경우에는 복구 방법이 제공된다. 여기에 더해 데이터 센터 전체의 장애에 대비한 원격지에 데이터 복제를 위한 기술이 요구된다. 가상 스토리지의 다운 타임을 최소화하기 위해서는 이중화된 컴포넌트에 문제가 발생하는 경우 자동적으로 교체될 수 있어야 한다. 레이드 시스템의 경우 디스크 드라이브, 내부 데이터 경로, 전원, 냉각 장치 등의 컴포넌트가 모두 이중화되며, 서버는 클러스터링 소프트웨어를 이용해 여러 개의 그룹으로 구성함으로써 이중화가 가능하다. 스토리지 네트워크는 서버와 스토리지가 서로 분리된 두 개의 네트워크를 통해 연결되도록 함으로써 이중화된다. 레이드 시스템에 의해 구성된 논리 단위 번호를 서버 기반으로 다시 통합해 대용량의 단일 가상 디바이스를 생성하게 된다. 이렇게 생성된 가상 디바이스는 용량, 성능, 가용성 면에서 모두 뛰어나며, 로드 밸런싱이 가능하므로 개별적으로 구성된 하부의 레이드 시스템 기반 어레이의 성능을 압도한다. 이때 스트라이핑 대신 서버 또는 네트워크 기반 미러링을 적용하는 경우, 레이드 시스템의 가용성 향상이 가능하다.[5]
- 접근성 및 성능
스토리지 가상화 솔루션 벤더들은 일반적으로 일반 서버에 예를 들면, 윈도 서버에 가상화 소프트웨어를 설치해 볼륨 구성 기능, 내부복제 기능 및 원격지 복제 기능 등을 구현하고 있는데, 이러한 솔루션은 JBODs(Just Bunch of Disks) 같은 저가의 디스크를 이용해 구축된다. 이러한 디스크들은 히타치와 같은 인텔리전트 스토리지가 제공하는 기능들을 제공하지 못하기 때문이다. 이는 역으로 인텔리전트 스토리지와 현재의 가상화 솔루션을 이용하게 되면 애플리케이션 서버와 스토리지 사이에 가상화 솔루션 장비가 있어서 모든 입출력가 흘러가는 구조인 인-밴드 방식이므로 고가의 스토리지의 성능과 기능을 활용하는데 제약을 받게 된다는 의미가 된다. 가용성, 즉 안정성을 고려한다면 이미 많은 고객은 서버, 스토리지 영역 네트워크, 스토리지의 3개 레이어를 갖추고 있을 것이다. 이런 상태에서 가상화 솔루션의 레이어가 추가된다면, 4개의 레이어가 애플리케이션 입출력을 위해 필요하게 된다. 이는 또 다른 장애 지점을 추가하게 되는 것이다. 따라서 가상화 솔루션도 이중화 및 다중화 구축이 권장된다.
- 확장성과 관리 편의성
기업의 스토리지 인프라는 정보의 양이 증가할수록 지속적으로 증가할 수밖에 없다. 그래서 스토리지 인프라 구성 시 중요한 요소가 향후 확장성인데, 현재 이중화 및 다중화돼 있는 스토리지 인프라 상에서 스토리지 영역 네트워크 스위치를 확장하면 스토리지 확장을 용이하게 할 수 있다. 스토리지 가상화 솔루션을 이용하게 되면 논리적인 확장성이 뛰어나 물리적인 스토리지 단계의 확장성이 아닌 애플리케이션 단계의 유연한 확장성의 의미를 가질 수 있다. 관리 편의성의 측면에서 보면, 현재 일부 솔루션 중에는 현 3개의 레이어 상황에서 가상화 레이어까지 가세하게 돼 관리해야 할 레이어가 증가하게 된다. 따라서 애플리케이션에서 스토리지 끝단까지의 입출력 패스 중에 관리 포인트가 증가하게 되는 경우가 발생한다. 그래서 최근 많은 벤더들의 움직임은 관리 편의성 제공을 위해 기존 스토리지 네트워크 상에 이러한 기술들을 접목하려는 시도를 하고 있으며, 일부 벤더들은 네트워크 상에 가상화 기술을 접목한 초기 수준의 제품을 제공하고 있다.
- 복잡성 해소와 구축 용이성
애플리케이션 기반의 가상화는 통합된 스토리지 영역 네트워크 인터페이스를 기반으로 가상화 솔루션을 탑재한 시스템을 추가함으로써 구성이 완료된다. 애플리케이션 기반의 가상화는 서버와 스토리지 간의 데이터의 메인 스트림에 관련하는 인밴드 방식과 데이터의 위치정보 등과 같은 컨트롤정보에만 관여해 가상화를 완성하는 아웃 오브 밴드로 세부적으로 구분할 수 있지만 두 가지다 성능관련, 구축편의성 관점 등에서 상대적인 장단점이 있을 뿐 동일한 애플리케이션 기반의 가상화다. 이러한 애플리케이션 기반의 가상화에 대응되는 가상화로써 ‘스토리지 기반 가상화’가 있다. 스토리지 기반 가상화는 보유한 스토리지군들 중에서 가상화 기능을 컨트롤러상에 이미 보유한 스토리지에서 별도의 서버 시스템 추가 없이 가상화를 구현하는 방식이다. 스토리지 기반 가상화는 기존 스토리지 가상화 솔루션들과 달리 별도의 하드웨어를 필요로 하지 않는다는 점에서 복잡성 해소와 구축용이성 등의 다양한 장점을 가지고 있다. 하지만 이러한 장점보다 더욱더 중요한 특징 두 가지가 있다. 바로 아키텍처 자체가 가져다 줄 수 있는 안정성과 성능이다. 이 중요한 특징이 바로 스토리지 기반 가상화를 현재 시점에서 가장 많이 주목받고 선택되는 가상화 방식이 될 수 있었던 가장 큰 이유이다.
스토리지 기반 가상화 솔루션을 선택해 도입하는 가장 큰 이유는 ‘단일 스토리지 솔루션 적용이 가능한 비가상화 영역제공’이라는 특성 때문이다. 가상화 솔루션이 고안된지 상당한 기간이 흘렀지만 왜 시장에서는 그 편리하다는 가상화 솔루션을 앞다투어 도입하지 않고 있느냐라는 의문이 있었다. 그 의문의 해답은 가상화 도입에는 현실적인 리스크가 크다는 상당히 부분이다. 가상화 도입의 이면에는 성능적인 이슈와 안정성에 대한 이슈 두 가지가 고객이 도입을 과감하게 선택하지 못하는 결정적인 요소로 자리 잡고 있다. 관리 편의성과 약간의 성능 저하 가능성을 맞바꾸어야 하고, 관리 편의성과 함께 약간의 불안정성을 인정해야 하는 등의 문제점이 필연적으로 가상화 도입에 맞물려 있었다. IT운영 측면에서 이 두 가지 요소는 곁가지 문제가 아니라 핵심 사안에 해당된다. 현실적인 문제점이 해결되지 않는 한 가상화 시장이 무르익는 다는 것은 불가능하다. 이러한 두 가지 문제점을 해결하고자 현실적인 대안으로 등장한 것이 스토리지 기반 가상화다. 현실적인 가상화로서 인정받으면서 시장진입 후 단기간에 상당한 사례를 확보하게 됐다.
- 간단한 구성 방식
스토리지 기반 가상화 솔루션은 구성 방식이 매우 간단하다는 점을 제외하면 일반적인 가상화와 비슷한 방식으로 동작하며, 일반적인 가상화가 가져다주는 모든 잇점을 동일하게 제공한다. 가상화 대상 스토리지를 스토리지 풀(Pool)로 묶어서 간편하게 할당하고 대상 스토리지군에 따라서 고성능 풀과 저성능 스토리지 풀로 구분해 서비스 제공이 가능한 부분도 동일하다. 하지만 여기에 한 가지 더 스토리지 기반 가상화는 일반적인 스토리지 기능도 하고 있으므로 가상화 되지 않은 내장 스토리지 즉 비가상화 영역 스토리지를 별도로 제공한다. 이 비가상화 영역 스토리지는 가상화 로직을 경유하지 않으므로 고객이 리스크로 고민했던 안정적인 성능 제공 유무에 대한 걱정을 해소시켜준다. 이에 추가로 비가상화 영역은 가상화 영역과의 솔루션을 공유한다. 즉 비가상화 영역에서 적용하는 모든 스토리지 관련 솔루션이 비가상화 영역과 함께 연동해 제공할 수 있다.
애플리케이션 기반 가상화 솔루션에서도 성능 이슈가 대두된다면 일부 스토리지를 가상화 하지 않고 제공하면 되겠지만, 결국 관리 일원화와 같은 가상화의 기본 개념에 모순되고, 비가상화 영역과의 스토리지 관련 솔루션의 적용은 사실상 불가능하므로 결국 가상화의 궁극적인 목적에 도달하지 못하다. 예를 들어 스토리지 기반 가상화 솔루션에서 성능을 요하는 온라인성 업무용으로 비가상화 영역을 쓰고 데이터 복제용으로 저가형 이기종 스토리지를 쓴다고 할 때 단일 복제 솔루션으로 비가상화 영역의 스토리지와 가상화 체제하의 이기종 스토리지가 스토리지 컨트롤러상에서 대량데이터 복제가 가능하다는 것이다. 성능 이슈, 관리편의성, 솔루션 단일화 등의 모든 잇점을 가져가고 안정성까지 확보하는 개념이 된다. 성능적인 이슈뿐만 아니라 단지 가상화 기술자체를 좀처럼 신뢰하지 못하는 고객의 경우에도 초기에는 가상화를 적용하지 않은 볼륨체제로 운용하다가 단계별로 가상화를 적용 또는 활용 연동하는 것이 가능하다는 것이다.[6]
종류[편집]
스토리지 가상화는 크게 3가지 종류로 나눌 수 있다.
장치 기반 가상화[편집]
물리적인 스토리지 장치를 레이드 컨트롤러 등을 이용하여 스토리지 어레이로 구성하는 방식이다. 장점으로는 저장 장치 또는 하위 시스템은 호스트 플랫폼 또는 OS와 독립적이고, 가상화 기능은 물리적 디스크 드라이브에 근접한 장치 컨트롤러에서 구현된다는 점이다. 또한 이 솔루션은 반응성이 뛰어나며 더 나은 성능을 제공한다. 단점으로는 일반적으로 공급업체 독점이므로 이질적인 스토리지 자산을 사용하여 스토리지 영역 네트워크 환경에서 관리하기가 어렵다는 점이다. 데이터 저장 장치 공급업체는 네트워크 파일 시스템(NFS), 서버 메시지 블록(CIFS), 인터넷 스카시(iSCSI), 파이버 채널(FC) 및 FCoE와 같은 광범위한 물리적 스토리지 기술에 대한 지원을 통합된 스토리지 아키텍처를 기반으로 한 단일 상자에 통합하여 이러한 제약을 극복한다. 넷앱(NetApp) 데이터 온탭(data ONTAP) 7G 및 8.0뿐만 아니라 EMC의 셀러라, 클라리온은 통합 스토리지 아키텍처를 기반으로 한다.
호스트 기반 가상화[편집]
호스트에서 스토리지 가상화는 이미 일반적인 것이다. 처음에는 호스트 기반 가상화가 물리적 타깃에서의 ‘볼륨’에 대한 애플리케이션 뷰를 추상화하고, 호스트 인터페이스가 본 논리적 단위 번호 주소 지정을 합한 것이었다. 이러한 유형의 가상화는 볼륨 매니저로 알려져 있는 소프트웨어에 의해 제공된다. 볼륨 매니저 공급업체들이 스냅샷, 미러링 및 복제와 같은 추가 기능들을 추가한 것도 같은 맥락에서다. 볼륨 매니저는 원래 직접 부착식을 사용하던 시기에 개발된 것으로 스토리지 영역 네트워크를 인식하지는 못했다. 복제와 같은 일부 기능들이 이기종 장치간에 완료될 수 있었지만, 일반적으로 가상 볼륨은 볼륨 당 한가지 유형의 스토리지로 제한됐다. 호스트 가상화의 장점은 스토리지 플랫폼 이나 공급업체와 무관하며 기본 스토리지 영역 네트워크 기술, 파이버 채널(FC), 인터넷 스카시(iSCSI) 등과 독립적인 소프트웨어 솔루션이라는 점이다. 단점으로는 일반적으로 호스트별로 라이선스가 부여되며 비용이 많이 들 수 있다. 또한 가상화 소프트웨어는 복잡할 수 있으며 저장소 대상에 도달하기 전에 모든 프레임을 가로채고 리디렉션해야 하며, 모든 호스트는 개별적으로 관리되고 각 호스트는 소프트웨어 드라이버를 설치해야 한다. 그리고 호스트 주기가 필요하고 볼륨 매니저가 상주하는 호스트로 제한되며 볼륨 매니저는 호스트 플랫폼에만 특정한 것이고 종종 호스트 소프트웨어에 포함된다는 점이다. 브이엠웨어 가상머신 파일 시스템(Virtual Machine File System, VMware VMFS)은 실제 호스트가 가상머신(VM) 기반이기 때문에 이러한 문제 중 일부를 해결한다.
네트워크 기반 가상화[편집]
지난 4∼5년간에 걸쳐 시장에는 수많은 스토리지 영역 네트워크 기반 가상화 제품들이 쏟아져 나왔다. 인-밴드(in-band) 어플라이언스 대 아웃-오브-밴드(out-of-band) 어플라이언스 또는 지능형 스위치 블레이드에 대한 논쟁이 뜨거운 열기를 띠며 벌어져 왔다. 하지만 이런 논쟁을 통해 복잡한 문제가 해결되기는커녕 스토리지 네트워크의 코어에 또 다른 복잡한 문제를 추가했을 뿐이었다. 스토리지 컨트롤러에 의해 네트워크의 에지에서 완성됐던 기능은 스토리지 영역 네트워크의 코어에서 구현하기 위해 다시 개발됐다. 이 기능의 오버헤드에서 결과적으로 발생되는 대기 시간은 스토리지 영역 네트워크에 연결돼 있는 모든 이가 느끼는 것이다. 스토리지 영역 네트워크에서는 인텔리전스가 중요하다. 하지만 인텔리전스는 올바른 정보에 액세스할 때만 유용한 것이 될 수 있다. 네트워크의 코어에 상주하는 어플라이언스 또는 스위치 블레이드는 호스트 애플리케이션의 입출력 여부나 스토리지 시스템에서 데이터의 배치에 대한 정보는 갖고 있지 않는다. 이 정보는 원래 입출력 요청의 무결성에 위배되는 입출력을 인터셉트 및 리디렉션해 얻는다. 하지만 이 정보는 호스트 입출력를 수신하기로 돼 있는 스토리지 컨트롤러에 직접 사용할 수 있다. 또한 IPSec 및 ESP와 같은 종단간 보안 프로토콜은 종점들(호스트와 스토리지) 사이에서 프록시(가상화 인텔리전스)를 허용하지 않는다. 장점으로는 네트워크 기반 가상화는 가상화 어플라이언스를 통해 또는 파이버 채널 스위치 내에서 달성된다. 이 솔루션은 스토리지 플랫폼, 호스트 플랫폼 및 OS와 완전히 독립적이다. 그리고 네트워크 기반 가상화는 스토리지 영역 네트워크에 연결됨으로써 연결된 모든 호스트와 스토리지 장치에 액세스할 수 있으며 고성능 및 확장성을 제공한다는 점이다. 단점으로는 가상화 어플라이언스는 데이터 경로에 인밴드로 배포되는 경우 병목 현상으로 간주되는 경우가 많다. 또한 확장성 문제가 있을 수 있으며 단일 실패 지점을방지하기 위해 클러스터를 클러스터해야 한다는 점이다. 대신 고성능 백플레인에 액세스하여 스위치 기반 가상화를 통해 확장성이 향상된다. 이 향상된 기능은 선택한 특정 스위치 유형 및 하드웨어로 제한되며 향후 변경 사항에 대한 지게차 업그레이드로 이어질 수 있다. 이를 통해 공급업체 독립 표준을 요구하므로 패브릭 애플리케이션 인터페이스 표준(FAIS)은 독점 스위치 기반 가상화에 대한 이의를 극복하기 위해 개발되었다.[7]
기능[편집]
- 관리 용이성
스토리지 관리 비용은 스토리지 구매 비용 보다 더 많이 소요된다는 것은 일반적인 인식이다. 이러한 스토리지 관리 비용은 스토리지 가상화를 통해 줄일 수 있다. 스토리지 가상화는 개개의 많은 스토리지 장치들을 하나의 가상화 스토리지로 통합함으로써 장애 복구 등과 같은 스토리지 관리에 용이하며 이를 위해 필요한 작업을 줄일 수 있다. 스토리지 가상화 기술은 가상화하고자 하는 대상과 가상화를 통해 얻고자 하는 결과에 따라 다양하다.
- 디스크와 블록 스토리지 장치 가상화
디스크 장치 가상화는 가장 흔한 스토리지 가상화 형태로 물리적인 디스크 장치의 펌웨어에서 이루어진다. 디스크 드라이브는 고정 길이의 블록에 데이터를 저장하고, 모델 별로 서로 다른 물리 주소 구조(geometry)를 가지고 있다. 여기에는 실린더, 트랙, 섹터 등의 구성, 손상된 미디어를 위해 예비된 공간, 헤드의 위치 잡기, 블록의 위치 정보 확인 등에 관련된 정보들이 모두 포함된다. 디스크 드라이브는 내부 프로세서를 이용해서 이러한 물리 주소 구조를 평면적인 논리적 블록 어드레스(LBA) 형태로 가상화한다. 그 결과로 모든 디스크는 클라이언트 관점에서 거의 동일한 디바이스인 것처럼 보여지게 되며, 전혀 다른 기술을 사용한 새로운 디스크 모델이 나오더라도 기술적인 도입 장벽이 거의 없게 된다. 블록 스토리지 장치는 여러 디스크를 하나의 디스크와 같이 동작하는 장치로 가상화하는 것으로 이것은 레이드 시스템, 볼륨 매니저 또는 네트워크 스토리지 어플라이언스를 통해 이루어진다. 따라서 블록 스토리지 장치는 디스크를 사용하듯이 사용하게 된다. 이 기술은 여러 네트워크 장치의 리소스가 있는 저장소 풀을 만들고 단일 중앙 저장소 리소스로 사용할 수 있도록 하는 것으로 구성된다.
- 저장소 계층 가상화
이 가상화 기법은 일반적으로 계층적 스토리지 관리(HSM)이라고 하며 사용자가 인식하지 않고 다른 유형의 저장소 간에 데이터를 자동으로 마이그레이션할 수 있다. 자동화된 계층화를 위한 소프트웨어 시스템은 이러한 데이터 마이그레이션 활동을 수행하는 데 사용된다. 이 방법은 고성능 스토리지에 자주 액세스하는 데이터만 저장할 수 있도록 허용하기 때문에 비용과 전력 소비를 줄여주며, 자주 액세스되는 데이터는 MAID 및 데이터 중복과같은 기술을 사용하는 저렴하고 전력 효율적인 장비에 배치될 수 있다.
- 활성 아카이브를 만들기 위해 시간 별 가상화
활성 보관이라고도 하는 이러한 유형의 스토리지 가상화는 가상화 개념을 확장하고 오프라인 으로 사용할 수 있는 데이터에 대한 온라인 액세스를 가능하게 한다. 계층 가상화 소프트웨어 시스템은 디스크 간 백업 또는 테이프 라이브러리에 보관하거나 활성 저장소로 다시 가져와야 하는 데이터를 동적으로 식별하는 데 사용된다.
- 파일 시스템 가상화
사용자에게 원격 파일 시스템을 로컬 파일 시스템처럼 사용할 수 있도록 한다. 또한 여러 파일 시스템을 하나의 파일 시스템으로 이용할 수 있는 가상화 방법으로 파일 시스템의 스토리지를 이용할 수 있도록 한다.
- 파일 가상화
HSM 소프트웨어는 자주 접근되지 않는 파일을 저비용 스토리지로 이동하고 필요할 때 다시 읽어들여 사용할 수 있도록 함으로써 스토리지 비용을 절감할 수 있으며 스토리지 사용 효율을 증가시킬 수 있다.
- 테이프 라이브러리 가상화
테이프 라이브러리 가상화는 디스크 장치를 테이프 라이브러리 또는 테이프 드라이브로 가상화함으로써 기존의 테이프에 대한 백업 방법을 변경하지 않고도 사용할 수 있다. 테이프 대신 디스크를 사용함으로써 백업과 회복 성능을 향상시킬 수 있다. 스토리지 가상화는 여러 가지 방식으로 구현될 수 있다. 다음은 일반적인 몇 가지 구현 방식이다.
- 호스트 또는 서버 기반 스토리지 가상화
호스트 기반 가상화는 호스트에 장착된 물리적인 스토리지 장치들을 볼륨 매니저와 같은 소프트웨어를 통하여 논리적인 볼륨으로 가상화하여 관리한다. 이러한 볼륨 매니저 외에 스냅샷, 미러링, 복제 기능을 추가로 제공하기도 한다. 하지만 볼륨 매니저는 장착된 호스트에 제한될 수 있다. 또한 일반적으로 호스트 운영체제에 포함되어 제공되기 때문에 호스트 플랫폼에 제한된다.
- 스토리지 장치 기반 스토리지 가상화
물리적인 스토리지 장치를 레이드 컨트롤러 등을 이용하여 스토리지 어레이로 구성하는 방식이다.
- 네트워크 기반 스토리지 가상화
스토리지 네트워크 또는 스위치에 연결된 스토리지 장치를 가상화하여 제공한다. 가상화된 스토리지는 인밴드 또는 아웃밴드로 구현될 수 있다. 인밴드는 클라이언트와 물리적인 스토리지 장치 사이의 데이터 경로 상에 가상화 장치를 통하여 동작하는 것이고 아웃밴드는 클라이언트와 물리적인 스토리지 장치 사이의 데이터 경로와 가상화 장치를 별도의 경로로 분리함으로써 가상화는 별도의 가상화 장치에서 이루어지고 클라이언트는 직접 스토리지 장치에 접근할 수 있도록 한다.
- 객체 기반 스토리지
최근에 연구되고 있는 객체 기반 스토리지(OSD)는 블록 스토리지를 가상화하여 논리적인 객체로 저장하고 관리할 수 있도록 함으로써 고성능, 고확장성, 데이터 보안, 플랫폼 독립적인 데이터 공유 등을 제공할 수 있는 기술로 인식되고 있다. 객체는 스토리지에 저장되는 논리적인 데이터 저장 단위로 데이터 접근 방법, 데이터 속성 정보, 데이터 보안 방법 등을 포함할 수 있다. 따라서 객체를 스토리지로부터 직접 접근함으로써 시스템 성능을 향상시킬 수 있고 시스템 성능의 저하 없는 확장을 제공할 수 있으며, 또한 객체에 대한 메타데이터에 독립적인 객체 접근 인터페이스를 사용함으로써 이기종 플랫폼에서 객체를 안전하게 공유할 수 있는 특성을 제공한다. 이러한 객체 기반 스토리지 파일 시스템은 블록 기반의 파일 시스템에서 파일과 디렉토리에 대한 논리적인 데이터 관리를 수행하는 부분과 디스크에 데이터 블록을 할당하고 매핑하는 것과 같은 물리적인 스토리지 관리 부분을 분리하여 물리적인 스토리지 관리 부분을 객체 기반 스토리지에서 수행하도록 하고 기존의 블록 기반 인터페이스를 객체 기반 인터페이스로 변경한다. 이렇게 스토리지 관리 부분을 객체 기반 스토리지에서 수행하도록 함으로써 파일 시스템 서버의 작업 부하를 줄일 수 있으며, 클라이언트들 간에 파일 시스템의 물리적인 구조에 독립적인 데이터 공유가 가능하다. 또한 객체 기반 스토리지에 저장되는 논리적인 객체에 대한 별도의 보안 정책을 설정할 수도 있다. 객체 기반 파일 시스템으로는 썬 마이크로시스템즈(Sun Microsystems)의 러스터(Lustre), 파나사스(Panasas)의 파나사스 액티브스토어 스토리지 클러스터(Panasas ActiveStor Storage Cluster), 그리고 한국전자통신연구원(ETRI)에서 개발한 오아시스(OASIS) 등을 들 수 있다.
- 클러스터 분산 파일 시스템
네트워크 상에 분산된 대량의 스토리지 서버들을 하나의 클러스터 파일 시스템으로 가상화함으로써 대용량의 저장 공간과 빠른 입출력 성능을 제공할 수 있고, 시스템 확장이 용이하며, 서버 고장과 같은 시스템 장애가 발생하더라도 계속해서 안전하게 서비스를 제공할 수 있는 신뢰성과 가용성을 보장할 수 있다. 일반적으로 클러스터 분산 파일 시스템은 비대칭형(asymmetric) 구조를 갖는다. 비대칭형 클러스터 분산 파일 시스템은 성능과 확장성 그리고 가용성면에서 적합한 분산 파일 시스템 구조로 파일 메타데이터를 관리하는 전용 서버를 별도로 둠으로써 메타데이터를 접근하는 경로와 데이터를 접근하는 경로를 분리한다. 그리고 이를 통하여 파일 입출력 성능을 높이면서 독립적인 확장과 안전한 파일 서비스를 제공하고자 한다. 하지만 메타데이터 서버에 부하가 집중될 수 있으며 single-of-failure 지점이 될 수 있는 문제점도 내포하고 있기도 하다. 이러한 클러스터 분산 파일 시스템으로는 구글 파일 시스템, 하둡(Hadoop) 분산 파일 시스템, 그리고 한국전자통신연구원에서 개발한 글로리(GLORY) 파일 시스템 등을 들 수 있다.[8]
- 컨트롤러 기반 가상화
일부 스토리지 관련업체의 경우 논리적 단위로 어셈블링될 수 있는 독점적인 블록 풀을 제공하는 인박스(스토리지 내) 솔루션을 출시했다. 인박스 솔루션은 구성의 편의성 면에서 몇 가지 장점을 가지지만, 스토리지의 다중 계층 풀은 제공하지 않고 무결성과 서비스 품질(QoS)에 새로운 당면 과제를 초래한다. 데이터 공간을 분할하는 것도 복잡성을 가중시킨다. 인박스 솔루션은 자체적인 주소 공간을 제어하는 데이터베이스와 같은 애플리케이션과는 원활하게 작동하지 않는다. 스토리지 영역 네트워크 기반 어플라이언스, 스위치 또는 인박스 솔루션 중 어떤 접근 방식도 현재와 미래의 스토리지 증가세를 감당할 수 있는 확장성을 제공하지 못한다. 결과적으로, 수많은 스토리지 가상화 솔루션이 쏟아져 나왔지만 그들 중 어떤 것도 시장에서 확실한 우위를 점하지는 못했다고 할 수 있다.
- 컨트롤러 기반 외부 가상화
지능형 컨트롤러를 통한 방식이라 할 수 있다. 인-밴드 솔루션이냐 아웃-오브-밴드 솔루션이냐 또는 어플라이언스냐 지능형 스위치 블레이드냐 하는 논쟁이 어떤 점에서는 무의미하다고 할 수 있는 스토리지 가상화 방식이다. 이 경우 스토리지 영역 네트워크에서 제공되는 연결 기능을 이용하지만 직접 부착식 개방형 시스템과 메인프레임 호스트도 지원한다. 지능형 스토리지 컨트롤러로서, 이 방식을 도입한 스토리지 가상화 제품의 경우 입출력의 시작 지점과 목적 지점에 관한 정보에 직접 액세스한다. 따라서 네트워크의 에지에 상주하는 스토리지 및 데이터 가상화를 지원하기에 최적의 입지를 갖추고 있다고 볼 수 있다. 이런 접근 방식은 자원 집약적인 기능이 속하는 네트워크의 에지에 대한 미러링 및 복제와 같이 이런 기능들을 오프로드한다. 또한 네트워크 기반 접근 방식에서 발생하는 문제로서 네트워크를 통해 라우팅되는 모든 입출력에 대한 대기 시간이 추가되지 않도록 해준다. 이 방식을 도입한 경우 호스트 포트와 함께 크기의 차수에 의해 호스트 연결을 늘리지만, 그것은 지능형 스위치를 대체하는 것이 아니다. 지능형 스위치는 스토리지 영역 네트워크의 라우팅과 관리에 가장 적합하다. 지능형 스위치는 라우팅 정보를 처리하고 네트워크의 상태와 성능을 모니터링해 크레딧 버퍼 정체 해결 및 회복성을 위한 가상 스토리지 영역 네트워크와 같은 귀중한 서비스를 제공한다.
- 대칭 및 비대칭 저장소 가상화
대칭 가상화는 데이터 및 제어 메시지가 동일한 경로를 사용하는 인밴드 네트워크 기반 가상화 배포다. 중앙 가상화 저장소 관리자는 모든 입출력 및 메타데이터를 라우팅한다. 가상화 엔진은 일반적으로 별도의 네트워크 어플라이언스이지만 파이버 채널(FC) 스위치에 특수 모듈로 포함되거나 서버에서 실행할 수도 있다. 모든 데이터 입출력이 가상화 어플라이언스를 통과해야 한다는 사실은 병목 현상을 초래하는 스토리지 영역 네트워크 토폴로지의 제한을 가한다. 병목 현상은 가상화 엔진의 성능을 최대화하기 위해 캐싱으로 해결되는 경우가 많다. 아이비엠(IBM) 스토리지 영역 네트워크 볼륨 컨트롤러(SVC)는 네트워크 기반 대역 어플라이언스의 예다.
- 대칭 가상화 : 인밴드 배포는 단일 관리 지점을 제공하기 때문에 복잡성을 줄이고, 건축적으로 간단하고 호스트 에이전트가 필요하지 않다는 장점이 있다. 단점은 대칭 가상화에서는 모든 프레임이 해지되고 어플라이언스에 의해 리플로 전송된 다음 대상에 회개하기 때문에 프레임당 대기 시간이 증가하고, 모든 트래픽이 어플라이언스를 통과하기 때문에 단일 실패 지점및 성능 병목 현상이 발생할 수 있다. 이러한 문제는 일반적으로 클러스터된 솔루션과 거대한 캐시를 사용하여 완화되기는 하나 이로 인해 가상화를 수행하는 데 사용되는 클러스터된 가상화 어플라이언스의 메타데이터 데이터베이스 동기화 간에 일관성 문제가 발생한다.
- 비대칭 가상화 : 대기 시간이 낮을수록 특정 배포의 주요 이점되는 장점이 있다. 단점으로는 비대칭 가상화가 대역 외이기 때문에 호스트 에이전트는 제어 프레임을 가로챌 필요가 있으며, 가상화 관리자는 단일 실패 지점을 구성할 수 있다.[9]
구성 요소[편집]
스토리지 가상화는 추상적으로는 기존 스토리지를 활용한 스토리지 풀을 만드는 것이지만 구체적으로 보면 다음의 세 가지 구성 요소를 포함하고 있는 개념이다.
- 블록 단위 가상화
가령 한 기업이 IBM ESS(Elastic Storage Server)를 사용하고 있으며 50GB의 여유 공간이 있고 같은 스토리지 영역 네트워크에 150GB의 여유가 있는 HP XP1024를 갖고 있는데 당장 200GB의 볼륨이 필요한 서버가 신규로 추가된다고 가정해 보았을 때 만약 가상화가 되지 않았다면 두 스토리지의 여유 공간을 합쳐 200GB의 단일 볼륨으로 서버에 인식시키는건 불가능하다. 그러나 가상화된 스토리지 영역 네트워크에 두 스토리지가 연결돼 있다면 서버 입장에서 보면 가상화된 스토리지는 하나의 자원 풀일 뿐이므로 50GB가 ESS에 있고 150GB가 XP1024에 있다고 하더라도 그저 200GB의 빈 공간이 있다는 사실만을 인식하게 된다. 이것이 바로 블록 단위 가상화이다. 스토리지 네트워킹 산업 협회(SNIA) 모델에 따라 ‘블록 애그리게이션(Block aggregation)’이라고 부르기도 한다. 전문용어로 설명하면 호스트가 물리적 스토리지 공간의 논리 단위 번호(LUN)을 인식하는 것이 아니라 가상화 솔루션이 제공하는 가상 스토리지 논리 단위 번호을 인식하는 것이다. 물리적인 논리 단위 번호을 인식하지 않기 때문에 개별 스토리지 장비에 얽매이지 않게 되는 것이다.
- 스토리지 디바이스 자원 관리
여러 대의 스토리지를 하나의 풀로 인식하는 것은 단지 서버의 입장일 뿐 관리자의 입장에서는 레이드 구성, 패스 설정, 각종 이벤트에 대한 리포트 확인, 장비 상태 확인 등의 작업은 여전히 전혀 다른 툴들을 이용해 각 스토리지별로 진행해야 한다. 여러 기종, 여러 업체가 섞일수록 전체적인 활용률이나 각 스토리지별 성능 수치 등을 보기 어렵고 정책에 따른 스토리지 관리도 불가능하다. 스토리지 디바이스 자원 관리는 이런 불편함을 개선하기 위해 하나의 화면에서 기종, 업체에 상관없이 모든 관리 작업을 수행할 수 있는 솔루션이다.
- 블록 단위 파일 공유
IBM AIX(Advanced Interactive eXecutive)에서 저장한 파일을 썬(SUN) 솔라리스에서 불러오면 쉽게 인식되지 않는다. 상당히 힘든 컴파일 작업을 하고도 제대로 인식되지 않는 경우가 흔하다. 동일한 유닉스 계열의 OS 간에도 이런 문제가 생기는 것은 각 OS가 사용하는 파일 시스템이 다르기 때문이다. 가령 IBM AIX는 저널링 파일 시스템(JFS), 썬 솔라리스는 유니버설 플래시 스토리지(UFS) 하는 식이다. 파일이 이 정도인데 파일을 이루는 블록 단위에 저장된 데이터를 아무 작업 없이 이기종 간에 공유한다는 것은 대단히 어려운 일이다. 네트워크 결합 스토리지 기술이 나오면서 이기종 서버 간 파일 공유를 이더넷상에서 구현하는 것은 가능해졌지만 대용량의 고속 블록 입출력를 처리하기 위한 스카시(SCSI) 레벨의 블록 단위의 데이터 공유는 현재까지 방법이 없다. 하지만 이 기술이 채택되면 이기종 서버 간의 원활한 데이터 공유가 가능해져 데이터 활용도가 폭발적으로 증가하는 것은 물론 이기종 간의 클러스터링도 구현할 수 있어 향후 그리드 컴퓨팅의 인프라를 손쉽게 구축할 수 있게 된다.[10]
구현 방식[편집]
현재 솔루션이 시장에 나와 있는 블록 단위 스토리지 가상화 솔루션은 업체에 따라 구현 방식에 차이가 있으며 크게 인밴드(Inband)와 아웃밴드(Outband)로 구분된다.
인밴드[편집]
서버와 가상화된 스토리지 사이의 모든 입출력이 가상화 엔진을 통과하는 방식 또는 가상화를 위한 커맨드 입출력뿐 아니라 실제 데이터 입출력까지 가상화 엔진을 통과해 서버와 스토리지로 가는 방식이다. 인밴드 방식의 단점으로 흔히 지적되는 것은 서버와 스토리지 사이에 한 층이 더 있어 오버헤드 때문에 데이터 입출력 성능이 떨어질 수 있다는 것과 서버나 스토리지의 용량과 입출력 요구량이 폭발적으로 늘어날 경우 확장성이 뒷받침되지 않으면 병목 현상의 원인이 될 수 있다는 것이다. 반면 스토리지에 있는 컨트롤러가 혼자 처리해야 했던 입출력 처리, 캐시, 레이드 컨트롤, 쓰기 입출력 미러링 등을 가상화 엔진과 분산해서 처리함으로써 성능 향상을 기대할 수 있다. 또 엔진에 캐시를 탑재할 경우 스토리지에 있는 캐시에 대해 일종의 L2 캐시로서 작동해 응답 시간을 향상시킬 수 있다는 점, 연결되는 스토리지의 기종이나 업체에 상관없이 단 하나의 라이선스만을 가지고 기기 간 볼륨 순간 복제, 원격지 미러링 등의 복제 서비스를 구현한다는 점, 그리고 병렬 형태의 증설을 지원할 경우 소형 디스크의 병렬 구성으로 대형 스토리지를 능가하는 성능을 낼 수 있다는 점 등이 장점으로 꼽힌다.
아웃밴드[편집]
서버와 스토리지 사이의 데이터 입출력에는 가상화 엔진이 개입하지 않고 커맨드 입출력만을 관리하는 방식이다. 이 방식의 장점은 가상화에 따른 오버헤드가 적고 OS 위에 올라가는 소프트웨어 방식의 클라이언트 모듈을 사용하기 때문에 상대적으로 다양한 스토리지 장비의 연결을 지원한다는 점이다. 또 스토리지 영역 네트워크이 구성되지 않은 스토리지에도 적용할 수 있다. 하지만 자체 프로세싱 능력이 없거나 약하고 캐시가 없기 때문에 인밴드 방식과는 달리 기존 스토리지의 성능을 향상시켜주는 역할은 기대할 수 없다. 또한 반드시 서버에 소프트웨어가 올라가기 때문에 서버의 자원을 소모한다는 점, 복제 서비스의 사용을 위해서는 연결된 스토리지 업체의 솔루션에 의존해야 하므로 라이선스 통합이 쉽지 않다는 점 등은 단점으로 지적된다. 현재 시장에 나와 있는 제품군으로 볼 때 상대적으로 확장성이 떨어진다는 점도 문제라 할 수 있다.[10]
적용[편집]
클라우드 컴퓨팅[편집]
클라우드 컴퓨팅에서 제공하는 서비스중에서 스토리지 서비스는 클라우드 스토리지 또는 서비스형 데이터 스토리지(Data storage as a Service) 또는 서비스형 스토리지(Storage as a Service)로 표현할 수 있다. 클라우드 스토리지는 네트워크를 통하여 스토리지 서비스를 제공할 수 있는 스토리지를 의미한다. 이러한 클라우드 스토리지에 대한 정의는 해석하기에 따라 스토리지 서비스 이상을 포함할 수도 있다. 클라우드 스토리지를 구축하기 위해서는 스토리지 가상화 기술이 필요하다. 따라서 클라우드 스토리지는 이기종 스토리지 통합, 데이터 마이그레이션, 백업, 중복 데이터 제거, 장애 복구 등과 같은 서비스를 네트워크를 통하여 사용자에게 제공하는 것이라고 할 수 있다. 클라우드 스토리지는 트랜잭션 기반의 데이터베이스 또는 일시적인 저장소 보다는 예측할 수 없는 저장 공간 확장과 값싸고 오랫동안 저장할 수 있으며 접근하기 간단한 저장소로 적당하다. 클라우드 스토리지는 몇 가지 특성을 갖는다. 대규모 확장이 가능하며 지리적 위치에 고정되지 않는다. 또한 상용 시스템을 기반으로 하며, 사용하거나 또는 할당된 스토리지 용량에 따른 가격 정책을 갖는다. 그리고 응용에 적용하기 쉽다는 특성이 있다.
- 관련 기업
- 아마존(Amazon) : 클라우드 컴퓨팅에서 아마존 웹 서비스는 가장 널리 알려진 상용 서비스이다. 여기에서는 아마존의 일래스틱 컴퓨트 클라우드(EC2)와 심플 스토리지 서비스(S3)로 대표되는 컴퓨팅과 스토리지 서비스를 제공한다. 뉴욕 타임즈에서 1851년부터 1980년까지 1100만 개가 넘는 기사를 스캔한 TIFF 이미지를 PDF로 변환하는 작업을 위하여 아마존의 일래스틱 컴퓨트 클라우드와 심플 스토리지 서비스를 사용함으로써 24시간 내에 완료한 것은 이미 잘 알려진 사례이다. 이외에 대표적인 사용예로 이미지 공유 사이트인 SmugMug 뿐만 아니라 슬라이드셰어(Slideshare), 트위터(Twitter), 우트(Woot) 등에서 심플 스토리지 서비스를이용하여 이미지 호스팅 서비스를 제공하고 있다. 아마존 일래스틱 컴퓨트 클라우드는 사용자에게 컴퓨터 자원을 제공하면 사용자는 그 위에서 원하는 응용을 수행할수 있도록 하는 웹 서비스이다. 이러한 일래스틱 컴퓨트 클라우드 서비스는 심플 스토리지 서비스 위에서 저장 공간을 이용한다. 또한 심플 스토리지 서비스에 하둡(Hadoop) 파일 시스템을 호스팅하고 아마존 일래스틱 컴퓨트 클라우드 서버에서 맵리듀스(MapReduce) 작업을 수행함으로써 사용자가 원하는 응용 서비스를 수행할 수 있다. 아마존 심플 스토리지 서비스는 아마존 웹 서비스(AWS)의 하나로 제공되는 온라인 저장 서비스로 웹 호스팅, 이미지 호스팅, 백업 등과 같은 서비스를 제공하고 있다. 심플 스토리지 서비스는 사용하는 용량, 데이터를 주고 받는 대역폭, 데이터 입출력 횟수 등에 따라 가격을 결정하는 정책을 사용한다. 심플 스토리지 서비스는 REST 형태의 HTTP 인터페이스 또는 SOAP 인터페이스를 사용한다. 그리고 데이터는 HTTP GET 인터페이스와 비트토렌트(BitTorrent) 프로토콜을 이용하여 다운로드 받을 수 있다.
- 구글(Google) : 구글 드라이브(GDrive)라는 클라우드 스토리지를 제공할 계획임을 발표하였다. 아직까지는 인터페이스나 가격 정책에 대해서는 발표되지 않았지만 구글앱스(Google Apps)에 통합하여 클라우드 스토리지를제공할 것으로 알려지고 있다. 따라서 사용자는 로컬 디스크를 사용하는 것처럼 파일을 저장하고 검색할 수 있으며, 또한 기업이나 단체는 구글 드라이브를 이용하여 파일 서버를 구축하고 개별 사용자에게 저장공간을 할당해 주거나 또는 사용자들 간에 파일을 공유할 수 있는 서비스를 제공해 줄 수 있을 것으로 예상된다.
- 야후(Yahoo) : 하둡 프로젝트를 주로 지원하고 있다. 하지만 최근에 야후의 웹 애플리케이션 서비스를 확장할 수 있는 클라우드 스토리지인 Sherpa를 개발하고 있다. 셀파(Sherpa)는 하나의 데이터 센터에서 수만 개의 요청을 처리할 수 있도록 확장할 수 있고, 지리적으로 분산될 수 있으며 또한 서비스 수준 협약(SLA)를 만족시킬 수 있는 요구사항을 처리한다. 셀파는 야후에서 개발된 PNUTS를 기반으로 하며 REST 형태의 인터페이스를 제공한다. PNUTS는 야후의 웹 애플리케이션을 위한 대규모의 지리적으로 분산된 데이터 베이스 시스템으로 해시 또는 순차 테이블 구조로 데이터를 저장하며, 동시에 다수의 검색, 갱신 요청을 빠르게 처리할 수 있다.
- 마이크로소프트(Microsoft) : 마이크로소프트의 애저 서비스 플랫폼(Azure Services Platform)은 클라우드 컴퓨팅 플랫폼으로, OS 뿐만 아니라 여러가지 개발자 서비스를 제공한다. 애저 서비스 플랫폼에서는 개발자가 손쉽게 클라우드 기반 애플리케이션을 개발할 수 있는 것이 특징이다. 애저 서비스 플랫폼 중에서 마이크로소프트 SQL 서버 마스터 데이터 서비스(MS SQL Data Services)는 SQL 서버를 기반으로 하는 클라우드 스토리지 서비스로 관계형 데이터베이스 플랫폼을 갖는다. 따라서 이것을 통하여 손쉽게 클라우드 기반의 데이터베이스 솔루션을 개발할 수 있도록 한다.
- 델이엠씨(Dell EMC) : 클라우드 컴퓨팅 환경에 적합한 새로운 종류의 스토리지인 COS를 제시하고 있다. EMC 애트모스(Atmos)는 COS 솔루션으로 클라우드 컴퓨팅 서비스 공급업체들이 다양한 용도에 맞는 클라우드 컴퓨팅 서비스를 구축할 수 있도록 한다. EMC 애트모스에서 제공하는 주요 기능들은 손쉬운 대규모 스토리지 확장, 비즈니스 정책에 따른 정보 배포 및 관리, 메타데이터를 이용한 콘텐츠 배포 및 관리, 웹서비스 인터페이스(REST/SOAP)와 표준 프로토콜(NFS, CIFS, IFS) 지원, 자동화된 시스템 관리, 다중 사용자 지원(multi-tenancy), 복제, 압축, 중복제거, 버전 관리와 같은 다양한 데이터 서비스 등이다. 델이엠씨는 클라우드 컴퓨팅 서비스 공급 업체들이Atmos의 이러한 기능들을 활용하여 클라우드 컴퓨팅 서비스를 보다 효율적으로 구축할 수 있을 것으로 예상하고 있다.[11]
사례[편집]
- 복수 배열 독립 디스크 시스템에서의 블록 스토리지 디바이스 가상화 구현
복수 배열 독립 디스크 컨트롤러에 내장된 프로세서는 용도에 맞도록 최적화돼 있을 뿐 아니라 성능 향상을 위해 특별히 제작된 보조 장치와 함께 설계돼 있기 때문에 기능과 성능 면에서 매우 뛰어나다. 대부분의 엔터프라이즈 복수 배열 독립 디스크 시스템은 복수의 병렬 스카시(SCSI) 서버 포트 또는 스토리지 네트워크를 통해 하나 이상의 애플리케이션 서버에 스토리지 서비스를 제공할 수 있도록 설계돼 있다.
- 애플리케이션 서버에서의 블록 스토리지 디바이스 가상화 구현
서버 기반 볼륨 관리자는 위에서 언급한 장점은 가지고 있지 않지만 복수 배열 독립 디스크 시스템 스토리지에 비해 저렴한 비용으로 대부분의 컴퓨터 환경에서 구현 가능하다는 이점이 있다. 또 볼륨 관리자는 서로 다른 유형의 디바이스를 한 그룹으로 묶거나 가상화하는 것을 가능하게 한다. 이러한 장점 때문에 복수 배열 독립 디스크 시스템에 의해 논리적 단위 번호로 표현된 가상 디바이스를 다시 한 번 볼륨 관리자를 통해 가상화하는 경우가 많다. 볼륨 관리자는 입출력 성능과 데이터 가용성 향상을 위한 다양한 기능을 제공한다. 예를 들어 서로 다른 복수 배열 독립 디스크 시스템간의 스트라이핑/미러링을 구성할 수도 있고 채널 장애에 대비해 2개 이상의 액세스 경로로 가상 디바이스에 연결되도록 설정하는 것도 가능하다.
- 스토리지 네트워크에서의 블록 스토리지 디바이스 가상화 구현
스토리지 네트워크 기술이 대중화된 상황에서, 스토리지 네트워크 인프라스트럭처를 스토리지 시스템 또는 서버와 구분되는 하나의 독립적인 구성 요소로 생각하는 것이 보다 자연스러운 구분법이라 할 수 있다. 스토리지 네트워크는 스토리지 어플라이언스(Storage appliance)에 의해 구성되기도 하고, 좀 더 일반적인 방법으로 스토리지 네트워크를 통해 구성되기도 한다. 스토리지 네트워크 기반의 가상화 도구를 이용하는 경우 어떤 스토리지 디바이스, 어떤 서버든 그 유형에 관계없이 모두 가상화가 가능하다. 네트워크 블록 스토리지 가상화 디바이스는 가상화 디바이스가 클라이언트와 물리적 스토리지를 연결하는 데이터 경로 안에 위치하는 인-밴드(In-Band) 방식, 그리고 클라이언트 기반의 가상화 컴포넌트가 스토리지 디바이스와 직접 커뮤니케이션을 수행하는 아웃-오브-밴드(Out-Of-Band) 방식의 두 가지로 구분된다. 다양한 스토리지 가상화 기술이 개발되고 활용돼 왔으며, 이제 가상 스토리지는 매우 유용하고 다채로운 기술 분야로 성장했다. 현재 스토리지 가상화의 구현 위치에 대한 장, 단점 분석에 대한 논의가 열기를 띠고 있다. 어레이 기반, 호스트 기반 가상화, 어플라이언스 기반의 가상화가 시장에 이미 출시돼 있다. 이미 언급했듯이, 전체의 통합 관리, 안정성, 성숙도, 가용성과 성능을 제공하는 데에는 고객 환경에 따라서 고려할 수 있는 솔루션이 장, 단점이 있고 상호 보완적인 측면의 활용이 가능한 측면도 존재한다. 지속적으로 표준화가 가속화되고, 대용량, 복잡한 이기종 플랫폼, 스토리지 네트워크 환경을 지원하기 위한 솔루션의 변화가 하루가 다르게 새로워지고 있으며, 가상화 기술은 궁극적으로 대용량 스토리지 서비스를 수용하는데 원하는 속도, 가용성, 스토리지 활용률 증대 기능과 관리성을 가진 예측 가능한 스토리지 서비스를 제공할 수 있는 기반을 제공하는 핵심 기술로 구현될 것이다.[12]
각주[편집]
- ↑ 과학백과사전,〈스토리지 가상화(Storage Virtualization)〉, 《사이언스올》, 2018-12-12
- ↑ Storage virtualization 위키백과 - https://en.wikipedia.org/wiki/Storage_virtualization#Block_virtualization
- ↑ 허희성, 메히디, 이광수, 김덕환, 〈[http://kiise.or.kr/e_journal/2014/10/KTCP/pdf/01.pdf SCST를 이용한 All Flash Array 스토리지 가상화(All Flash Array Storage Virtualisation using SCST)]〉, 《한국정보과학회》, 2014-10
- ↑ Network Computing, 〈(스토리지 가상화①) 스토리지 가상화란?〉, 《데이터넷》, 2002-07-30
- ↑ 5.0 5.1 신창희, 〈Market Focus 스토리지 가상화(Storage Virtualization)의 현재와 미래 PART1〉, 《데이터넷》, 2005-05-23
- ↑ 이종찬, 〈스토리지 기반 가상화 도입 움직임 ‘활발’〉, 《데이터넷》, 2008-06-20
- ↑ 주창오, 〈가상화(Virtualization) 총정리 (3) - 스토리지 가상화(Storage Virtualization)란 무엇인가?〉, 《티스토리》, 2012-05-29
- ↑ 저장시스템연구원팀 김영철·차명훈·이상민 선임연구원, 김영균 팀장, 〈클라우드 컴퓨팅에서 스토리지 가상화 기술 동향 - Trends of Storage Virtualization Technologies on Cloud Computing〉, 《한국전자통신연구원》, 2009-08
- ↑ Stephen R. Smoot and Nam K. Tan,〈스토리지 가상화〉, 《엘스비어》, 2012
- ↑ 10.0 10.1 이복연, 〈스토리지 가상화의 등장 배경 및 개요〉, 《한국데이터산업진흥원》
- ↑ 김영균 외 3인, 〈클라우드 컴퓨팅에서 스토리지 가상화 기술 동향〉, 《한국전자통신연구원》, 2009-08
- ↑ 만하생긱,〈스토리지 가상화〉, 《네트워크타임즈》, 2010-02-07
참고자료[편집]
- 신창희, 〈Market Focus 스토리지 가상화(Storage Virtualization)의 현재와 미래 PART1〉, 《데이터넷》, 2005-05-23
- 이종찬, 〈스토리지 기반 가상화 도입 움직임 ‘활발’〉, 《데이터넷》, 2008-06-20
- 김영균 외 3인, 〈클라우드 컴퓨팅에서 스토리지 가상화 기술 동향〉, 《한국전자통신연구원》, 2009-08
- 만하생긱,〈스토리지 가상화〉, 《네트워크타임즈》, 2010-02-07
- 주창오, 〈가상화(Virtualization) 총정리 (3) - 스토리지 가상화(Storage Virtualization)란 무엇인가?〉, 《티스토리》, 2012-05-29
- Stephen R. Smoot and Nam K. Tan,〈스토리지 가상화〉, 《엘스비어》, 2012
- 과학백과사전,〈스토리지 가상화(Storage Virtualization)〉, 《사이언스올》, 2018-12-12
- Storage virtualization 위키백과 - https://en.wikipedia.org/wiki/Storage_virtualization#Block_virtualization
- 이복연, 〈스토리지 가상화의 등장 배경 및 개요〉, 《한국데이터산업진흥원》
같이 보기[편집]