본문으로 건너뛰기

가상화(Virtualization)

✔️ 가상화 (Virtualization)

가상화(Virtualization) 란 하나의 물리적인 컴퓨팅 리소스를 논리적으로 분리하여 여러 개의 가상 리소스를 생성해 사용하는 기술을 의미합니다. 서버, 스토리지, 네트워크 등 다양한 IT 리소스를 가상화할 수 있으며, 클라우드 컴퓨팅에 핵심이 되는 기술 중 하나로 활용됩니다.

가상화가 필요한 이유

  • 서버를 가상화할 경우 물리 서버에 여러 가상 서버를 배치하여 하드웨어 리소스를 효율적으로 사용할 수 있습니다.
  • 물리적인 하드웨어 수를 줄일 수 있어 초기 구축 비용 및 유지 관리 비용을 절감할 수 있습니다.
  • 각 가상 리소스들은 격리되어 있어 하나의 가상 리소스에 장애가 발생해도 다른 가상 리소스에 영향을 미치지 않습니다.
  • 가상 리소스를 필요에 따라 빠르게 생성하거나 삭제할 수 있어 인프라 운영이 유연해집니다.
  • 가상 리소스는 소프트웨어 기반이기 때문에 장애 복구가 용이하고 가용성을 높일 수 있습니다.

✔️ 서버 가상화

가장 일반적인 가상화 형태로, 물리적인 서버를 여러 개의 가상 머신(VM, Virtual Machine) 으로 나누어 사용하는 기술입니다. VM을 사용하면 하나의 물리 서버에서 여러 운영 체제를 실행할 수 있으며, 각각의 VM은 독립적으로 운영됩니다. 이 때 VM은 게스트, VM들이 실행되는 물리 서버는 호스트라고 합니다.

하이퍼바이저 (Hypervisor)

물리 서버에 설치되는 가상화 소프트웨어로, 하드웨어로부터 VM에 필요한 CPU, 메모리 등의 리소스를 할당하고 VM들이 서로 격리되어 동작할 수 있도록 관리하는 역할을 합니다. 하이퍼바이저는 실행 위치에 따라 Type 1Type 2로 나뉩니다.

Type 1

Native 또는 Bare Metal 하이퍼바이저라도 하며, 하드웨어에서 직접 실행되어 별도의 호스트 OS가 필요하지 않습니다. 일반적으로 엔터프라이즈 데이터 센터에서 사용하며 KVM과 Microsoft의 Hyper-V 등이 대표적인 예시입니다.

Type 2

Hosted 하이퍼바이저라고도 하며, 호스트 OS 위에서 하나의 애플리케이션으로 실행됩니다. 개인용 PC나 개발 환경에서 주로 사용하며 Oracle의 VirtualBox와 VMware의 Workstation 등이 대표적인 예시입니다.

✔️ VM(Virtual Machine)컨테이너(Container)

다양한 OS가 필요한 환경이거나 높은 격리 수준이 중요할 경우 VM(Virtual Machine)을 사용하고, 빠른 배포와 확장이 필요한 클라우드 네이티브 환경이거나 마이크로서비스 아키텍처를 활용할 경우 컨테이너(Container)를 사용할 수 있습니다. 하지만 VM컨테이너는 서로 대체하는 기술이 아니기 때문에 VM 위에서 컨테이너를 실행하는 방식과 같이 목적에 따라 함께 활용할 수도 있습니다.

VM (Virtual Machine)

하이퍼바이저를 통해 호스트 시스템에서 다수의 게스트 OS를 동시에 실행하는 기술입니다. VM은 다양한 OS를 실행할 수 있고 높은 수준의 격리를 제공하지만, 게스트 OS를 포함하기 때문에 무겁고 성능이 느리다는 단점이 있습니다.

컨테이너 (Container)

호스트 OS의 커널을 공유하며, 컨테이너 이미지를 통해 애플리케이션을 실행하는 기술입니다. 컨테이너VM보다 가볍고 빠른 성능, 높은 확장성을 보이지만, 커널을 공유하기 때문에 보안에 취약할 수 있고 호스트 OS와 동일한 환경으로 구성해야 한다는 단점이 있습니다.

Loading comments...