"스토리지 가상화"의 두 판 사이의 차이
31번째 줄: | 31번째 줄: | ||
디스크 드라이브는 고정 길이의 블록에 데이터를 저장하고, 모델 별로 서로 다른 물리 주소 구조(geometry)를 가지고 있다. 여기에는 실린더, 트랙, 섹터 등의 구성, 손상된 미디어를 위해 예비된 공간, 헤드의 위치 잡기, 블록의 위치 정보 확인 등에 관련된 정보들이 모두 포함된다. 디스크 드라이브는 내부 프로세서를 이용해서 이러한 물리 주소 구조를 평면적인 논리적 블록 어드레스(LBA) 형태로 가상화한다. 그 결과로 모든 디스크는 클라이언트 관점에서 거의 동일한 디바이스인 것처럼 보여지게 되며, 전혀 다른 기술을 사용한 새로운 디스크 모델이 나오더라도 기술적인 도입 장벽이 거의 없게 된다. | 디스크 드라이브는 고정 길이의 블록에 데이터를 저장하고, 모델 별로 서로 다른 물리 주소 구조(geometry)를 가지고 있다. 여기에는 실린더, 트랙, 섹터 등의 구성, 손상된 미디어를 위해 예비된 공간, 헤드의 위치 잡기, 블록의 위치 정보 확인 등에 관련된 정보들이 모두 포함된다. 디스크 드라이브는 내부 프로세서를 이용해서 이러한 물리 주소 구조를 평면적인 논리적 블록 어드레스(LBA) 형태로 가상화한다. 그 결과로 모든 디스크는 클라이언트 관점에서 거의 동일한 디바이스인 것처럼 보여지게 되며, 전혀 다른 기술을 사용한 새로운 디스크 모델이 나오더라도 기술적인 도입 장벽이 거의 없게 된다. | ||
− | ; | + | ; 가상 스토리지의 성능 및 가용성 |
블록 스토리지 디바이스를 가상화하기 위한 모든 소프트웨어에 기본적으로 RAID(Redundant Array of Independent Disks) 기술이 구현돼 있다. RAID 기술은 모든 데이터 센터 환경에 보편적으로 적용된다. 모든 엔터프라이즈 스토리지 시스템은 I/O 성능, 데이터 가용성, 관리성의 향상을 위해 RAID 기술의 일부를 내부적으로 구현한다. 서버 기반으로 구현되는 RAID 역시 동일한 혜택을 제공하며, 때로는 2가지 이상의 스토리지 시스템을 하나의 볼륨으로 조합함으로써 추가적인 용량, I/O 성능, 가용성 향상 효과를 누릴 수 있다. 어떤 레벨의 RAID 기술을 구현했을 때 최대의 효과를 누릴 수 있는 지 고민하는 경우가 있다. 선택할 수 있는 기술의 종류가 그만큼 다양하며, 각각의 기술이 모두 일정 수준 이상의 I/O 성능을 향상시키고 데이터의 안정성을 확보해주는 기능을 제공하고 있기 때문이다. 이렇게 생성된 가상 디바이스를 이용해 파일 시스템은 포맷, 데이터 파일의 저장과 같은 작업을 수행한다. RAID 시스템에서 제공하는 가상 디바이스는 LUN(Logical Unit)이라는 용어로 불리는데, 가상화된 어레이는 단일 LUN으로 표시될 수도 있고, 컨트롤 소프트웨어에 의해 여러 개의 LUN으로 분리돼 제공될 수도 있다. | 블록 스토리지 디바이스를 가상화하기 위한 모든 소프트웨어에 기본적으로 RAID(Redundant Array of Independent Disks) 기술이 구현돼 있다. RAID 기술은 모든 데이터 센터 환경에 보편적으로 적용된다. 모든 엔터프라이즈 스토리지 시스템은 I/O 성능, 데이터 가용성, 관리성의 향상을 위해 RAID 기술의 일부를 내부적으로 구현한다. 서버 기반으로 구현되는 RAID 역시 동일한 혜택을 제공하며, 때로는 2가지 이상의 스토리지 시스템을 하나의 볼륨으로 조합함으로써 추가적인 용량, I/O 성능, 가용성 향상 효과를 누릴 수 있다. 어떤 레벨의 RAID 기술을 구현했을 때 최대의 효과를 누릴 수 있는 지 고민하는 경우가 있다. 선택할 수 있는 기술의 종류가 그만큼 다양하며, 각각의 기술이 모두 일정 수준 이상의 I/O 성능을 향상시키고 데이터의 안정성을 확보해주는 기능을 제공하고 있기 때문이다. 이렇게 생성된 가상 디바이스를 이용해 파일 시스템은 포맷, 데이터 파일의 저장과 같은 작업을 수행한다. RAID 시스템에서 제공하는 가상 디바이스는 LUN(Logical Unit)이라는 용어로 불리는데, 가상화된 어레이는 단일 LUN으로 표시될 수도 있고, 컨트롤 소프트웨어에 의해 여러 개의 LUN으로 분리돼 제공될 수도 있다. | ||
2020년 8월 19일 (수) 17:45 판
스토리지 가상화(Storage virtualization)는 다른 기종의 스토리지나 솔루션을 한데 묶어 스토리지 풀(pool)을 만들고, 물리적인 디스크 공간에 가상으로 원하는 크기의 용량을 할당하여 만들며, 인터넷 스카시(iSCSI), 파이버 채널(FC), 인피니밴드(infiniband) 등 모든 프로토콜을 이용해 업무 서버에 필요한 스토리지 용량을 할당하는 것을 말한다.
개요
네트워크 기반의 디스크 배열과 같은 저장 장치에서 더 좋은 기능이 가능하도록 가상화하는 기술로, 다수의 저장 장치를 단일 저장 단위처럼 보이도록 한다. 저장 영역 네트워크에서 주로 사용된다. 디스크의 가상화는 다른 기종 관리와 백업, 복구의 단순화와 자동화, 구성의 단순화 등을 제공하는 스토로지 통합 관리 솔루션으로, 스토리지 용량이 충분한지 수시로 확인하고, 예비 스토리지 자원의 준비 비용을 절감할 수 있어 관리의 효율성을 높일 수 있다.[1]
컴퓨터 과학에서 스토리지 가상화는 실제 저장소 리소스에 대한 논리적 뷰를 제시하는 과정이며, 호스트 컴퓨터 시스템으로 기업의 모든 저장 미디어(하드 디스크, 광학 디스크, 테이프 등)를 단일 스토리지 풀로 취급하는 과정이다. "저장소 시스템"을 저장소 배열, 디스크 배열또는 파일러라고도 한다. 스토리지 시스템은 일반적으로 특수 하드웨어 및 소프트웨어를 디스크 드라이브와 함께 사용하여 컴퓨팅 및 데이터 처리를 위한 매우 빠르고 신뢰할 수 있는 스토리지를 제공한다. 스토리지 시스템은 복잡하며 고급 데이터 보호 기능과 함께 스토리지 용량을 제공하도록 설계된 특수 목적 컴퓨터로 간주될 수 있다. 디스크 드라이브는 시스템 내의 하드웨어 및 특수 목적 임베디드 소프트웨어와 함께 스토리지 시스템 내의 하나의 요소다. 저장소 시스템은 블록 액세스 저장소 또는 파일에 액세스한 저장소를 제공할 수 있다. 블록 액세스는 일반적으로 파이버 채널, iSCSI, SAS, FICON 또는 기타 프로토콜을 통해 전달된다. 파일 액세스는 종종 NFS 또는 SMB 프로토콜을 사용하여 제공된다. 저장소 시스템의 컨텍스트 내에 발생할 수 있는 두 가지 기본 유형의 가상화가 있다.
이 컨텍스트에서 사용되는 블록 가상화는 물리적 저장소 또는 이기종 구조에 관계없이 액세스할 수 있도록 물리적 저장소에서 논리 저장소(partition)의 추상화(분리)를 말한다. 이러한 분리를 통해 스토리지 시스템의 관리자는 최종 사용자를 위한 저장소를 관리하는 방법에 대한 유연성을 높일 수 있다. 파일 가상화는 파일 수준에서 액세스한 데이터와 파일이 물리적으로 저장되는 위치 간의 종속성을 제거하여 NAS 문제를 해결한다. 이를 통해 스토리지 사용 및 서버 통합을 최적화하고 중단 없는 파일 마이그레이션을 수행할 수 있다.[2]
역사
1980년대 중반까지 디스크 스토리지는 단일 디스크 드라이브였다. 가령 10GB의 디스크 공간이 필요하다고 하면 10GB 하드디스크 하나를 사용했다는 것이다. 구조는 지극히 간단하지만 이 방식은 하드디스크의 에러가 곧바로 시스템 중단 및 데이터 손실로 이어지는 안정성의 문제가 심각했다. 또 디스크의 I/O 처리 능력이 용량 증가에 따라가지 못하는 성능상의 문제도 안고 있었다.1980년대 중반까지 디스크 스토리지는 단일 디스크 드라이브였다. 가령 10GB의 디스크 공간이 필요하다고 하면 10GB 하드디스크 하나를 사용했다는 것이다. 구조는 지극히 간단하지만 이 방식은 하드디스크의 에러가 곧바로 시스템 중단 및 데이터 손실로 이어지는 안정성의 문제가 심각했다. 또 디스크의 I/O 처리 능력이 용량 증가에 따라가지 못하는 성능상의 문제도 안고 있었다.
많은 물리적 디스크 드라이브를 볼륨명이나 드라이브 문자로 나타낸다는 개념은 1970년대 말 RAID 어레이가 소개되면서부터 시작되었다. 그리고 가상화 토론은 SAN(Storage Area Network)과 같은, 네트워크 스토리지용 아키텍처의 등장과 함께 다시 부활되었다. 스토리지 가상화의 경우, 가상 볼륨이란 잠재적으로 많은 수의 물리적 디스크 드라이브나, 어레이 파티션과 같은 기타 디스크 기반 스토리지를 나타낸다. 어레이 파티션들은 어레이에 있는 디스크의 서브세트에서 가상 볼륨이 자체적으로 만들어진다. 스토리지 네트워크의 경우는 LUN(Logical Unit Number)으로 표현될 수 있는 거의 어떤 것이든 가상 볼륨으로 집합될 수 있다. 많은 업계 관계자들은 심지어 가상 볼륨을 만들기 위해 사용되는 소프트웨어를 ‘LUN 스플라이서(splicer)’ 혹은 ‘LUN 카버(carver)’ 등과 같은 용어로 부르기도 한다. 수십 년 동안, 디스크 가상화는 일반적으로 대형 디스크 어레이의 컨트롤러에서 실행되는 코드에 의해 제공돼 왔다. 컨트롤러의 소프트웨어는 어레이 내에서 복수 디스크 드라이브의 집합을 지원했으며, 이들이 가상 볼륨으로 서버 운영시스템에 제시될 수 있도록 지원했다. 스토리지 어레이들이 파이버 채널 패브릭으로(즉 TCP/IP 프로토콜을 기반으로 한 진정한 스토리지 네트워크로) 점차 모여감에 따라, 업체들은 하나의 SAN 소프트웨어 계층, 즉 가상화 엔진으로서 어레이 컨트롤러의 가상화 기능성을 제공하려 노력하고 있다.[3]
특징
필요 이유
데이터 스토리지 장비의 품질 기준은 매우 단순하다. 스토리지 장비는 성능이 좋고 고장나지 않고(다시 말해 고가용성을 보장하고) 가격이 저렴하고 관리하기 쉬우면 좋은 장비라고 평가된다. 가상화는 이 4가지 기본적인 품질측정기준을 모두 향상시키는데 응용될 수 있다. 폭발적으로 증가하는 스토리지 사용량과 높은 서비스의 가용성에 대한 사용자의 요구 사항은 적정한 I/O 성능, 가용성, 활용률을 포함한 용량 대비 비용과 관리성을 제공하기 위해서 가상화 솔루션의 도입이 요구된다.
- I/O 성능(I/O Performance)
애플리케이션의 성능에 있어 데이터 액세스와 전송에 관련된 속도가 차지하는 비중은 점점 더 증가하고 있다. 예를 들어 데이터의 전송속도가 비디오 재생기의 처리속도를 따라잡지 못한다면 비디오 온디맨드 환경의 구현은 불가능하다고 할 수 있다. 또 신용카드 데이터베이스의 업데이트 속도가 충분히 빠르지 못하다면, 줄을 선 고객들의 불만은 그에 비례해 증가할 것이다. 여기에 가상화 기술을 적용한다면, 여러 스토리지 장비들을 병렬 배치해 애플리케이션 관점에서의 I/O 성능을 향상시키는 스트라이핑(striping)이 가능하다.
- 가용성(Availability)
온라인 환경이 일반화되면서 컴퓨터 시스템의 가용성에 대한 요구는 더욱 더 증가하고 있다. 고객들은 단지 ‘컴퓨터가 다운됐다’는 이유로 음식을 살 수 없거나 자동차 연료를 넣지 못하게 됐다는 사실을 납득하지 못한다. 에너지 서비스, 운송 시스템, 공공 안전, 엔터테인먼트 서비스 등 대부분의 산업 분야는 데이터가 필요할 때 제공될 수 있다는 데이터 프로세싱 시스템의 안정성에 의존하고 있다. 데이터는 데이터 스토리지가 ‘가용’한 경우에만 역시 제공이 가능하다. 미러링(mirroring) 기술은 동일한 형태의 두 개 또는 그 이상의 디스크 드라이브를 사용해 디스크 장애에 대비하고 가용성을 향상시킨다. 미러링을 포함하는 데이터 가용성을 향상시키기 위한 기술들(패스 이중화, 미러링, 원격지 백업 등)이 제공된다.
- 용량 대비 비용(Cost of Capacity)
디스크 스토리지의 가격이 급격하게 하락하고 있는 반면, 스토리지 사용량 역시 그만큼 빠르게 증가하고 있다. 가상화의 미러링, 원격 복제(remote replication)와 같은 기술은 디스크 사용량의 증가를 더욱 가속화하고 있으며, 이러한 이유 때문에 스토리지 용량에 따른 비용은 중요한 이슈로 떠오르고 있다. 기업은 스토리지 비용의 절감을 통해 IT 비용을 줄이거나 애플리케이션의 성능 향상에 꾸준히 투자하는 것이 가능하다. 가상화는 여러 장비의 스토리지 용량을 한데 모으거나(aggregate), 유휴 공간을 필요한 다른 서버에 할당(redeploy)하는 것을 가능하게 함으로써, 스토리지의 활용률을 극대화하는 기능을 제공한다.
장단점
- 디스크 가상화
디스크 드라이브는 고정 길이의 블록에 데이터를 저장하고, 모델 별로 서로 다른 물리 주소 구조(geometry)를 가지고 있다. 여기에는 실린더, 트랙, 섹터 등의 구성, 손상된 미디어를 위해 예비된 공간, 헤드의 위치 잡기, 블록의 위치 정보 확인 등에 관련된 정보들이 모두 포함된다. 디스크 드라이브는 내부 프로세서를 이용해서 이러한 물리 주소 구조를 평면적인 논리적 블록 어드레스(LBA) 형태로 가상화한다. 그 결과로 모든 디스크는 클라이언트 관점에서 거의 동일한 디바이스인 것처럼 보여지게 되며, 전혀 다른 기술을 사용한 새로운 디스크 모델이 나오더라도 기술적인 도입 장벽이 거의 없게 된다.
- 가상 스토리지의 성능 및 가용성
블록 스토리지 디바이스를 가상화하기 위한 모든 소프트웨어에 기본적으로 RAID(Redundant Array of Independent Disks) 기술이 구현돼 있다. RAID 기술은 모든 데이터 센터 환경에 보편적으로 적용된다. 모든 엔터프라이즈 스토리지 시스템은 I/O 성능, 데이터 가용성, 관리성의 향상을 위해 RAID 기술의 일부를 내부적으로 구현한다. 서버 기반으로 구현되는 RAID 역시 동일한 혜택을 제공하며, 때로는 2가지 이상의 스토리지 시스템을 하나의 볼륨으로 조합함으로써 추가적인 용량, I/O 성능, 가용성 향상 효과를 누릴 수 있다. 어떤 레벨의 RAID 기술을 구현했을 때 최대의 효과를 누릴 수 있는 지 고민하는 경우가 있다. 선택할 수 있는 기술의 종류가 그만큼 다양하며, 각각의 기술이 모두 일정 수준 이상의 I/O 성능을 향상시키고 데이터의 안정성을 확보해주는 기능을 제공하고 있기 때문이다. 이렇게 생성된 가상 디바이스를 이용해 파일 시스템은 포맷, 데이터 파일의 저장과 같은 작업을 수행한다. RAID 시스템에서 제공하는 가상 디바이스는 LUN(Logical Unit)이라는 용어로 불리는데, 가상화된 어레이는 단일 LUN으로 표시될 수도 있고, 컨트롤 소프트웨어에 의해 여러 개의 LUN으로 분리돼 제공될 수도 있다.
- 가상 스토리지 가용성
미러 또는 RAID 구성이 전혀 돼 있지 않은 디스크 드라이브에 장애가 발생되는 경우, 데이터는 소실되며 복구가 불가능하다. 이러한 경우 백업된 데이터를 이용해 서비스를 복구하는 것 이외에는 다른 방법이 없다. 하지만 핫 스페어, 핫 스왑 등을 가진 미러 디스크와 같은 고가용성 시스템의 경우에는 복구 방법이 제공된다. 여기에 더해 데이터 센터 전체의 장애에 대비한 원격지에 데이터 복제를 위한 기술이 요구된다. 가상 스토리지의 다운 타임을 최소화하기 위해서는 이중화된 컴포넌트에 문제가 발생하는 경우 자동적으로 교체될 수 있어야 한다. RAID 시스템의 경우 디스크 드라이브, 내부 데이터 경로, 전원, 냉각 장치 등의 컴포넌트가 모두 이중화되며, 서버(그리고 볼륨 매니저)는 클러스터링 소프트웨어를 이용해 여러 개의 그룹으로 구성함으로써 이중화가 가능하다. 스토리지 네트워크는 서버와 스토리지가 서로 분리된 두 개의 네트워크를 통해 연결되도록 함으로써 이중화된다. RAID 시스템에 의해 구성된 LUN을 서버 기반으로 다시 통합해 대용량의 단일 가상 디바이스를 생성하게 된다. 이렇게 생성된 가상 디바이스는 용량, 성능, 가용성 면에서 모두 뛰어나며, 로드 밸런싱이 가능하므로 개별적으로 구성된 하부의 RAID 시스템 기반 어레이의 성능을 압도한다. 이때 스트라이핑 대신 서버 또는 네트워크 기반 미러링을 적용하는 경우, RAID 시스템의 가용성 향상이 가능하다.[4]
- 접근성/성능 및 가용성
스토리지 가상화 솔루션 벤더들은 일반적으로 일반 서버에 예를 들면, 윈도 서버에 가상화 소프트웨어를 설치해 볼륨 구성 기능, 내부복제 기능 및 원격지 복제 기능 등을 구현하고 있는데, 이러한 솔루션은 JBODs(Just Bunch of Disks) 같은 저가의 디스크를 이용해 구축된다. 이러한 디스크들은 히타치와 같은 인텔리전트 스토리지가 제공하는 기능들을 제공하지 못하기 때문이다. 이는 역으로 인텔리전트 스토리지와 현재의 가상화 솔루션을 이용하게 되면 인-밴드 방식(애플리케이션 서버와 스토리지 사이에 가상화 솔루션 장비가 있어서 모든 I/O가 흘러가는 구조)이므로 고가의 스토리지의 성능과 기능을 활용하는데 제약을 받게 된다는 의미가 된다. 가용성, 즉 안정성을 고려한다면 이미 많은 고객은 서버/SAN/스토리지의 3개 레이어를 갖추고 있을 것이다. 이런 상태에서 가상화 솔루션의 레이어가 추가된다면, 4개의 레이어가 애플리케이션 I/O를 위해 필요하게 된다. 이는 또 다른 장애 지점을 추가하게 되는 것이다. 따라서 가상화 솔루션도 이중화 및 다중화 구축이 권장됨은 물론이다.
- 확장성과 관리 편의성
기업의 스토리지 인프라는 정보의 양이 증가할수록 지속적으로 증가할 수밖에 없다. 그래서 스토리지 인프라 구성 시 중요 한 요소가 향후 확장성인데, 현재 이중화 및 다중화돼 있는 스토리지 인프라 상에서 SAN 스위치를 확장하면 스토리지 확장을 용이하게 할 수 있다. 스토리지 가상화 솔루션을 이용하게 되면 논리적인 확장성이 뛰어나 물리적인 스토리지 단계의 확장성이 아닌 애플리케이션 단계의 유연한 확장성의 의미를 가질 수 있다. 관리 편의성의 측면에서 보면, 현재 일부 솔루션 중에는 현 3개의 레이어 상황에서 가상화 레이어까지 가세하게 돼 관리해야 할 레이어가 증가하게 된다. 따라서 애플리케이션에서 스토리지 끝단까지의 I/O 패스 중에 관리 포인트가 증가하게 되는 경우가 발생한다.(인-밴드 방식인 경우) 그래서 최근 많은 벤더들의 움직임은 관리 편의성 제공을 위해 기존 스토리지 네트워크 상에 이러한 기술들을 접목하려는 시도를 하고 있으며, 일부 벤더들은 네트워크 상에 가상화 기술을 접목한 초기 수준의 제품을 제공하고 있다.
- 복잡성 해소와 구축 용이성 장점
애플리케이션 기반의 가상화는 통합된 SAN 인터페이스를 기반으로 가상화 솔루션을 탑재한 시스템을 추가함으로써 구성이 완료된다. 애플리케이션 기반의 가상화는 서버와 스토리지 간의 데이터의 메인 스트림에 관련하는 인밴드 방식과 데이터의 위치정보 등과 같은 컨트롤정보에만 관여해 가상화를 완성하는 아웃 오브 밴드로 세부적으로 구분할 수 있지만 두 가지다 성능관련, 구축편의성 관점 등에서 상대적인 장단점이 있을 뿐 동일한 애플리케이션 기반의 가상화다. 이러한 ‘애플리케이션 기반의 가상화’에 대응되는 가상화로써 ‘스토리지 하드웨어 기반 가상화’가 있다. ‘스토리지 기반 가상화’는 보유한 스토리지군들 중에서 가상화 기능을 컨트롤러상에 이미 보유한 스토리지에서 별도의 서버 시스템 추가 없이 가상화를 구현하는 방식이다. 이후의 설명부터는 ‘스토리지 기반 가상화’라는 약칭으로 통칭하도록 한다. ‘스토리지 기반 가상화’는 기존 스토리지 가상화 솔루션들과 달리 별도의 하드웨어를 필요로 하지 않는다는 점에서 복잡성 해소와 구축용이성 등의 다양한 장점을 가지고 있다. 하지만 이러한 장점보다 더욱더 중요한 특징 두 가지가 있다. 바로 아키텍처 자체가 가져다 줄 수 있는 안정성과 성능이다. 이 중요한 특징이 바로 ‘스토리지 기반 가상화’를 현재 시점에서 가장 많이 주목받고 선택되는 가상화 방식이 될 수 있었던 가장 큰 이유이다.
결론부터 언급하다면 ‘스토리지 기반 가상화’ 솔루션을 선택해 도입하는 가장 큰 이유는 ‘단일 스토리지 솔루션 적용이 가능한 비가상화 영역제공’이라는 특성 때문이다. 가상화 솔루션이 고안된지 상당한 기간이 흘렀지만 왜 시장에서는 그 편리하다는 가상화 솔루션을 앞다투어 도입하지 않고 있는가라는 의문이 있어왔다. 그 의문의 해답은 가상화 도입에는 현실적인 리스크가 크다는 상당히 부분이다. 가상화 도입의 이면에는 성능적인 이슈와 안정성에 대한 이슈 두 가지가 고객이 도입을 과감하게 선택하지 못하는 결정적인 요소로 자리 잡고 있다. 관리 편의성과 약간의 성능 저하 가능성을 맞바꾸어야 하고, 관리 편의성과 함께 약간의 불안정성을 인정해야 하는 등의 문제점이 필연적으로 가상화 도입에 맞물려 있었다. IT운영 측면에서 이 두 가지 요소는 곁가지 문제가 아니라 핵심 사안에 해당된다. 현실적인 문제점이 해결되지 않는 한 가상화 시장이 무르익는 다는 것은 불가능하다. 이러한 두 가지 문제점을 해결하고자 현실적인 대안으로 등장한 것이 ‘스토리지 기반 가상화’다. 현실적인 가상화로서 인정받으면서 시장진입 후 단기간에 상당한 사례를 확보하게 됐다. ‘스토리지 기반 가상화’의 특징인 단일 솔루션 적용이 가능한 비가상화 영역제공이라는 장점은 다음과 같이 설명이 된다. 용어상으로 볼 때 ‘~비가상화 영역 제공~’이라는 부분이 가상화 솔루션에서 모순된 용어로 여겨진다. 하지만 이 비가상화 영역이 바로 안정적인 성능을 현실적으로 확보해 줄 수 있는 열쇠가 된다.
- 구성 방식 매우 간단
‘스토리지 기반 가상화’솔루션은 구성 방식이 매우 간단하다는 점을 제외하면 일반적인 가상화와 비슷한 방식으로 동작하며, 일반적인 가상화가 가져다주는 모든 잇점을 동일하게 제공한다. 가상화 대상 스토리지를 스토리지 풀(Pool)로 묶어서 간편하게 할당하고 대상 스토리지군에 따라서 고성능 풀과 저성능 스토리지 풀로 구분해 서비스 제공이 가능한 부분도 동일하다. 하지만 여기에 한 가지 더 ‘스토리지 기반 가상화’는 일반적인 스토리지 기능도 하고 있으므로 가상화 되지 않은 내장 스토리지(비가상화 영역 스토리지)를 별도로 제공한다. 이 비가상화 영역 스토리지는 가상화 로직을 경유하지 않으므로 고객이 리스크로 고민했던 안정적인 성능 제공 유무에 대한 걱정을 해소시켜준다. 이에 추가로 비가상화 영역은 가상화 영역과의 솔루션을 공유한다. 즉 비가상화 영역에서 적용하는 모든 스토리지 관련 솔루션이 비가상화 영역과 함께 연동해 제공할 수 있다.
애플리케이션 기반 가상화 솔루션에서도 성능 이슈가 대두된다면 일부 스토리지를 가상화 하지 않고 제공하면 되겠지만, 결국 관리 일원화와 같은 가상화의 기본 개념에 모순되고, 비가상화 영역과의 스토리지 관련 솔루션의 적용은 사실상 불가능하므로 결국 가상화의 궁극적인 목적에 도달하지 못하다. 예를 들어 ‘스토리지 기반 가상화 솔루션’에서 성능을 요하는 온라인성 업무용으로 비가상화 영역을 쓰고 데이터 복제용으로 저가형 이기종 스토리지를 쓴다고 할 때 단일 복제 솔루션으로 비가상화 영역의 스토리지와 가상화 체제하의 이기종 스토리지가 스토리지 컨트롤러상에서 대량데이터 복제가 가능하다는 것이다. 성능 이슈, 관리편의성, 솔루션 단일화 등의 모든 잇점을 가져가고 안정성까지 확보하는 개념이 된다. 성능적인 이슈뿐만 아니라 단지 가상화 기술자체를 좀처럼 신뢰하지 못하는 고객의 경우에도 초기에는 가상화를 적용하지 않은 볼륨체제로 운용하다가 단계별로 가상화를 적용 또는 활용 연동하는 것이 가능하다는 것이다.
애플리케이션 기반 가상화 솔루션은 현재 모든 업체가 동일한 방식으로 제공하고 있고 HDS에서도 제공하고 있다. 애플리케이션 기반 가상화는 전통적인 가상화의 문제점을 해소해 고객이 선택할 수 있는 현실적인 가상화를 제공하겠다는 취지로 만들어진 솔루션이다. ‘스토리지 기반 가상화’솔루션은 앞에서 설명한 성능과 안정성의 큰 이점 이외에도 다양한 장점을 추가로 제공한다. 기존 보유 스토리지를 사용하고, 기본적인 스토리지 접속 방식을 최대한 활용하므로 장비추가에 따른 리스크나 구성 복잡성을 초래하지 않는다. 다만 운영 스토리지중에 HDS의 가상화 기능이 기본적으로 탑재된 스토리지(USP V, USP VM, USP, NSC55등)가 한대 이상 확보돼야 한다는 점 등이 고려사항이다.[5]
구성 요소
스토리지 가상화는 추상적으로는 기존 스토리지를 활용한 스토리지 풀을 만들자는 것이지만 구체적으로 보면 다음의 세 가지 구성 요소를 포함하고 있는 개념이다.
- 블록 단위 가상화
가령 한 기업이 IBM ESS를 사용하고 있으며 50GB의 여유 공간이 있으나 당장 200GB의 볼륨이 필요한 서버가 신규로 추가된다고 가정해 보자. 마침 이 고객은 같은 SAN에 150GB의 여유가 있는 HP XP1024를 갖고 있다. 만약 가상화가 되지 않았다면 두 스토리지의 여유 공간을 합쳐 200GB의 단일 볼륨으로 서버에 인식시키는건 불가능하다. 그러나 만약 가상화된 SAN에 두 스토리지가 연결돼 있다면 어떻게 될까? 서버 입장에서 보면 가상화된 스토리지는 하나의 자원 풀일 뿐이므로 50GB가 ESS에 있고 150GB가 XP1024에 있다고 하더라도 그저 200GB의 빈 공간이 있다는 사실만을 인식하게 된다. 이것이 바로 블록 단위 가상화이다. SNIA 모델에 따라 ‘블록 애그리게이션(Block aggregation)’이라고 부르기도 한다. 약간 어렵게 설명하면 호스트가 물리적 스토리지 공간의 LUN(Logical unit number)을 인식하는 것이 아니라 가상화 솔루션이 제공하는 가상 스토리지 LUN을 인식하는 것이다. 물리적인 LUN을 인식하지 않기 때문에 개별 스토리지 장비에 얽매이지 않게 되는 것이다.
- 스토리지 디바이스 자원 관리
여러 대의 스토리지를 하나의 풀로 인식하는 것은 단지 서버의 입장일 뿐 관리자의 입장에서는 RAID 구성, 패스 설정, 각종 이벤트에 대한 리포트 확인, 장비 상태 확인 등의 작업은 여전히 전혀 다른 툴들을 이용해 각 스토리지별로 진행해야 한다. 여러 기종, 여러 업체가 섞일수록 전체적인 활용률이나 각 스토리지별 성능 수치 등을 보기 어렵고 정책에 따른 스토리지 관리도 불가능하다. 스토리지 디바이스 자원 관리는 이런 불편함을 개선하기 위해 하나의 화면에서 기종, 업체에 상관없이 모든 관리 작업을 수행할 수 있는 솔루션이다.
- 블록 단위 파일 공유
IBM AIX에서 저장한 파일을 SUN 솔라리스에서 불러오면 쉽게 인식되지 않는다. 상당히 힘든 컴파일 작업을 하고도 제대로 인식되지 않는 경우가 흔하다. 동일한 유닉스 계열의 OS 간에도 이런 문제가 생기는 것은 각 OS가 사용하는 파일 시스템이 다르기 때문이다. 가령 IBM AIX는 JFS, SUN 솔라리스는 UFS하는 식이다. 파일이 이 정도인데 파일을 이루는 블록 단위에 저장된 데이터를 아무 작업 없이 이기종 간에 공유한다는 것은 대단히 어려운 일이다. NAS 기술이 나오면서 이기종 서버 간 파일 공유를 이더넷상에서 구현하는 것은 가능해졌지만 대용량의 고속 블록 I/O를 처리하기 위한 SCSI 레벨의 블록 단위의 데이터 공유는 현재까지 방법이 없다. 하지만 이 기술이 채택되면 이기종 서버 간의 원활한 데이터 공유가 가능해져 데이터 활용도가 폭발적으로 증가하는 것은 물론 이기종 간의 클러스터링도 구현할 수 있어 향후 그리드 컴퓨팅의 인프라를 손쉽게 구축할 수 있게 된다.
구현 방식
현재 솔루션이 시장에 나와 있는 블록 단위 스토리지 가상화 솔루션은 업체에 따라 구현 방식에 차이가 있으며 크게 인밴드(Inband)와 아웃밴드(Outband)로 구분된다.
- 인밴드 방식
서버와 가상화된 스토리지 사이의 모든 I/O가 가상화 엔진을 통과하는 방식. 가상화를 위한 커맨드 I/O뿐 아니라 실제 데이터 I/O까지 가상화 엔진을 통과해 서버와 스토리지로 가는 방식이다. 인밴드 방식의 단점으로 흔히 지적되는 것은 서버와 스토리지 사이에 한 층이 더 있어 오버헤드 때문에 데이터 I/O 성능이 떨어질 수 있다는 것과 서버나 스토리지의 용량과 I/O 요구량이 폭발적으로 늘어날 경우 확장성이 뒷받침되지 않으면 병목 현상의 원인이 될 수 있다는 것이다. 반면 스토리지에 있는 컨트롤러가 혼자 처리해야 했던 I/O 처리, 캐시, RAID 컨트롤, 쓰기 I/O 미러링 등을 가상화 엔진과 분산해서 처리함으로써 성능 향상을 기대할 수 있다. 또 엔진에 캐시를 탑재할 경우 스토리지에 있는 캐시에 대해 일종의 L2 캐시로서 작동해 응답 시간을 향상시킬 수 있다는 점, 연결되는 스토리지의 기종이나 업체에 상관없이 단 하나의 라이선스만을 가지고 기기 간 볼륨 순간 복제, 원격지 미러링 등의 복제 서비스를 구현한다는 점, 그리고 병렬 형태의 증설을 지원할 경우 소형 디스크의 병렬 구성으로 대형 스토리지를 능가하는 성능을 낼 수 있다는 점 등이 장점으로 꼽힌다. 향후 SAN 스위치가 가상화를 직 방식의 가상화가 된다.
- 아웃밴드 방식
서버와 스토리지 사이의 데이터 I/O에는 가상화 엔진이 개입하지 않고 커맨드 I/O만을 관리하는 방식이다. 이 방식의 장점은 가상화에 따른 오버헤드가 적고 OS 위에 올라가는 소프트웨어 방식의 클라이언트 모듈을 사용하기 때문에 상대적으로 다양한 스토리지 장비의 연결을 지원한다는 점이다. 또 SAN이 구성되지 않은 스토리지에도 적용할 수 있다. 하지만 자체 프로세싱 능력이 없거나 약하고 캐시가 없기 때문에 인밴드 방식과는 달리 기존 스토리지의 성능을 향상시켜주는 역할은 기대할 수 없다. 또한 반드시 서버에 소프트웨어가 올라가기 때문에 서버의 자원을 소모한다는 점, 복제 서비스의 사용을 위해서는 연결된 스토리지 업체의 솔루션에 의존해야 하므로 라이선스 통합이 쉽지 않다는 점 등은 단점으로 지적된다. 현재 시장에 나와 있는 제품군으로 볼 때 상대적으로 확장성이 떨어진다는 점도 문제라 할 수 있다. [6]
각주
- ↑ , 〈스토리지 가상화(Storage Virtualization)〉, 《사이언스올》, 2018-12-12
- ↑ Storage virtualization 위키백과 - https://en.wikipedia.org/wiki/Storage_virtualization#Block_virtualization
- ↑ Network Computing, 〈(스토리지 가상화①) 스토리지 가상화란?〉, 《데이터넷》, 2002-07-30
- ↑ 신창희, 〈Market Focus 스토리지 가상화(Storage Virtualization)의 현재와 미래 PART1〉, 《데이터넷》, 2005-05-23
- ↑ 이종찬, 〈스토리지 기반 가상화 도입 움직임 ‘활발’〉, 《데이터넷》, 2008-06-20
- ↑ 이복연, 〈스토리지 가상화의 등장 배경 및 개요〉, 《한국데이터산업진흥원》