가상화 기술의 미래
게시일: 2008/05/16 | 글쓴이: doa | 13323 번 | 프린트 | 메일


2003년 가을 IDF(Intel Developer Forum)에서 Intel은 마이크로 프로세서의 개발 방침을 크게 변경할 것을 밝혔다. 지금까지는 무어의 법칙에 근거한 성능 향상을 추구해왔지만 이제는 성능 이외의 기능성을 프로세서의 가치로서 추구하겠다는 것이었다.

이때 인텔이 열거한 기능성으로는 Centrino Mobile Technology(CMT), Hyper-Threading Technology(HT), LaGrande Technology(LT), Vanderpool Technology(VT)의 4개였다. 그 이후 2004년 가을 64비트 메모리 확장 기술인 EM64T듀얼 코어 기술, 원격 관리를 용이하게하는 Intel Active Management Technology(IAMT)가 더해졌고 2005년 서버의 넷트웍 성능을 향상 키시기는 Intel I/O Acceleration Technology(I/OAT)가 포함되었다.

2005년 11월 15일 인텔은 가상화 기술(Vitualization Technology 또는 Vanderpool Technology)을 내장한 펜티엄 4 662(672)를 발표했으며 2006년 1월 가상화 기술을 내장한 새로운 프로세서를 출시할 예정이다. 따라서 이번 글에서는 인텔이 펜티엄 4에 내장한 가상화 기술에대해 살펴보고 가상화 기술의 잇점에대한 간단히 살펴보도록 하겠다.

1. Venderpool Technology란?

인텔의 Venderpool Technology(이하 VT)는 근본적으로 가상화 기술(Virtualization Technology)을 말한다. 가상화 기술이란 프로세서, 메모리, 네트워크, 디바이스, 그래픽스 기능등의 하드웨어 자원을 가상화하는 것이다.

대부분의 OS는 컴퓨터의 자원을 독점적으로 점유 하고 있는 것을 전제로 동작한다. 따라서 자원을 독점적으로 점유하는 경우 다른 OS는 하드웨어를 사용할 수 없거나 하드웨어를 사용하기위해 OS가 경합해야 하기 때문에 여러 OS를 동시에 운영하는 것은 사실상 불가능하다. 가상화 기술은 하드웨어와 OS 사이에 가상적인 하드웨어 인터페이스를 제공, 하나의 컴퓨터 상에서 여러 OS를 동시에 실행할 수 있도록하는 기술이다. 이때 이 가상적인 하드웨어 인터페이스를 제공하는 소프트웨를 VMM(Virtual Machine Monitor)이라고 한다. 즉, VMM이 실제 하드웨어 자원을 이용하고 각각의 OS는 VMM이 제공하는 가상적인 하드웨어 자원을 이용한다고 보면된다.

클릭: 그림 확대


여기서 중요한 것은 VT가 가상화 기술 그 자체를 의미하지는 않는 다는 것이다. VT는 기본적으로 가상화를 지원하기위해 프로세서에 부가된 기능에 불과하며, 따라서 프로세서만으로 가상화를 실현할 수 없으며 반드시 VMWare Vitual PC와같은 가상화 소프트웨어를 사용해야 한다.

추가 정보 VT는 처음에는 클라이언트 전용 가상화 기술로 도입되었으며, 서버 전용의 가상화 기술로서 Silvervale Technology(이하 ST)가 소개되었다. 그러나 VT와 ST의 구체적인 스펙이 공개되기 전에 ST가 폐지되어 클라이언트 전용 가상화 기술과 서버 전용 가상화 기술을 모두 VT라고 부르게되었다. VT는 Itanium 프로세서 전용의 가상화 기술인 VT-i(Vanderpool Technology for the intel Itanium Architecture)와 IA-32 프로세서 전용의 가상화 기술VT-x(Vanderpool Technology for IA-32 Processors)로 구분되며, 이 두가지 기술을 복수형의 Vanderpool Technologies라고 부른다. VT-i에서 i는 Itanium에서 유래한 것이며, VT-x에서 x는 IA-32 프로세서가 x86-32라고 불리기 때문에 붙여진 이름이다.


2. 가상화의 원리

