가상화란?

URL 복사

커널 기반 가상 머신(Kernel-based Virtual Machine, KVM)은 Linux® 운영 체제를 위한 오픈소스 가상화 기술입니다. KVM을 통해 Linux는 격리된 여러 가상 머신(VM)을 실행하는 하이퍼바이저로 기능할 수 있습니다.

KVM은 2006년에 처음 발표되었고 1년 후에 Linux 커널로 병합되었습니다. Red Hat의 가상화 포트폴리오를 포함한 많은 오픈소스 가상화 기술이 KVM을 구성 요소로 사용합니다.

Red Hat 가상화 솔루션에 대해 알아보기

가상화를 통해 운영 체제(OS)를 다른 OS 내에서 실행할 수 있습니다. 이것은 하이퍼바이저 덕에 가능합니다. 하이퍼바이저는 프로세서, 메모리, 스토리지와 같은 컴퓨팅 리소스를 풀링하여 VM에 재할당합니다. 하이퍼바이저는 동시에 여러 VM을 실행할 수 있으며, VM을 관리하고 새 VM의 생성을 지원할 수 있습니다. 하이퍼바이저로 사용되는 물리 하드웨어를 호스트라고 하며 그 리소스를 사용하는 여러 VM을 게스트라고 합니다.

하이퍼바이저에서 VM을 실행하려면 메모리 관리자, 프로세스 스케줄러, I/O(입력/출력) 스택, 기기 드라이버, 보안 관리자, 네트워크 스택 등 운영 체제 수준의 구성 요소가 필요합니다. KVM은 Linux 커널의 일부이기 때문에 이러한 구성 요소를 모두 가지고 있습니다. 모든 VM은 표준 Linux 스케줄러를 통해 예약되는 정기적인 Linux 프로세스로, 네트워크 카드, 그래픽 어댑터, CPU, 메모리, 디스크 등 전용 가상 하드웨어가 포함되어 구현됩니다.

Red Hat 리소스

가상화를 사용하면 단일 하드웨어에서 여러 운영 체제 환경을 빠르게 시작하고 중단할 수 있으므로 기업의 IT 에코시스템에 다양한 장점을 제공합니다.

유연성

호스트 머신을 여러 VM으로 나누고 리소스를 필요한 곳에 할당할 수 있습니다. 이러한 방식으로 여러 VM을 하나의 물리적 하드웨어에서 호스팅하여 공간, 전력 소비 절감, 유지 관리를 극대화할 수 있습니다.

속도

VM 구성은 소프트웨어에 의해 정의되므로 VM을 빠르게 생성, 제거, 복제, 마이그레이션할 수 있습니다. 또한 VM을 원격으로 관리하고 VM 관리를 자동화할 수 있습니다.

호환성

사용 중인 OS에는 릴리스되지 않았던 소프트웨어를 VM으로 실행할 수 있습니다. 예를 들어 VM에서 오래된 운영 체제를 실행하여 기존 소프트웨어를 최신 하드웨어에서도 계속 사용할 수 있습니다.

안정성 및 안전성

VM은 각각 별도로 실행되므로 안전 측면에서도 장점이 있습니다. VM이 불안정해지더라도 호스트 OS 또는 동일한 호스트의 다른 VM에 영향을 미치지 않습니다. 또한 새로운 구성을 테스트할 때 전체 시스템을 손상시킬 위험이 없습니다.

KVM에서 VM은 커널이 예약하고 관리하는 Linux 프로세스입니다. KVM과 함께 실행되는 VM은 Linux의 성능을 활용하고, 사용자는 Linux 스케줄러에서 제공하는 정교한 제어 기능을 활용할 수 있습니다. KVM은 또한 보안, 스토리지, 하드웨어 지원, 실시간 마이그레이션과 관련된 기능을 제공합니다.

SELinux 및 sVirt와 관련된 보안 경계

KVM은 VM 보안 및 격리를 강화하기 위해 SELinux(Security-Enhanced Linux)sVirt의 조합을 사용합니다. SELinux는 VM 주위에 보안 경계를 설정합니다. sVirt는 SELinux의 기능을 확장하여 필수 액세스 제어(Mandatory Access Control, MAC) 보안이 게스트 VM에 적용될 수 있도록 하고 수동 레이블 지정에서 비롯되는 오류를 예방합니다.

스토리지 유연성

KVM은 일부 로컬 디스크와 네트워크 연결 스토리지(NAS)를 비롯해 Linux에서 지원하는 모든 스토리지를 사용할 수 있습니다. 또한 KVM은 공유된 파일 시스템을 지원하므로 VM 이미지가 여러 호스트 사이에서 공유될 수 있습니다. 

여러 하드웨어 아키텍처에 대한 지원

KVM은 매우 다양한 하드웨어 플랫폼에서 실행될 수 있습니다. KVM이 Red Hat Enterprise Linux 9의 일부로 사용되는 경우 64비트 AMD, Intel, ARM 아키텍처는 물론 IBM z13 시스템 이상에서도 지원됩니다.

실시간 마이그레이션

KVM은 실행 중인 VM을 중대한 서비스 중단 없이 물리 호스트 사이에서 이동할 수 있는 기능인 실시간 마이그레이션을 지원합니다. 재배치되는 과정에서 VM은 작동 상태를 유지하고, 네트워크 연결도 활성화되어 있으며, 애플리케이션은 계속 실행됩니다. 또한 KVM은 VM의 현재 상태를 저장하므로 보관한 후 나중에 다시 시작할 수 있습니다.

