가상화란?
가상화를 통해 프로세서, 메모리, 스토리지 등 단일 컴퓨터의 하드웨어 리소스를 가상 머신(VM)이라고 하는 여러 개의 가상 컴퓨터로 나눌 수 있습니다.
검은색과 파란색 배경
가상화란?

가상화란 물리적 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 프로세스이며, 이는 클라우드 컴퓨팅의 기반을 제공합니다.

가상화는 소프트웨어를 사용하여 프로세서, 메모리, 스토리지 등과 같은 단일 컴퓨터의 하드웨어 요소를 일반적으로 가상 머신(VM)이라고 하는 다수의 가상 컴퓨터로 분할할 수 있도록 해주는 컴퓨터 하드웨어 상의 추상화 계층을 구축합니다. 실제 기반 컴퓨터 하드웨어의 단지 일부에서만 실행됨에도 불구하고, 각각의 VM은 자체 운영체제(OS)를 실행하며 마치 독립적인 컴퓨터인 것처럼 작동합니다.

결국 가상화는 물리적 컴퓨터 하드웨어의 보다 효율적인 활용을 가능하게 해주며, 이를 통해 기업은 하드웨어 ROI(투자 수익률)를 증대시킬 수 있습니다.

오늘날, 가상화는 엔터프라이즈 IT 아키텍처의 표준 프랙티스입니다. 또한 클라우드 컴퓨팅 경제를 주도하는 기술이기도 합니다. 가상화를 사용하여 클라우드 제공자는 기존의 물리적 컴퓨터 하드웨어를 사용하여 사용자에게 서비스를 제공할 수 있습니다. 또한 이를 사용하여 클라우드 사용자는 필요 시에 필요한 컴퓨팅 리소스만 구매할 수 있으며, 워크로드의 증가에 따라 해당 리소스를 비용 효율적으로 확장할 수 있습니다.

가상화의 작동 방식에 대한 추가적인 내용은 "가상화에 대한 설명" 동영상을 참조하세요.

가상화의 장점

가상화는 데이터 센터 운영자와 서비스 제공자에게 몇 가지 이점을 제공합니다.

  • 리소스 효율성: 가상화 전에는 각 애플리케이션 서버에 물리적인 전용 CPU가 필요했습니다. IT 직원은 실행하려는 각 애플리케이션에 별도의 서버를 구입하고 구성했습니다. (IT 팀은 신뢰성을 이유로 컴퓨터당 하나의 애플리케이션과 하나의 운영 체제(OS)를 사용하는 것을 선호했습니다.) 언제나 각 물리적 서버는 충분히 사용되지 않았습니다. 이에 반해, 서버 가상화를 사용하면 신뢰성은 그대로 유지하면서도 단일한 물리적 컴퓨터(일반적으로 x86 서버) 상에서 자체 OS가 있는 자체 VM에서 각각 다수의 애플리케이션을 실행할 수 있습니다. 따라서 물리적 하드웨어의 컴퓨팅 용량을 최대한 활용할 수 있습니다.

  • 관리 편의성: 물리적 컴퓨터를 소프트웨어 정의형 VM으로 대체하면, 소프트웨어로 기술된 정책들을 보다 손쉽게 사용 및 관리할 수 있습니다. 이를 통해 자동화된 IT 서비스 관리 워크플로우를 구축할 수 있습니다. 예를 들어, 관리자는 자동화된 배치 및 구성 툴을 사용함으로써 소프트웨어 템플릿에서 가상 머신과 애플리케이션의 콜렉션을 서비스로 정의할 수 있습니다. 따라서 관리자는 이러한 서비스를 번거롭고 시간이 많이 소요되며 오류가 발생하기 쉬운 수작업 설정 없이 이러한 서비스를 반복적이고 일관적으로 설치할 수 있습니다. 관리자는 가상화 보안 정책을 사용하여 가상 머신의 역할을 기반으로 특정 보안 구성을 지정할 수 있습니다. 미사용 가상 머신은 폐기하는 정책을 사용하여 공간과 컴퓨팅 파워를 절감함으로써 리소스 효율성을 더욱 높일 수도 있습니다.

  • 가동 중단 시간 최소화: OS 및 애플리케이션 충돌로 인해 가동 중단 시간이 발생하고 사용자 생산성에 지장을 초래할 수 있습니다. 관리자는 다수의 중복되는 가상 머신을 서로 간에 함께 실행하고, 문제 발생 시에 이들 간의 장애 복구를 수행할 수 있습니다. 다수의 중복되는 물리적 서버를 실행하려면 추가적인 비용이 소요됩니다.

  • 더 빠른 프로비저닝: 각 애플리케이션의 하드웨어를 구매, 설치 및 구성하려면 많은 시간이 필요합니다. 하드웨어가 이미 배치되어 있다면, 모든 애플리케이션을 실행하기 위한 가상 머신의 프로비저닝이 훨씬 빨라집니다. 관리 소프트웨어를 사용하여 이를 자동화하고, 기존 워크플로우에 이를 빌드할 수도 있습니다.