가상화는 앞에서 설명했듯이 기본적으로 VMM이 실제 하드웨어 자원을 사용하고 OS는 VMM이 제공하는 가상의 하드웨어 자원을 이용하는 것이다. 이러한 가상화는 근본적으로 VMWare, Virtual PC, Xen 처럼 소프트웨어적으로 구현할 수 있으며, VT가 내장된 CPU처럼 프로세서 레벨에서 구현할 수도 있다.

소프트웨어 가상화
VMWare나 Virtual PC와 같은 VMM의 경우 필요한 하드웨어를 모두 소프트웨어적으로 에뮬레이션하며 이로인한 오버헤드를 피할 수 없게된다. 따라서 소프트웨어로 구현한 VMM의 경우 가상 머신의 성능 저하가 뚜렸한 경향이 있다. 반면에 똑 같이 소프트웨어적으로 구현되는 Xen의 경우 반가상화(Paravirtualization)을 사용한다. 반가상화는 VMWare와는 달리 모든 하드웨어를 에뮬레이션 하지않고 필요시 게스트 OS를 패치하는 방법으로 가상화를 구현한다. 따라서 반가상화의 경우 OS 하단에 위치한 가상화 계층을 인지해야 한다.

그러나 하드웨어를 완전 가상화하는 VMWare나 Virtual PC에 비해 속도는 비교할 수 없을 정도로 빠르지만 소스 코드에 접근이 불가능한 Windows 같은 OS의 경우에는 적용할 수 없다는 문제점이있다.

클릭: 그림 확대

그림에서 알 수 있듯이 소프트웨어 가상화는 실제 하드웨어 사용하는 하는 호스트 OS(가상 머신을 실현하는 OS)에 설치된 VMM의해 게스트 OS(가상 머신에서 동작하는 OS)를 기동한다. 각각의 OS는 서로 독립적으로 동작하지만 속도는 상당히 느린 편이다.



프로세서 가상화
프로세서 가상화(VT)는 소프트웨어 가상화와 별개로 진행되는 것은 아니다. 프로세스 가상화(VT)는 Intel 플랫폼에서 동작하는 VMM(VMWare, Virtual PC등)을 강화, 향상 시키기위해 VMM에서 이용가능한 확장 명령 세트와 필요한 아키텍처(하드웨어, 펌웨어)를 프로세서에서 지원하는 것이다.

클릭: 그림 확대

VT를 지원하는 CPU라고 해도 기본적인 구성은 소프트웨어를 사용하는 경우와 별로 다르지 않다. VT가 내장되 프로세스를 사용하기 때문에 게스트 OS의 속도가 소프트웨어적으로 구현하는 것보다는 빠르다.



I/O 가상화
앞에서 잠깐 설명했지만 VTVT-iVT-x로 구분할 수 있다. 두가지 모두 가상 머신에서 할당할 수 있는 명령어 셋, 일관성 유지를 위한 캐쉬 조작 명령이 추가된 점은 동일하다. 그러나 EFI(Extensible Firware Interface) 환경이 정비된 itanium 프로세서에서는 호스트 OS의 VMM으로 게스트 OS를 띄울 수 있지만 EFI 상에서 직접 VMM을 실행하는 것도 가능하다. 이 경우 특정 OS를 호스트로 해야하는 OS 의존성이 없어지게되며, 이 경우 실행되는 모든 OS가 대등하게 동작하게된다. 아울러 인텔은 IA-32용의 EFI32 보급을 추진할 계획이기 때문에 IA-32에도 EFI가 보급될 날도 멀지 않은 것 같다.

클릭: 그림 확대

EFI가 보급되는 경우 EFI에의해 VMM을 직접 실행하는 것이 가능해진다. 이 경우 VMM에 설치된 OS는 대등하게 실행된다. 반면에 기존의 방식은 어느 한쪽이 호스트 OS로 동작하고 나머지 한쪽이 게스트 OS로 동작해야 했었다.



추가 정보 EFI(Extensible Firware Interface)는 인텔에서 개발한 새로운 BIOS 사양. EFI는 신뢰성있는 컴퓨팅을 전제로 설계되었으며, 리버스 엔지니어링을 할 수 없는 드라이버를 개발할 수 있도록 개발되었다. 네트워크와 메모리 관리를 관리할 수 있으며 부트 로더의 역할도 할 수 있다.


3. 가상화의 잇점

