서버·스토리지·네트웍 가상화

윤병훈
한국IBM 기술영업지원본부 책임전문위원
bhyoon@kr.ibm.com



정보 전달 체계의 디지털화를 가져온 인터넷은 기업 환경에 많은 변화를 가지고 왔다. 시간과 공간 그리고 거리에 대한 개념이 사라졌으며, 특정 정보의 공유화가 쉽게 이루어지게 된 반면에 정보 확보의 불균형 현상이 더욱 심화된 것 또한 사실이다. 또한 과거와 달리 시장의 움직임을 예측하는 것이 매우 어려워졌다. 과거의 경영 전략이 과거를 토대로 미래를 정확히 예측하고 이에 근거한 실행 계획을 효율적으로 집행하는 것에 초점이 맞추어져 있었다면, 앞으로는 미래에 대한 예측보다는 예측하지 못했던 외부 환경의 변화에 탄력적이고 능동적으로 대응할 수 있는 전략 방식으로 수정되어야 한다는 것이다.
특히 2000년대 들어서 IT의 주요 화두는 개방된 표준(Open Standard)을 기본으로 기업이 가지고 있는 물리적 IT 자원인 서버, 스토리지, 분산컴퓨팅, 네트웍 및 적용업무를 논리적으로 연결하여 가상화(Virtualization)시키고, 인프라의 가용성 및 자원의 최적화가 자율적으로 이루어지는 시스템 관리 체계를 구성하고, 고객의 요구에 즉시 대응할 수 있도록 인적 자원, 비즈니스 절차 및 각종 정보들을 비즈니스의 목표와 정책에 따라 최적으로 통합 (Integration)하는 것이라고 할 수 있다.
이번 호에서는 IT 자원의 접근 방법론이라고 할 수 있는 가상화-Virtualization-에 대하여 알아보기로 하자.