잠재적인 이점을 자세히 알아보려면 "가상화의 5가지 장점"을 참조하세요.

솔루션

여러 기업에서 특정 데이터 센터 태스크 또는 최종 사용자 중심의 데스크탑 가상화 시나리오를 처리하는 가상화 솔루션을 제공하고 있습니다. 보다 잘 알려진 예로는 서버, 데스크탑, 네트워크 및 스토리지 가상화에 특화된 VMware, 애플리케이션 가상화에 틈새 시장이 있지만 서버 가상화와 가상 데스크탑 솔루션도 함께 제공하는 Citrix, 그리고 해당 Hyper-V 가상화 솔루션을 Windows에서 제공하며 서버 및 데스크탑 컴퓨터의 가상 버전에 집중하는 Microsoft 등을 들 수 있습니다.

가상 머신(VM)

가상 머신(VM)은 소프트웨어 형태로 물리적 컴퓨팅을 시뮬레이션하는 가상 환경입니다. 이들은 일반적으로 VM의 구성, 가상 하드 드라이브의 스토리지, 그리고 특정 시점에 해당 상태를 유지하는 VM의 일부 스냅샷을 포함한 다수의 파일들로 구성되어 있습니다.

VM에 대한 전체적인 설명은 "가상 머신이란?"을 참조하세요.

하이퍼바이저

하이퍼바이저는 VM을 코디네이션하는 소프트웨어 계층입니다. 이는 VM 및 기반 물리적 하드웨어 간의 인터페이스의 역할을 수행하며, 각각 실행에 필요한 물리적 리소스에 액세스할 수 있도록 보장합니다. 이는 또한 서로의 메모리 공간이나 컴퓨팅 사이클에서 영향을 줌으로써 VM이 서로를 간섭하지 않도록 합니다.

두 가지 유형의 하이퍼바이저가 존재합니다.

  • 유형 1 또는 "베어메탈" 하이퍼바이저는 기반이 되는 물리적 리소스와 상호작용함으로써 기존의 운영체제를 모두 대체합니다. 이는 가상 서버 시나리오에서 가장 흔하게 나타납니다.
  • 유형 2 하이퍼바이저는 기존 OS에서 애플리케이션으로 실행됩니다. 이는 가장 흔하게는 대체 운영체제의 실행을 위해 엔드포인트 디바이스에서 사용되며, 호스트 OS를 사용하여 기반 하드웨어 리소스에 액세스하고 이를 코디네이션해야 하므로 성능 오버헤드를 유발합니다.

"하이퍼바이저: 완벽 가이드"에서는 하이퍼바이저 관련 모든 사항들의 포괄적인 설명을 제공합니다.

가상화의 유형

