KVM과 Hyper-V의 차이를 이해하는 것은 组织实施仮想化環境 시 하드웨어 자원 Utilization을 최적화하기 위해 중요합니다. 이 部落格 記事에서는 KVM과 Hyper-V이 무엇인지 간단히 설명하고 두 가지 하이퍼 Ви서이zer를 比较할 것입니다.
이 비교적 평가의 주요 포인트는 다음과 같습니다 :
- 스케일 ability과 パフォーマンス
- 관리 도구
- 메모리 제공 옵션
- 보안 기능
- 라이브 이전 기능
KVM 하이퍼 Ви서이zer 是什么呢?
KVM 이란 커널 기반 仮想 머신의 약어로 리눅스 커널 내에서 开源 전 仮想化 솔루션을 의미합니다. KVM은 x86 프로세서에서 실행되며 사용자에게 하이퍼 비서 기능을 제공하여 仮想화 환경을 만들 수 있습니다.
Kernel-based Virtual Machine 하이퍼 비서는 리눅스 버전 2.6.20 이상과 함께 처음으로 릴리스되었습니다. KVM은 Linux, Windows, macOS, Haiku 등의 여러 운영 시스템을 지원하며 하드웨어 기반 仮想화 기능을 제공합니다. 同样的 solution also provides paravirtualization for Windows, OpenBSD, FreeBSD, among other systems.
KVM은 대부분의 Linux 计算机에서도 CPU가 하드웨어 기반 仮想화를 지원하는 것처럼 사용할 수 있습니다. KVM을 설치하려면 Linux 소프트웨어 저장소에서 필요한 팩을 다운로드하고 kvm-qemu와 관리 도구(선택 사항)을 마anger tool을 마anger tool을 설치하세요.
KVM-based 仮想화 관리 도구로 가장 일반적으로 사용되는 것은 Oracle Linux Virtualization Manager, Proxmox VE, Red Hat Virtualization Manager입니다.
Hyper-V是什么呢?
Hyper-V은 미icrosoft heterogeneous virtualization 기술의 natice 하이퍼 вир터이며, Vm과 가상 환경의 생성 및 사용을 지원합니다. Hyper-V은 Windows OS 下에 x86-64 시스템에서 실행할 수 있습니다.
Microsoft Hyper-V은 우선 Windows Server 2008 로부터 릴리스 되었습니다. 하이퍼 Вир터는 Windows Server 시스템의 옵션적인 다운로드ble 구성 요소입니다. 또한, Hyper-V은 기능이 제한되어 있는 독립형 무료 이dition을 가지고 있으며, 이를 CLI (COMMAND-LINE INTERFACE)만 지원합니다.
Hyper-V를 사용하면 서로를 isolation 시키는 가상 컴퓨터 집합을 얻을 수 있습니다. 이것은 특정 両親(root) 및 자녀 partitioning이 있기 때문입니다. 両親 partition, 하드웨어에 직접 アクセス할 수 있는 것과, 가상화 관리 스택을 실행하는 것입니다. 그리고 이 partition은 가상 オペレーティング 시스템을 호스트하는 자녀 partitions을 생성합니다.
KVM vs Hyper-V: 详しい比較
Hyper-V와 KVM 비교를 해봤으면 일반적인 차이를 발견할 수 있습니다. 자세한 정보를 확인하여 最适合의 솔루션을 찾을 수 있습니다.
スkalabil ity 및 パフォーマンス
Scalability 및 performance는 KVM vs Hyper-V 比较의 가장 중요한 부분입니다. 좋은 ニュース은 ここ에서 あります – Hyper-V와 KVM가 双方 high performance 를 제공하며 뛰어난 스케일 ability를 제공합니다.
KVM가 基于 Linux kernel の仮想化 ソフト웨어입니다. 이는 open-source 솔루션입니다. 이 means that KVM can run properly on a wide range of hardware. 同样的 Linux kernel 은 고效율과 opera tional speed를 지원합니다.
downside, KVM의 오픈 소스 性质은 상황에 따라 문제가 발생하는 것을 容嬷嬷하게 하고, 해결이 시간과 努力을 더해야 하는 것을 容嬷嬷할 수 있다. 그러나 KVM의 온라인 지식 베이스는 substancial하다는 것은 意味着 그것을 빨라서 解决了할 수 있는 것을 大部分에 의해 容嬷嬷할 수 있다는 의미이다.
다른 한편에, Hyper-V는 Microsoft의 프로prietary 하이퍼 Виzeror이며, Windows Server OS와 함께 packaged되어 있으며, majority of the available hardware에 대해 가장 좋은 성능을 제공하기 위한 optimize되어 있다. Hyper-V의 스케일ability는 하스트에서 여러 VM를 실행하고 가상 워크 로드를 의존 없이 Scale up and out하는 것을 容嬷嬷할 수 있는 것을 제공하고 있다.
Hyper-V의 주요 단점은 Windows를 제외한 다른 오пера툴 지원이 제한되는 것이다. 그러나 某些한 관리 복잡성과 가능한 兼用性问题 조합으로 Hyper-V가 必요한 기술 经验가 없이도 도전적이라고 할 수 있다.
Management tools
Hyper-V와 KVM은 다른 기반 平台에 의해 디자인되었으며, 그들의 관리 도구는 또한 다르다.
Hyper-V 관리를 할 때, Windows PowerShell CLI를 사용할 수 있으며, GUI가 필요하다면 Windows Admin Center 또는 Hyper-V Manager를 사용할 수 있다.
또한, 기관은 Microsoft에서 제공하는 네이티브 enterprise-grade 관리 도구를 이용하여 다양한 이점을 얻을 수 있다: System Center Virtual Machine Manager (VMM) for Hyper-V. 관리자는 便利하고 정보 많은 인프라 보기와 스케일ability 능력을 이용하여 Hyper-V 환경을 Hyper-V Manager로 관리하기 때문에 VMM를 preferably use하는 것이 一般的하다. 하지만, Virtual Machine Manager를 사용하기 위해서는 개별 라이선스를 구입해야 한다는 것이 downside이다.
KVM 관리 작업은 하이퍼-V과 同样하게 명령行 인터페이스(CLI)만을 사용하여 수행할 수 있습니다. 그러나 그림의 인터페이스를 사용하여 자신의 KVM 인프라스트럭쳐를 관리하고자 하는 사용자들은 Morpheus, virt-manager, Cloonix 같은 솔루션을 시도하고자 할 수 있습니다.다른 것들
하이퍼-V와 KVM은 하나의 중요한 기능을 공유하며, 대량의 하드웨어 호환성 목록을 가지고 있어 greatly flexible하게 사용할 수 있습니다.
KVM로는 任何时候 어떤 스토리지(직렬 연결 또는 네트워크 연결 스토리지)를 有效地(efficiently) 사용할 수 있습니다. 반면 Hyper-V은 Windows를 지원하는 任何时候의 스토리지로 작동합니다. NAS나 네트워크 파일 공유에 VM files를 저장하고자 하면 서버 메시지 블록 프로tokol 3.0을 구성해야 합니다.
메모리 제공 옵션
KVM과 Hyper-V가 공유하는 다른 장점은 메모리 사용 flexibility입니다. 두 하이퍼시어(hypervisors)는 일반적인 메모리나 NUMA(non-uniform memory access)를 同等하게 사용할 수 있습니다.
그러나 KVM과 Hyper-V의 동적 메모리 할당의 차이를 알아보시는 것이 중요합니다. 하이퍼-V의 동적 메모리 기능은 가상 머신이 현재 VM의 需要에 따라 메모리 사용을 자동으로 관리합니다. 의도치 않은 메모리 제한을 벗어나지 않습니다. 동적 메모리 할당을 사용하면 어느程度上 VM를 한 호스트에서 더 많이 실행할 수 있습니다. 이를 위해 메모리를 과시 제공(overprovisioning)할 수 있습니다.
KVM 하이퍼韦서는 메모리 오버-프로비저닝도 지원합니다. 그러나 이 기능의 구현은 Hyper-V과 약간 다르다. KVM 仮想머신은 Linux OS 아래 호스트에서 실행하는 separate process로 구성되어 있습니다. 따라서, 仮想머신은 미리 할당된 메모리 볼륨을 갖추고 있지 않습니다. 오퍼레이팅 시스템은 仮想 머신 사이에 요청에 따라 메모리를 분산하고 있습니다. 간단하게 말하면, KVM 仮想化 소프트웨어는 仮想 머신에 대한 메모리 블록을 Demand-based 할당합니다.
KVM 호스트가 사물 메모리의 부족을 겪는 경우, 시스템은 메모리 页面을 스왑 영역에 보낸다. 이를 통해 自由的 RAM 양이 요청에 따라 증가하여 호스트 시스템용 메모리 오버칩itting을 사용할 수 있습니다.
보안 기능
KVM과 Hyper-V 비교에서 보안 기능에 대해서, 双方의 솔루션은 datas 보호와 환경 보호를 Ensure 하기 위해 사용할 수 있는 효율적인 보안 기능을 갖추고 있습니다.
KVM의 경우, 仮想 머신의 이olation과 보안은 두 솔루션의 능력에 의해 확보되며, SELinux (security-enhanced Linux)는 가상 머신에 保卫하는 보안 장면을 설정합니다. sVirt (Secure Virtualization)는 게스트 仮想 머신에 대한 MAC (Mandatory Access Control) 보안을 가능하게 하고, SELinux의 기능을 추가하고 가상 보안에 대한 인간의 실수의 영향을 줄어들이게 합니다.
Hyper-V는 또한 단일의 해킹당한 노드 전에 환경을 보호하기 위해 가상 머신을 격리할 수 있습니다. 또한, 제2世代 Hyper-V VM에서 사용 가능한 Secure Boot 기능은 부팅 시점에 권한 없는 OS, 드라이버, 및 펌웨어를 실행하는 것을 방지하는 데 도움을 줍니다. Hyper-V의 추가 보안 기능에는 전체 서브넷의 트래픽 암호화, Guarded Fabric(안티恶意软件 보안 모델), 및 보호된 VM이 포함됩니다.
라이브 VM 마이그레이션 기능
KVM와 Hyper-V 모두에서 사용할 수 있는 라이브 가상 머신 마이그레이션 기능입니다. 이 기능을 사용하면 관리자는 VM의 운영을 중단하지 않고 다른 서버로 VM을 옮길 수 있습니다.
라이브 마이그레이션은 조직이 생산 연속성과 서비스 이용 가능성을 지원하는 데 도움을 줄 수 있습니다. 예를 들어, 주요 가상화 호스트에 대한 계획된 하드웨어 유지 보수 시간이 있을 때, 중요한 VM을 보조 서버로 옮기면 됩니다. 이로써 유지 보수가 조직의 Workflow와 운영을 중断하지 않고 계획대로 수행됩니다.
또한, 때때로 호스트에는 원래 생성된 VM을 실행하기에 부족한 자원이 될 수 있습니다. 예를 들어, VM이 사용 중에 “너무 크게” 되어 전체 호스트의 성능에 영향을 줄 수 있습니다. 호스트 성능을 최적화하는 가장 효율적인 방법은 VM을 끄지 않고 다른 호스트로 이동하는 가상화 관리자의 라이브 마이그레이션 기능을 사용하는 것입니다.
KVM과 Hyper-V 사이의 변환
필요할 때 KVM 가상 머신을 Hyper-V 환경에서 작동하도록 변환하거나 반대로 변환할 수 있습니다.下面는 KVM와 Hyper-V 사이의 변환 가이드입니다.
KVM에서 Hyper-V로의 변환
KVM 가상 머신을 Hyper-V 환경에서 사용할 수 있도록 변환하는 작업은 3 단계로 진행됩니다.
- qemu-ing을 설치합니다.
- KVM 가상 머신 디스크 이미지를 Hyper-V 형식으로 변환하려면 다음 명령을 사용하세요:
qemu-img.exe convert sourcefile.qcow2 -O vhdx -o subformat=dynamic destinationfile.vhdx
이 명령에서 sourcefile은 소스 VM 디스크 파일 이름이며 destinationfile은 변환 후 원하는 새 디스크 파일 이름입니다.
- Hyper-V에서 새 가상 머신을 생성한 후, 변환된 디스크 이미지를 연결하세요.
Hyper-V에서 KVM로 변환
Hyper-V VM을 KVM 환경으로 변환하려면 다음을 수행하세요:
- 변환할 Hyper-V VM을 끕니다. 그 다음 VM을 선택하고 Hyper-V Manager에서 Export를 클릭합니다.
- VM 파일이 저장될 목적지 저장소를 지정합니다.
- 내보낸 VM의 프로세서 코어, 메모리, 그리고 MAC 주소를 기록하세요.
- 대상 가상 머신의 VHDX 파일을 KVM 환경으로 복사합니다.
- KVM 호스트에서 virt-v2v를 설치합니다.
-
sudo virt-v2v -i disk sourcefile.vhdx -o local -of qcow2 -os targetfile
- 변환이 완료되면 게스트 OS를 확인합니다.
- VMM을 사용하여 KVM 환경에서 새 가상 머신을 생성합니다.
- 기존 디스크 이미지 가져오기를 선택한 후 다음을 클릭합니다.
- vhdx-sda 파일을 찾고 설치해야 하는 OS를 지정합니다. 그 후 다음을 클릭합니다.
- 초기 새 VM 구성을 완료합니다: 메모리, CPU, VM 이름을 설정하고 KVM 네트워킹 설정을 지정합니다. 그런 다음 적용을 클릭합니다.
- MAC와 같은 구체적인 옵션을 구성합니다. 그런 다음 창 상단에서 설치 시작을 선택합니다.
비용 고려사항
조직의 예산은 IT 환경에 관한 모든 선택의 중추이며 KVM 대 Hyper-V에 대한 결정도 예외는 아닙니다. 가격 문제에 관한 점에서 KVM은 분명한 우위를 가지고 있습니다: 오픈 소스 솔루션으로 무료로 사용할 수 있습니다. 또한 추가 비용 없이 관리 도구 및 기능 모듈을 다운로드하고 설치할 수도 있습니다. Microsoft Hyper-V 모듈도 무료로 제공됩니다. 그러나 미묘한 차이는 Microsoft가 Hyper-V 가상화 환경을 실행하기 위해 Windows Server로 업그레이드하는 것을 권장한다는 점입니다.
결론
KVM과 Hyper-V 사이의 결정은 organization의 specific needs과 budget에 따라 行われます. Windows VMs를 familiar ecosystem에서 运行시키는 경우, proprietary supported solution에 资金을 分配하기 prepensed 하면 Hyper-V이 적절한 옵션입니다. 另一方面, open-source solution을 配置하고 調整하는 데에 extra effort를 准备하는 경우, KVM은 관리, 安全性, 확장성 및 feature에 대해서는 近乎同等のcapability와 experience를 무료로 제공합니다.