가상화 (Virtualization)의 배경
가상화란 1990년대에 이미 기업 조직 및 비즈니스 기회의 최대화, 비용 절감, 용이한 IT 자원에의 접근을 위하여 태동된 개념이다. 예를 들면, 가상 조직(Virtual Organization)이라 하면 기업의 핵심 역량을 제외한 업무를 전문업체에 외주하는 형태의 비즈니스를 의미한다.
1980년대에는 기업이 건물의 관리, 케이터링 등 핵심 역량이든 비핵심 역량이든 직접 운영하였으나 1990년대 들어서자 더 낮은 비용으로 동일한 수준 또는 그 이상 양질의 서비스를 제공할 수 있는 전문 업체로 외주를 주는 것이 보편화되기 시작했다. 이 경우 외주된 업무를 수행하던 대부분의 직원들은 해당 회사로 소속을 바꾸어 이전 소속 회사에서 하던 같은 일을 하게 되었는데 이 직원들의 성격을 규명하자면 가상 직원(Virtual Employee)이라고 할 수 있을 것이다. 이러한 형태의 외주 업무는 1990년대를 통하여 급속하게 유행하기 시작하였으며 배송업무, 배달 업무, 경비 업무 등으로 계속 그 영역을 확대하여 나아가게 되었다.
1960년대 및 1970년대에는 중소 규모의 기업은 컴퓨팅 시스템에 대한 투자를 대기업과 같이 할 수가 없었으므로 컴퓨팅 파워를 제공하는 전문 서비스 업체를 통하여 원격지에서 사용하는 것이 대다수였다. 그러다가 IT를 운영하는 비용이 낮아지게 됨으로써 중소 규모의 기업들도 독자적인 컴퓨팅 시스템을 구축하게 됐다. 1980년대에 들어서면서 그러한 시스템들이 네트웍을 통하여 서로 연결되기 시작하였고, 1990년대부터는 시스템과 적용업무들이 서로 연계되면서 복잡한 환경으로 진화하게 되었다.
컴퓨터를 이용한 생산성의 향상이 이루어졌으나 한편으론 복잡해진 컴퓨팅 시스템을 운영하기 위한 인력의 증가로 인한 비용의 증가로 서로 상쇄되는 결과를 가져오게 되자 많은 기업들이 조직 가상화(Organizational Virtualization)의 장점을 고려하기 시작했다. 또한 IT 서비스의 공급을 전문업체에 맡기는 이른바 IT 서비스의 외주 (IT Outsourcing)가 활발하게 이루어지기 시작하였다.
2000년 이후 독립적으로 운영되는 비즈니스와 IT가 서로 밀접한 관계(Interdependence)를 갖기 시작하였고, 이를 지원하기 위한 차세대 가상화 (Virtualization) 기술의 필요성이 대두됐다.
공급망 관리(SCM-Supply Chain Management), 전사적 자원 괸리(ERP-Enterprise Resource Planning), 인사 관리(Human Resource manage- ment) 시스템과 같은 적용 업무들이 독자적으로 개발하여 사용되기 보다는 패키지화되어, 출시되기 시작하였다. 그러나 이러한 패키지들은 종종 소프트웨어 설계시 구현된 모델에 맞추기 위하여 기업의 구조 또는 프로세스의 변화를 요구하게 되어 마이크로 레벨의 프로세스 가상화의 장점을 제공하는 반면에 기업이 요구하는 충분한 유연성은 제공할 수가 없었다.
위에서 살펴본 변화가 이루어지는 동안 IT 또한 그 역할이 단순하게 백-오피스, 급여, 회계 업무 등 특정한 비즈니스 기능을 제공하던 역할을 벗어나 다양한 기능과 프로세스를 통합함으로써 기업에 새로운 비즈니스 기회를 창출하는 것으로서 그 역할이 바뀌게 되었다. 새로운 비즈니스 기회(Virtual Opportunity)가 점점 증가하게 됨에 따라 여러 개의 서버에서 독립적으로 운영되는 업무들을 단일 서버로 통합시켜주는 새로운 기술들이 등장하게 되었다. 그러나 이러한 타입의 서버 가상화가 완전히 새로운 개념인 것은 아니다.
최초 서버를 설계할 당시부터 <그림 1>에서 보듯이 오퍼레이팅 시스템은 하드웨어를 가상화시켰고 적용 업무를 하드웨어로부터 분리되도록 하였으며, 점점 더 하드웨어와 오퍼레이팅 시스템은 적용업무와의 관계가 약화되고, 적용업무 관점에서 보면 미들웨어가 가상의 오퍼레이팅 시스템 역할을 하게 되었다.
오늘날 운영되고 있는 많은 적용업무들은 다른 적용업무 또는 소프트웨어와 통합되어지도록 설계된 것이 아니라 특정 기능이나 비즈니스 영역을 지원하도록 설계되어 일반적으로 유연성이 떨어지고 융통성이 없다. 예외도 있겠지만 각 적용업무 시스템은 하나의 서버 또는 다수의 서버에서 독점적으로 운영되고 있으며 스토리지 장치 또한 독점적으로 사용되어지고 있다. 말하자면 IT 자원의 공유는 매우 적어서 메인프레임 기반이나 파티셔닝을 지원하는 서버에서 운영되는 업무들만이 IT 자원을 공유하여 사용하고 있을 뿐이다.
따라서 기타 많은 업무들이 독자적인 하드웨어나 네트웍을 가졌으며 이것이 오늘날 복잡한 이기종 환경의 출발점이 되었으며 이는 기업내 IT 환경의 유연성의 부족이라는 결과를 초래하게 되었다.
오늘날 낮은 서버 사용률과 사용되지 않고 있는 시스템 자원으로 인한 낭비가 많은 IT 부서들이 당면하고 있는 문제점이다. 특정 업무의 피크 타임시 프로세싱 파워와 필요한 스토리지를 즉각 제공할 수 있는 여러 가지 장치를 구축하여 운영하고 있으나 수십~수백대의 서버의 도입/운영 및 복잡성의 증가로 인한 전체 비용이 급속하게 증가하고 있는 추세다.
이러한 문제점들을 극복하고 서버, 스토리지 및 네트웍 자원을 효율적으로 사용하기 위하여 다양한 테크놀러지들이 사용될 수 있다. 예를 들어, 서버의 사용률을 높이기 위한 파티셔닝 기술, 인텔 기반 시스템의 효과적인 사용을 위한 블레이드 기술 그리고 서버 내장형으로 변화하고 있는 네트워킹 기술(HiperSocket이나 Virtual LAN등)과 스토리지 가상화 기술등이 그 예라 할 수 있다.
기업들이 탄력성 있고 시장에서의 요구에 즉각 대응이 가능한 총체적인(End-to-End) 통합 비즈니스 프로세스의 구축을 추구하게 됨에 따라 앞으로 적용 업무의 증가, 서로 다른 테크놀로지를 사용하는 복수의 서버 사용 등 시스템의 운영 및 관리가 점점 복잡하여 지는 환경을 효율적으로 운영하고 관리할 기술(Heterogeneous cross-platform technology)이 필요할 것이다. 또한 양질의 서비스 수준을 제공하기 위하여 물리적인 IT 자원과 적용업무의 논리적 분리를 가능하게 하는 가상화-Virtualization -기술이 필요한 것도 물론이다.