지금까지는 서버 가상화에 대해 설명했지만, 다른 많은 IT 인프라 요소들을 가상화함으로써 (특히) IT 관리자와 기업 전체에 상당한 장점을 제공할 수 있습니다. 이 섹션에서는 다음 유형의 가상화를 살펴보고자 합니다.

  • 데스크탑 가상화
  • 네트워크 가상화
  • 스토리지 가상화
  • 데이터 가상화
  • 애플리케이션 가상화
  • 데이터 센터 가상화
  • CPU 가상화
  • GPU 가상화
  • Linux 가상화
  • 클라우드 가상화

데스크탑 가상화

데스크탑 가상화를 사용하면 동일 컴퓨터의 자체 VM에서 각각 다수의 데스크탑 운영체제를 실행할 수 있습니다.

두 가지 유형의 데스크탑 가상화가 존재합니다.

  • 가상 데스크탑 인프라(VDI)는 중앙 서버의 VM에서 다수의 데스크탑을 실행하며, 씬 클라이언트 디바이스에서 로그인한 사용자에게 이를 스트리밍합니다. 이러한 방식으로, VDI는 기업이 디바이스에 OS를 설치하지 않고도 디바이스에서 다양한 OS에 액세스할 수 있는 권한을 자체 사용자에게 제공할 수 있도록 합니다. 보다 자세한 설명은 "가상 데스크탑 인프라(VDI)란?"을 참조하세요.
  • 로컬 데스크탑 가상화는 로컬 컴퓨터에서 하이퍼바이저를 실행함으로써, 사용자가 해당 컴퓨터에서 하나 이상의 추가적인 OS를 실행함은 물론 기본 OS에 대한 변경 없이도 필요 시 한 OS에서 다른 OS로 전환할 수 있도록 허용합니다.

가상 데스크탑에 대한 자세한 정보는 "DaaS(Desktop-as-a-Service)"을 참조하세요.

네트워크 가상화

네트워크 가상화는 소프트웨어를 사용하여 관리자가 단일 콘솔에서 네트워크를 관리하기 위해 사용할 수 있는 네트워크에 대한 "뷰"를 구축합니다. 이는 하드웨어 요소와 기능들(예: 연결, 스위치, 라우터 등)을 추상화하며, 이를 하이퍼바이저에서 실행 중인 소프트웨어로 추상화합니다. 네트워크 관리자는 기반 물리적 컴포넌트를 건드리지 않고도 이러한 요소들을 수정 및 제어할 수 있으며, 이를 통해 네트워크 관리가 매우 간소화됩니다.

네트워크 가상화의 유형에는 네트워크 트래픽 라우팅("제어 플레인" 이라고 함)을 제어하는 하드웨어를 가상화하는 소프트웨어 정의 네트워킹(SDN)이 포함되어 있습니다. 또한 네트워크 기능 가상화(NFV)도 함께 포함되어 있으며, 이는 특정 네트워크 기능(예: 방화벽, 로드 밸런서 또는 트래픽 분석기)을 제공하는 하나 이상의 하드웨어 어플라이언스를 가상화함으로써 해당 어플라이언스의 구성, 프로비저닝 및 관리가 보다 간편하게 만듭니다.

스토리지 가상화

스토리지 가상화를 사용하면, 개별 서버에 혹은 독립형 스토리지 유닛에 설치되었는지 여부와 무관하게 네트워크의 모든 스토리지 디바이스를 단일 스토리지 디바이스로서 액세스 및 관리할 수 있습니다. 특히, 스토리지 가상화는 모든 스토리지 블록을 단일한 공유 풀로 통합하며, 이로부터 해당 스토리지는 필요 시에 네트워크의 임의의 VM에 지정될 수 있습니다. 스토리지 가상화를 이용하면 VM의 스토리지를 보다 손쉽게 프로비저닝할 수 있으며, 네트워크의 모든 가용 스토리지를 최대한으로 이용할 수 있습니다.