가상화 관리 툴을 사용하면 여러 VM을 실행할 때 VM을 지속적으로 추적할 수 있습니다. 일부 VM 관리 툴은 커맨드라인에서 실행되고 일부는 그래픽 사용자 인터페이스(GUI)를 제공하며 일부는 대기업 환경 전반에서 VM을 관리하기 위해 설계됩니다. 다음은 KVM을 위한 몇 가지 일반적인 가상화 관리 솔루션입니다.

libvirt 및 virsh

libvirt 프로젝트는 가상화 플랫폼 관리를 위한 API를 제공합니다. libvirt 내에서 virsh는 VM의 생성, 시작, 나열, 중단과 가상화 쉘 입력을 위한 커맨드라인 유틸리티입니다.

가상 머신 관리자

가상 머신 관리자(VMM 또는 virt-manager라고 함)는 VM을 위한 데스크톱 인터페이스를 제공하며 주요 Linux 배포판에서 제공됩니다.

웹 콘솔

VM 관리자는 웹 기반 인터페이스를 사용하여 VM을 관리할 수 있습니다. 예를 들어 Cockpit은 사용자가 웹 인터페이스에서 VM을 관리할 수 있는 솔루션을 제공합니다. Red Hat Enterprise Linux는 가상화를 위한 웹 콘솔 플러그인을 제공합니다.

KubeVirt

Kubevirt는 VM을 컨테이너화된 애플리케이션과 함께 관리할 수 있는 쿠버네티스 환경에서 많은 VM을 관리하는 솔루션입니다. Kubevirt는 Red Hat OpenShift® Virtualization의 기반을 제공합니다.

VM의 장점 중 하나는 유연성과 이식성입니다. 이식성을 통해 한 가상화 공급업체의 VM을 다른 가상화 공급업체로 이동하여 비용 절감, 기능 확장, 제어 기능 확대 같은 여러 장점을 누릴 수 있습니다.

개발자는 KVM을 성숙한 기술로 생각하며 기업은 KVM을 통해 VM을 규모에 따라 효율적으로 다룹니다. Red Hat의 가상화 포트폴리오와 같은 KVM 기반 플랫폼으로 마이그레이션하면 기존 VM 투자 자산을 보존하는 동시에 오픈소스 기반의 솔루션을 선택할 수 있습니다. 또한 Red Hat 기술을 사용하면 VM, 컨테이너, 서버리스 애플리케이션 등을 위한 통합 환경을 관리할 수 있습니다.

VM 마이그레이션에 대한 애널리스트 의견

KVM은 Red Hat의 가상화 포트폴리오를 지원하는 하이퍼바이저입니다. Red Hat의 엔터프라이즈 지원, 보안 기능, 안정성 등이 보장되는 KVM 같은 오픈소스 하이퍼바이저로 유연성과 다양한 장점을 경험할 수 있습니다.

Red Hat의 신뢰할 수 있는 제품과 파트너 에코시스템은 하나의 통합 가상화 솔루션을 통해 모두 제공됩니다. 지금 바로 오픈소스 프로젝트 KVM과 KubeVirt를 기반으로 하여 가상 머신과 컨테이너를 동시에 실행할 수 있는 현대적인 애플리케이션 플랫폼인 Red Hat OpenShift Virtualization으로 가상 머신을 마이그레이션할 수 있습니다. 포함되어 있는 가상화를 위한 마이그레이션 툴킷은 몇 단계로 간단히 마이그레이션을 시작하는 데 필요한 툴을 제공합니다. Red Hat Ansible® Automation Platform을 통해 자동화를 사용하여 규모에 따른 마이그레이션에서 Day 2 오퍼레이션과 문제 해결까지 제공을 가속화할 수 있습니다. 그리고 Red Hat Advanced Cluster Management for Kubernetes로 단일 콘솔에서 VM의 보안과 성능을 모니터링할 수 있습니다. 스토리지, 백업 및 재해 복구, 네트워킹을 위한 추가 지원 옵션과 파트너 통합으로 Red Hat은 조직이 하이브리드 클라우드 전체에 걸쳐 가상 인프라의 원활한 운영을 유지하고 준비가 되었을 때 현대화할 수 있도록 지원합니다.

Red Hat의 가상화 포트폴리오 살펴보기

허브

레드햇 공식 블로그

레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.

모든 Red Hat 제품 체험판

무료 제품 체험판을 통해 핸즈온 경험을 얻고, 자격증 시험에 대비하거나 해당 제품이 조직에 적합한지 평가할 수 있습니다.

추가 자료

Podman Desktop이란?

Podman Desktop은 로컬 개발자 환경에서 컨테이너 작업을 간소화하는 무료 오픈소스 툴입니다.

Ansible과 Puppet 비교: 선택 시 알아야 할 주요 사항 및 차이점

Ansible과 Puppet은 커뮤니티 오픈소스 IT 자동화 툴입니다. 이 문서에서는 두 툴의 유사점과 차이점을 자세히 설명하고, 선택 시 고려해야 할 주요 요소들을 안내합니다.

Podman: 리눅스에서 컨테이너 개발, 관리, 실행하는 오픈소스 툴

Podman은 리눅스 시스템에서 컨테이너 개발, 관리, 실행을 위한 오픈소스 툴이며 도커와 호환되는 명령어 인터페이스를 제공하여, 도커 사용자가 쉽게 전환할 수 있습니다

오픈소스 리소스

관련 기사