서버 가상화
서버 가상화의 출발은 IBM 메인프레임 서버로부터 시작되었다. 오늘날 메인프레임에서 운영되고 있는 적용 업무들 관점에서 보면 컴퓨터 메모리를 자기가 독점하여 사용한다고 생각하며 운영되지만 실제로는 가상 메모리(Virtual Memory)를 사용하는 것이며 다른 업무들과 리얼 메모리를 공유하여 사용하는 것이다. 또한 논리적인 분할 기술(Logical Partitioning)을 이용하여 메모리뿐만 아니라 프로세서 등 모든 시스템 자원이 공유될 수 있어서 서버 자원의 활용을 극대화 할 수 있다. 이는 IT 비용의 절감을 의미하는 것이다. 서버 가상화 기술은 서버 하드웨어 및 마이크로코드에 의하여 구현되는 것으로서 IBM 메인프레임 zSereis의 LPAR, 유닛스 서버 p시리즈와 i5의 마이크로 파티셔닝 기능이 이러한 가상화 기술을 제공한다.
IBM e서버의 논리분할 기능은 프로세서 엔진, 메모리 및 I/O 인터페이스는 독립적인 가상 서버(하나의 파티션을 의미)에 독립적으로 할당되어질 수 있다. z시리즈의 경우 가상 서버 사이에 가상 TCP/IP 네트웍을 통하여 메모리 속도로 커뮤니케이션할 수 있다. 한편, 일부 윈도우즈 서버나 유닉스 서버들은 논리적 분할이 아니라 '물리적 분할 (Physical Partitioning)'이라고 불리는 기능만을 제공한다. 즉, 각각의 가상 서버는 독점적으로 프로세서, 메모리 등의 자원을 가져야 되므로 진정한 의미의 가상화라고 할 수 없다.
<그림 2>는 서버 파티셔닝의 3가지 방법으로 IBM의 제품을 나누어 보면 다음과 같다.
쪾하드웨어 파티셔닝 - BladeCenter, xSeries
쪾소프트웨어 파티셔닝 - z/VM on zSeries, VMware on xSeries & BladeCenter
쪾로지컬 파티셔닝 - LPAR on zSeries with IRD, LPAR on iSeries & pSeries
이제 서버 가상화는 고전적으로 이야기되던 하나의 물리적인 장치와 하나의 아키텍처를 넘어서 서버, 스토리지 및 네트웍을 포함하여 모든 아키텍처에 걸쳐 구현되고 있다.
이와 같은 새로운 개념의 서버 가상화를 가능하게 하는 것은 WLM(Workload Management) 기술이다. WLM은 비즈니스에 가장 중요한 적용 업무에 시스템 자원을 더 할당하는 것을 제어하는 데 시스템 자원을 매우 효율적으로 사용할 수 있게 한다. 이에 대한 자세한 내용은 다음호에 연재할 '서버 가상화'부분에서 상세히 다룰 계획이다.