스토리지 가상화에 대해 보다 자세히 알아보려면 "클라우드 스토리지란?"을 참조하세요.

데이터 가상화

오늘날의 기업들은 클라우드에서부터 온프레미스 하드웨어와 소프트웨어 시스템에 이르기까지, 다수의 위치에서 다수의 파일 형식을 사용하여 다수의 애플리케이션의 데이터를 저장합니다. 데이터 가상화를 사용하면 애플리케이션이 소스, 형식 또는 위치에 상관없이 해당 데이터 모두에 액세스할 수 있습니다.

데이터 가상화 툴은 데이터에 액세스하는 애플리케이션과 이를 저장하는 시스템 간의 소프트웨어 계층을 구축합니다. 계층은 필요 시에 애플리케이션의 데이터 요청이나 쿼리를 변환하며, 여러 시스템에 관여될 수 있는 결과를 리턴합니다. 데이터 가상화는 기타 통합 유형이 실현 가능하지 않거나, 바람직하지 않거나 혹은 비용이 너무 많이 들 경우 데이터 사일로를 해소하는 데 도움이 될 수 있습니다.

애플리케이션 가상화

애플리케이션 가상화는 사용자의 OS에 직접 설치하지 않고도 애플리케이션 소프트웨어를 실행합니다. 애플리케이션만 가상 환경에서 실행되고 일반 사용자 디바이스의 OS는 평상시처럼 실행되므로, 이는 (위에서 언급한) 완벽한 데스크탑 가상화와는 차이가 있습니다. 세 가지 유형의 애플리케이션 가상화가 존재합니다. 

  • 로컬 애플리케이션 가상화: 전체 애플리케이션이 엔드포인트 디바이스에서 실행되지만, 원시 하드웨어가 아닌 런타임 환경에서 실행됩니다.
  • 애플리케이션 스트리밍: 필요 시 일반 사용자의 디바이스에서 실행될 수 있도록, 애플리케이션이 소프트웨어의 작은 컴포넌트를 보내는 서버에 있습니다.
  • 서버 기반 애플리케이션 가상화: 사용자 인터페이스만 클라이언트 디바이스에 전송하는 서버에서 애플리케이션이 전적으로 실행됩니다.

데이터 센터 가상화

데이터 센터 가상화는 대부분의 데이터 센터의 하드웨어를 소프트웨어로 추상화함으로써, 효율적으로 관리자가 단일한 물리적 데이터 센터를 서로 다른 클라이언트의 다수의 가상 데이터 센터로 분할할 수 있도록 허용합니다.

각각의 클라이언트는 동일한 기반 물리적 하드웨어에서 실행되는 자체 IaaS(Infrastructure as a Service)에 액세스할 수 있습니다. 가상 데이터 센터는 클라우드 기반 컴퓨팅으로 가는 간편한 진입로를 제공함으로써, 기업이 인프라 하드웨어를 구매하지 않고도 완벽한 데이터 센터 환경을 빠르게 설정할 수 있도록 지원합니다.

CPU 가상화

CPU(Central Processing Unit) 가상화는 하이퍼바이저, 가상 머신 및 운영 체제를 가능하게 해주는 기반 기술입니다. 이를 이용하면 다수의 VM에서 사용할 수 있도록 하나의 CPU를 다수의 가상 CPU로 분할할 수 있습니다.

처음에 CPU 가상화는 전적으로 소프트웨어 정의형 가상화였지만, 오늘날의 많은 프로세서에는 VM 성능을 개선하는 CPU 가상화를 지원하는 확장형 명령 세트가 포함되어 있습니다.

GPU 가상화