그러면 한 대의 컴퓨터로 여러 OS를 사용하면 어떠한 잇점이 있을까? 여러 OS를 활용하는 방법은 여러 가지가 있지만 개인적인 사용보다는 서버 가상화에 상당한 잇점이 있으며, 가상화의 도입은 서버 관리 및 유지 비용을 눈에띄게 줄여줄 수 있다.

  1. 서버 분야
    시나리오 1
    필자가 예전에 관리하고 있던 사이트에는 Windows NT 3.51이 설치된 시스템이 있었다. 시스템 업그레이드를 권고 했지만 회사 사정상 여러 가지 이유를 들어 업그레이드를 미루는 것이었다. 만약 이 시스템에 하드웨어적인 고장이 발생해서 시스템을 새로 구입해야하는 경우는 어떻게 될까? 쉽게 생각하면 새로운 서버를 구입해서 OS를 이전시키면 될 것 같지만 일이 그렇게 쉽지는 않다. 그 이유는 대부분의 하드웨어 제조사에서 더 이상 Windows NT용 장치 드라이버를 지원하지 않기 때문이다. 즉, 새로 구입한 시스템에 지원되는 장치 드라이버를 구할 수 없으므로 새로운 서버를 구입해도 OS를 설치해서 시스템을 운영하기 힘들어 진다. 그렇다고 해서 중고 서버를 구입할 수도 없다. 중고 컴퓨터라면 고장날 확률이 높기 때문이다.

    이 경우 유용하게 사용할 수 있는 것이 바로 가상화이다. 가상화는 VMM에의해 지원되는 가상의 하드웨어 장치를 사용하기 때문에 설사 시스템에 최신의 장치가 장착되어 있다고 해도 호스트 OS를 서버 2003처럼 최신 장치를 지원하는 OS를 사용한다면 아무런 문제 없이 오래된 OS를 사용할 수 있다. 물론 오래된 OS의 경우 보안 패치를 지원하지 않기 때문에 오래된 OS를 운영하는 것보다는 가급적 최신 OS로 이전하는 것이 낫다.

    클릭: 그림 확대


    시나리오 2
    시나리오 1에서 언급한 사이트의 경우 서버를 업그레이드할 수 없는 가장 큰 이유로 운영중인 서버가 전사적으로 사용되고 있기 때문에 장시간 서버를 끌 수 없다는 것이었다. 아울러 새로운 OS로 이전한 경우 시스템의 안전적인 동작을 보장할 수 있어야 하는데 이를 위해 새로운 서버를 구입할 시간적 여유가 없다는 것이었다.

    가상화는 이 경우에도 유용하게 사용할 수 있다. 오래된 OS를 하나의 가상 머신에 설치하고 이 OS를 다시 다른 가상 머신에 미러링 한 후 미러링된 OS를 업그레이드한 후 문제의 발생 여부를 검사해보면된다. 문제가 발생한 경우 기존의 OS는 그대로 유지되며, 문제가 없는 경우라면 기존의 OS를 다시 업그레이드하거나 기존 OS의 데이터는 업데이트된 OS로 이전하면 된다.

    시나리오 3
    서버가 OS의 문제로 다운되었다. 최대한 빨리 OS를 복구해야 한다. 그런데 서버는 부팅시 BSOD만 출력하고 있다. 이러한 상황이라면 어떻게 해야 할까? 이 경우 일반적으로 사용할 수 있는 방법은 커널 디버거를 이용해서 문제의 원인을 분석할 수 밖에 없다. 만약 커널 디버거를 사용할 줄 모른다면 천상 외부에서 인력 지원을 요청하고, 그 사람이 OS의 문제를 해결할 때까지 대기하는 방법외에 다른 방법은 없다.

    그러나 가상화를 이용한 경우라면 이러한 문제를 쉽게 해결할 수 있다. 가상 머신에 설치된 OS는 호스트 머신에서는 몇 개의 이미지 파일로 존재한다. 따라서 평상시 이 이미지 파일을 백업하고 문제가 발생한 경우 이 이미지 파일을 복구하면된다.

    클릭: 그림 확대


    시나리오 4
    회사에내에 분산되어 있는 서버를 하나의 서버로 통합해야 한다. 이렇게하는 이유는 서버 하드웨어의 유지 비용을 크게 줄일 수 있기 때문이다.

    이러한 경우에서도 가상화 기술을 이용해, 각 서버상의 환경을 게스트 OS로서 구축하면, 소프트웨어적으로는 여러 플랫폼을 사용하면서 하나의 물리적인 서버로 통합할 수 있다. 물론 가상 머신의 오버헤드 때문에 호스트 OS상에 통합 환경을 구축하는 것이 보다 성능이 떨어지는 것은 사실이다. 그러나 환경 이전에 드는 방대한 비용으로 보다 높은 성능의 서버를 도입하고 가상화 기술을 이용하는 것도 상당히 현실적인 선택이된다. 아울러 통합한 경우 관리해야하는 서버의 수가 줄기 때문에 통합 후 유지 관리 비용 역시 줄일 수 있다.


  2. 클라이언트 분야 사실 개인 사용자에게는 가상화 기술이 얼마나 쓸모가 있을지 모르겠다. 이 부분에 있어서는 인텔도 별다른 비젼을 제시하지 못하고 있는 것 같다. 아마 개인 사용자의 경우 가장 적절한 사용처는 Intel CEO의 크레그 바렉씨의 얘기처럼 Mac OS와 롱혼을 함께 돌리는 정도가 아닐까 싶다. 즉, 사무용으로는 비스타를 사용하고 개인적인 용도로 Mac OS X를 사용할 수 있다는 점이다.

    물론 개인 사용자의 경우에도 서버 분야에서 얘기한 것처럼 게스트 OS를 백업하고 복구하는 것과 같은 문제에 적용할 수 있으며, 특정 프로그램을 설치하기전에 문제가 있는지 여부를 가상 머신에서 시험할 수도 있다.

    그러나 가상화 그 자체가 호스트 OS의 성능을 크게 향상 시키는 것이 아니라는 점을 생각하면 서버 분야처럼 매력이 큰 것은 아닌 것 같다.