스토리지 가상화
1980년대 중반까지 디스크 스토리지는 하드 디스크 그 자체였다. 구조면에서는 매우 간단하였지만 하드 디스크의 장애가 시스템 중단, 데이터 손실 등으로 이어져 심각한 문제를 초래하기도 하였다. 또한 디스크 용량 증가를 위한 성능 향상의 한계점을 가지고 있었다. 이러한 문제점을 해결하기 위한 새로운 개념인 RAID(Redundant Array of Independent Disks) 기술이 스토리지 가상화의 출발점이라고 말할 수 있다. 캐싱(Caching) 기능 또한 스토리지 가상화 기술의 중요한 요소라고 말할 수 있다.
스토리지 부분에서 캐시의 역할은 속도가 떨어지는 디스크에 직접적인 I/O 요청이 가는 빈도수를 줄여서 전체 처리능력을 향상시키는 것이다. 일반적으로 하드 디스크의 데이터 액세스 속도는 '천분의 일' 초 단위인 반면에 캐시의 속도는 '백만분의 일' 초 단위이다. 이 속도 차이를 이용하여 대용량의 메모리를 두고 이를 I/O 처리 전용으로 사용함으로써 자주 사용되는 데이터를 디스크에서 액세스 하는 것이 아니라 메모리 내에서 처리할 수 있도록 한 것이다. 즉, 메모리를 가상 디스크처럼 사용하고 있는 것이다.
한편 서버와 스토리지의 직접 연결(DAS-Direct Attached Storage) 시대에서 SAN (Storage Area Network ) 기술이 도입되기 시작하여 스토리지의 물리적 공유가 가능하게 되었다. SAN은 기존의 프로세서와 I/O 장치간의 1:1 대응 대신 N:N의 대응 관계를 가지는 네트웍을 말한다. SAN이 등장하기 전 서버는 자신에게 연결된 로컬 디스크와 테이프 장치만을 사용할 수 있었다. 디스크 공간이 부족하게 되면 업무를 다른 서버로 이전 운영하거나 새로운 서버를 도입하여 해결하여야 했다. 또한 디스크의 성능이 저하되는 경우에도 위와 같은 방식으로 문제를 해결하였다.
이를 해결하기 위한 방법으로서 유닉스 및 NT 환경에서는 로컬의 개념을 적용한 SCSI 프로토콜의 확장, 메인프레임에서는 ESCON 및 FICON을 통한 채널 방식을 사용하였다. 유닉스 및 NT 환경에서는 저가의 SCSI 프로토콜을 사용하였으나 데이터가 늘어나면서 I/O 장치에 대한 부하가 증가하게 되면서 광섬유를 매체로 이용하여 SCSI 프로토콜을 보내는 방법을 연구하게 되어 100 MB/sec의 전송속도와 10Km 이상의 연결 능력, 수백대의 I/O 장치를 연결할 수 있는 파이버 채널(Fibre Channel)이 90년대 중반 등장하게 되어 FC_AL (Fibre Channel Arbitrated Loop), FC_SW (Fibre Channel Switched Fabric)등의 기술 발전이 이루어졌다.
이러한 스토리지 가상화를 구현하는 기술에는 Symmetrical Virtualization과 Asymmetrical Virtualization의 두 가지 방법이 있는데 전자를 Block Aggregation 또는 In-band Virtualization이라고도 하며 후자를 File Aggregation 또는 Out-of-band Virtualization이라고 한다.

In-band Virtualization
전통적인 SAN 환경에서 LUN (Logical Unit Number)들은 서버에 직접적인 방식으로 스토리지 서브시스템 내부에서 정의되어진다. In-band 방식은 하나 또는 둘 이상의 스토리지 서브시스템으로부터 물리적인 스토리지를 취하여 Virtual Disk의 형태로 서버에 제공하는 것이다.
<그림 3>은 SNIA Block Aggregation Model인데 Block Aggregation이 서버 내부, 스토리지 네트웍(스토리지 라우터, 스토리지 콘트롤러) 및 스토리지 디바이스 (Intelligent Disk Array)에서 수행될 수 있다는 것을 보여준다. 세가지 각각은 장/단점을 가지고 있는데 IBM은 스토리지 네트웍 내에서 Block Aggregation이 이루어지는 방식을 채택하였으며 이 방식에 의한 가상화 엔진으로 IBM TotalStorage SVC - SAN Volume Controller를 이미 시장에 출시하였다. Block Aggregation이 스토리지 네트웍 내에서 이루어지는 방식의 장점을 요약하면 다음과 같다.
쪾스토리지 관리 생산성의 향상
쪾고급 기능 (순간복제, 원격지 복제등)을 위한 표준 플랫폼 제공
쪾디스크 공간의 활용률 최대화
쪾뛰어난 단계별 확장성
쪾서버와 독립적인 운영
쪾스토리지 관리를 위한 다양한 ISV (독립적인 소프트웨어 벤더) 패키지
쪾스토리지 하드웨어 제공업체로부터의 종속성 탈피