GPU(Graphical Processing Unit)는 대용량 그래픽 또는 수학적 처리를 대신 처리함으로써 전체 컴퓨팅 성능을 향상시키는 특수 멀티 코어 프로세서입니다. GPU 가상화를 사용함으로써, 다수의 VM은 보다 빠른 동영상, 인공지능(AI) 및 기타 그래픽 또는 수학 집약적 애플리케이션을 위해 단일 GPU의 처리 성능 중 전부 또는 일부를 사용할 수 있습니다.

  • 패스-스루 GPU는 단일 게스트 OS에서 전체 GPU를 사용할 수 있도록 합니다.
  • 공유 vGPU 는 서버 기반 VM에서 사용할 수 있도록 다수의 가상 GPU(vGPU) 간에 물리적 GPU 코어를 분할합니다.

Linux 가상화

Linux에는 Linux 호스트 OS 내에서 x86 기반 VM을 구축할 수 있도록 Intel 및 AMD의 가상화 프로세서 확장 기능을 지원하는 커널 기반 가상 머신(KVM)이라고 하는 자체 하이퍼바이저가 포함되어 있습니다.

오픈 소스 OS인 Linux는 맞춤화 가능성이 뛰어납니다. 보다 민감한 애플리케이션의 경우, 특정 워크로드나 보안 강화형 버전에 맞게 조정된 Linux의 버전을 실행하는 VM을 구축할 수 있습니다.

클라우드 가상화

위에서 언급한 대로, 클라우드 컴퓨팅 모델은 가상화를 기반으로 합니다. 서버, 스토리지 및 기타 물리적 데이터 센터 리소스를 가상화함으로써, 클라우드 컴퓨팅 제공자는 고객들에게 다음을 포함한 다양한 서비스를 제공할 수 있습니다. 

  • IaaS(Infrastructure as a Service): 해당 요구사항에 맞게 구성이 가능한 가상화된 서버, 스토리지 및 네트워크 리소스입니다.  
  • PaaS(Platform as a Service): 클라우드 기반 애플리케이션과 솔루션의 구축에 사용할 수 있는 가상화된 개발 툴, 데이터베이스 및 기타 클라우드 기반 서비스입니다.
  • SaaS(Software as a service): 클라우드에서 사용하는 소프트웨어 애플리케이션입니다. SaaS는 하드웨어에서 가장 많이 추상화된 클라우드 기반 서비스입니다.

이러한 클라우드 서비스 모델에 대해 보다 자세히 알아보려면 "IaaS 대 PaaS 대 SaaS" 안내서를 참조하세요.

가상화 vs. 컨테이너화

서버 가상화는 하드웨어에서 전체 컴퓨터를 재생성하며, 이는 다시 전체 OS를 실행합니다. OS는 하나의 애플리케이션을 실행합니다. 이는 전혀 가상화가 없는 것보다는 효율적이지만, 실행하고자 하는 애플리케이션마다 불필요한 코드와 서비스를 여전히 복제합니다.

컨테이너는 대안적인 접근 방법을 사용합니다. 이는 애플리케이션 및 해당 에플리케이션이 의존하는 소프트웨어 라이브러리 및 환경 변수 등만을 실행하면서 기반 OS 커널을 공유합니다. 따라서 컨테이너는 보다 작아지며 배포 속도가 빨라집니다.

컨테이너 및 컨테이너화에 대한 자세한 설명은 "컨테이너: 완벽 가이드" 및 "컨테이너화: 완벽 가이드"를 참조하세요.

보다 자세한 비교 결과를 원하면 블로그 게시물 "컨테이너 대 VM: 차이점은 무엇인가?"를 참조하세요.

다음 동영상에서 Sai Vennam이 컨테이너의 기초 및 VM을 통한 가상화와의 차이점에 대해 자세히 설명합니다.

VMware

VMware는 가상화 소프트웨어를 구축합니다. VMware는 서버 가상화만을 제공하여 시작했으며, 이의 ESX(현재는 ESXi) 하이퍼바이저는 가장 최초로 상용화에 성공한 가상화 제품 중 하나였습니다. 오늘날 VMware에서는 네트워크, 스토리지 및 데스크탑 가상화를 위한 솔루션도 제공합니다.