4. 가상화 CPU의 성능 시험

클릭: 그림 확대


그림에서 알 수 있듯이 테스트에 사용한 CPU는 Intel Pentium Extreme Edition 955이다. 64 비트 확장 메모리 기술인 EM64T를 지원하며, 가상화 기술인 VT와 바이러스의 오버플로우 공격을 CPU가 차단해 시스템 감염을 원천봉쇄하는 기술인 XD(Execute Disable Bit)를 지원한다. 클럭 속도는 266MHz의 FSB(버스 속도 1066MHz)로 3.45GHz의 코어 클럭을 달성하고 있다. L2 캐쉬의 용량이 상당히 큰편인데 CPU 코어당 2M씩 4M를 지원한다. 메인보드의 경우 D975XBX로 사양은 다음과 같다.



Intel D975XBX 메인보드
지원 프로세서 Pentium Processor Extreme Edition / Pentium D 900 LGA 775 / 하이퍼쓰레딩 / EM64T / EIST / XD-Bit
FSB 1066 / 800 MHz 
칩셋 i975X Express + ICH7R 
메모리 지원 듀얼 채널 DDR-II 667/533 (4DIMM, 최대 8GB)  ECC / non-ECC, Intel Memory PipelineTechnology
확장슬롯 2 PCI Express x8 (x16), 1 PCI Express x4, 2 PCI 슬롯 
사운드 8채널 사운드 (아날로그 / 디지털 출력)/ SIGMATEL 
기가 비트 이더넷 (Intel PC82573L) 
IEEE1394 1 (6핀) IEEE 1394a 포트 (Ti TSB43AB23) 
FDD &IDE 1 FDD, 1 ATA-133 
SATA 4 SATA II 3Gb/s (300MB/s), RAID 0 / 1 / 5 / 10 4 SATA 1.5Gb/s (Sil3114CUT), RAID 0 / 1 / 0+1
USB 4 USB 2.0 (최대 8개 지원)


Intel Pentium Extreme Edition 955의 경우 듀얼 코어를 지원하며, 각각의 코어가 HT를 지원하기 때문에 작업관리자로 확인해보면 네 개의 CPU가 존재하는 것으로 나타난다.

클릭: 그림 확대


64비트 CPU이기 때문에 XP 64 비트를 설치하고 시스템의 동작을 테스트해봤지만 속도면에서 크게 향상되었다는 느낌은 받지 못했다. 그러나 사람들이 느끼는 체감 속도에는 차이가 있으므로 실제 속도를 측정하기위해 산드라 2005를 이용해서 간단히 CPU의 속도만 벤치마크 해보왔다.