Out-of-band Virtualization
앞에서 설명한 In-band 방식에 비하여 Out-of-band 가상화 방식은 가상화에 참여하는 장치들이 Data Path에 있지 않는 방식을 말한다. 전형적으로 이 방식은 파일 공유(File Sharing)을 지향하는 것으로 알려져 있다. File Aggregation은 Block Aggragation과 매우 유사하나 스토리지 네트웍 내부에서 데이터 블록을 처리하기 보다는 파일을 액세스하고 공유하는 것이 차이점이다.
<그림 4>의 File Aggregation SNIA 모델에서 서버는 파일 시스템 또는 NAS - Network Attached Storage로부터 메타데이터(파일에 대한 상세한 정보를 의미)를 받아서 데이터를 직접 액세스한다. 이 방식은 독립적으로 사용되거나 In-band 방식과 연계하여 사용될 수 있다. 파일 공유에 대하여 IBM은 SFS(SAN File System)를 통하여 CFS(Com- mon File System)를 사용하는 방식을 채택하였다. SFS는 이기종 OS사이의 파일 시스템을 SAN 상에서 공유할 수 있도록 만들어진 솔루션으로 각 OS 별로 가진 파일 시스템을 변환시키는 것이 아니라 새로운 형태의 통합 파일 시스템(CFS)을 통하여 서로 다른 OS 사이에 데이터가 공유될 수 있게 하는 것이다.
SAN 상에서 구현된 NAS라고도 할 수 있으며 파일 시스템 공유는 대기업 전산 센터 규모의 서버의 모든 데이터를 단 한 명의 관리자가 할당, 재구성, 변경 및 분석 등을 할 수 있게 하여주며 전산 센터 규모의 데이터 현황 파악, 증가 추이 분석, 통합 백업, 통합 재해 복구 등이 가능하다.

네트웍 가상화
네트웍 가상화는 독립적인 트래픽을 가지면서도 서로 다른 업무들에 의하여 공유되는 네트웍의 관리 및 제어를 의미한다.
Virtual Private Network(VPN), HiperSocket, Virtual Network 및 Virtual Ethernet Virtual LAN과 같은 기술을 총칭한다. 이러한 기술들은 중요한 업무를 위한 트래픽에 우선 순위를 주어서 제어하는 기능을 갖고 있다.
온 디맨드 환경에서는 네트웍 자원은 서비스 레벨을 관리하는 레이어에 속하게 되는데 앞으로의 방향은 사용자가 비즈니스 목적에 맞게 정책을(Policy-driven) 수립하여 운영되도록 하는 것이며 입력된 정책을 해당하는 서비스가 제공되도록 전환시켜 주는 기능을 자동화 하여준다. 네트웍 가상화는 다음 호에서 서버 가상화와 함께 자세히 언급할 계획이다.

요약
가상화는 서버, 스토리지, 네트웍 및 기타 IT 자원들에 대한 논리적인 통합을 가능하게 한다. 적용업무들이 물리적인 디바이스를 직접 액세스하는 것이 아니라 가상화된 디바이스를 액세스하게 하며, 이는 IT 환경의 효율적인 사용, 적용 업무의 중단 없이 IT 환경의 변경 및 복잡한 이기종 IT 기반구조의 단순화 등 많은 장점을 제공한다.
즉, 물리적인 디바이스와 적용업무 사이에 가상화를 가능하게 해주는 레이어가 있는데, 이 가상화 레이어 기술은 공급 업체에 따라 서로 다르게 구현되고 있다.
저작권자 © 컴퓨터월드 무단전재 및 재배포 금지