KVM이란?
커널 기반 가상 머신(Kernel-based Virtual Machine, KVM)은 Linux® 운영 체제를 위한 오픈소스 가상화 기술입니다. KVM을 통해 Linux는 격리된 여러 가상 머신(VM)을 실행하는 하이퍼바이저로 기능할 수 있습니다.
KVM은 2006년에 처음 발표되었고 1년 후에 Linux 커널로 병합되었습니다. Red Hat의 가상화 포트폴리오를 포함한 많은 오픈소스 가상화 기술이 KVM을 구성 요소로 사용합니다.
하이퍼바이저의 역할
가상화를 통해 운영 체제(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의 기능
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의 현재 상태를 저장하므로 보관한 후 나중에 다시 시작할 수 있습니다.
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의 기반을 제공합니다.
KVM 기반 가상화 플랫폼으로 마이그레이션해야 하는 이유
VM의 장점 중 하나는 유연성과 이식성입니다. 이식성을 통해 한 가상화 공급업체의 VM을 다른 가상화 공급업체로 이동하여 비용 절감, 기능 확장, 제어 기능 확대 같은 여러 장점을 누릴 수 있습니다.
개발자는 KVM을 성숙한 기술로 생각하며 기업은 KVM을 통해 VM을 규모에 따라 효율적으로 다룹니다. Red Hat의 가상화 포트폴리오와 같은 KVM 기반 플랫폼으로 마이그레이션하면 기존 VM 투자 자산을 보존하는 동시에 오픈소스 기반의 솔루션을 선택할 수 있습니다. 또한 Red Hat 기술을 사용하면 VM, 컨테이너, 서버리스 애플리케이션 등을 위한 통합 환경을 관리할 수 있습니다.
Red Hat의 가상화를 선택해야 하는 이유
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은 조직이 하이브리드 클라우드 전체에 걸쳐 가상 인프라의 원활한 운영을 유지하고 준비가 되었을 때 현대화할 수 있도록 지원합니다.
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.