그림에서 알 수 있듯이 Intel Pentium 4-XE와는 비슷한 성능을 보이고 있지만 다른 AMD 보다는 나은 성능을 보이고 있다. 물론 이외에도 벤치마크할 항목이 많이 있지만 나머지는 생략하도록 하겠다.

클릭: 그림 확대


VT 기술이 적용됐기 때문에 역시 가장 궁금한 점은 가상 머신에서 얼마의 속도가 구현될 수 있는가 하는 점이다. 게스트 OS 역시 64 비트 XP를 설치하고 산드라로 동일한 항목을 벤치 마킹해봤다.

클릭: 그림 확대


일단 벤치 마크한 결과는 상당히 실망스러웠다. 물론 소프트웨어로 구현되었고 아직 정식으로 출시되지않은 CPU이기는 하지만 호스트OS에서 기동한 것에 비해 절반정도의 성능을 나타냈다. 물론 이 결과는 메인보드에서 VT를 Enable로 설정하고 측정한 결과이다.

메인보드에서 VT 옵션을 끄고 VMWare를 통한 벤치 마크한 결과를 살펴보려고 했지만 메인보드에서 VT 옵션을 끈 경우 VMWare는 호스트 OS를 32비트 OS로 인식하는 버그가 있었다.

가상화 기술을 처음 도입된 CPU이고 그러다 보니 이러한 CPU를 정상적으로 지원하는 프로그램을 찾기 조금 힘들었다. 메인보드 역시 BIOS의 설정을 변경한 경우 값을 저장하지 못하는 등의 버그가 존재했다.

아무튼 이 CPU를 사용하면서 느낀점 중 하나는 발열이 아주 심하다는 것이었다. 평상시 컴퓨터를 꺼둔 상태에서 부팅한 경우 60도에서 65까지 올라가며, 부팅한 후 측정하면 보통 70~72도 정도 되었다. CPU에 풀로드를 걸지 않아 풀로드시 얼마까지 올라갈 지는 의문이지만 아무튼 정식으로 출시되기 전에 발열 문제는 꼭 해결해야할 문제로 보였다.

5. 가상화 기술의 미래

이상으로 가상화 기술에 대해 간단히 살펴 보았으며 서버 분야의 경우 상당한 매력이 있다는 것을 알 수 있었다. 그러나 이러한 매력이 빛을 발하기위해서는 가상 머신의 성능상의 오버헤드를 더 낯출 필요가 있었다.

그러나 VT 기술이 적용된 CPU의 등장으로 가상화 기술은 급속도로 보급될 것으로 생각된다. 아울러 이러한 기술의 보급에따라 응용할 수 있는 새로운 분야도 등장할 것이다. 또한 EFI의 보급과 I/O 가상화가 진행된다면 이제 OS는 기종의 문제가 아니라 선택으로 문제로 바뀔 수 있으며, 이 것은 OS의 시장의 판도를 바꿀 수 있는 계기가 될 수도 있을 것 같다.

댓글: 이 글은 PC 사랑 2006년 2월호에 기고한 글이다.


WOL 사용하기 ... (56223) 2008-05-16
최대 절전 모드 사용하기 얼마 전 필자는 불필요한 파일을 없애기 위해 비스타에서 최... (13925)2008-05-16

QAOS.com에 게시된지 1년 이상된 자료와 관리자가 공개한 자료는 누구나 제한없이 읽을 수 있습니다.
그러나 QAOS.com의 자료를 퍼가는 것은 금지하고 있습니다.

이 정보가 유용하다고 생각되시면 QAOS.com과 많은 다른 사람들을 위해 퍼가기 보다는 링크로 알려주시기 바랍니다.

세상사는 이야기

  • 찾아라! 아이폰 순정용 >
  • 만원대 피젯 스피너를 >
  • 망하는 길을 택한 쿠팡 >
  • 물놀이에 적당한 가성 >
  • 컴퓨터를 IPTV로 2, po >
  • 컴퓨터를 IPTV로 만들 >
  • Warning.or.kr도 우회 >
  • 한국의 100대 부자, 어 >
  • 세상을 바꾼 크롬: 크 >
  • 장난(?)으로 시작한 여 >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2017 QAOS.com All rights reserved.