VMware 관련 사항을 모두 자세히 살펴보려면 "VMware: 완벽 가이드"를 참조하세요.

 

보안

가상화는 몇 가지 보안 상의 장점을 제공합니다. 예를 들어, 멀웨어에 감염된 VM은 해당 VM이 미감염 상태로 안정적이었던 특정 시점(스냅샷이라고 함)으로 롤백될 수 있습니다. 또한 보다 손쉽게 이를 삭제하고 재구축할 수도 있습니다. 멀웨어가 종종 OS의 코어 컴포넌트에 깊게 통합되어 시스템 롤백 이후에도 지속될 수 있으므로, 가상화되지 않은 OS의 바이러스 제거가 늘 가능하지는 않습니다.

가상화는 또한 일부 보안 상의 문제를 유발합니다. 공격자가 하이퍼바이저를 감염시키는 경우, 이는 잠재적으로 모든 VM 및 게스트 운영 체제를 소유합니다. 하이퍼바이저를 통해 VM이 물리적 네트워크에 접속하지 않고도 서로 간에 통신할 수 있으므로, 해당 트래픽의 확인이 쉽지 않아서 의심스러운 활동의 감지가 어려울 수 있습니다.

호스트 OS의 유형 2 하이퍼바이저 역시 호스트 OS 손상에 취약합니다.

시장에서는 VM에 멀웨어가 있는지 확인하기 위해 VM을 스캔 및 패치하고 전체 VM 가상 디스크를 암호화하며 VM 액세스를 제어 및 감사할 수 있는 다양한 가상화 보안 제품들을 제공합니다.

관련 솔루션
Cloud for VMware Solutions

IBM Cloud를 사용하여 VMware 워크로드와 애플리케이션을 완벽하게 현대화합니다.

클라우드 VMware 솔루션 살펴보기
데이터 가상화 툴 및 솔루션

데이터를 이동하지 않고 이질적인 데이터를 단일 시각에서 파악할 수 있습니다. 복잡성과 오류 위험을 줄이며 데이터를 관리할 수 있습니다.

데이터 가상화 살펴보기
서버 및 데스크탑 가상화를 위한 스토리지

스토리지 가상화를 이용하여 하이브리드 클라우드를 간소화합니다. 데이터를 위험에 노출시키지 않고도, 스토리지 리소스를 중앙에서 관리하고 데이터 서비스를 확장하며 데이터 이동성을 개선합니다.

가상화를 위한 스토리지 살펴보기
리소스 가상 머신이란?

가상 머신은 실제 컴퓨터의 가상 표현 또는 에뮬레이션입니다. 가상화를 통해 하나의 물리적 컴퓨터에 여러 가상 머신을 생성할 수 있습니다.

하이퍼바이저란?

하이퍼바이저는 여러 운영 체제 인스턴스가 동일한 물리적 컴퓨팅 리소스에서 서로 나란히 실행되도록 지원하여 가상화를 가능하게 합니다.

클라우드 컴퓨팅이란?

클라우드 컴퓨팅은 IT 인프라를 유틸리티 방식 서비스로 변환하므로 고객은 이러한 인프라를 온프레미스에서 설치하여 관리하지 않고 인터넷을 통해 컴퓨팅 리소스와 애플리케이션에 '연결'할 수 있습니다.

다음 단계

IBM Cloud는 다양한 기술과 가격 옵션을 기반으로 자체 VM을 구성하고 실행할 수 있는 기회를 제공합니다. 필요한 컴퓨팅 성능, 메모리, 로컬 스토리지 및 GPU 기능을 기반으로 VM의 기술 프로파일을 선택하여 특정 워크로드에 맞게 시스템을 조정할 수 있습니다.보안 및 규제 준수 요구사항에 맞게 공용 또는 사설 노드 중에서 선택할 수 있습니다.

IBM Cloud에서 무료로 시작