-
Linux
- Xen
- Xen PV (Para Virtualization) : 반가상화
- Xen HVM (Hardware Virtual Machine) : 전가상화
- KVM
- Linux 커널에 내장된 기능
- Xen
-
Windows
- Hyper-V
-
Container
|
AWS
|
Azure
|
GCP
|
Hypervisor
|
Xen HVM
Xen PV
Nitro
|
Hyper-V
|
KVM
|
Host OS
|
Linux
|
Windows
|
Linux
|
-
호스트 가상화
- Host OS위에 Guest OS가 구동되는 방식
- 종류 : VM Workstation, VMware Server, VMware Player, MS Virtual Server, Virtual PC, Virtual Box, Paralles Workstation 등
-
하이퍼바이저 가상화
- Host OS 없이? 하드웨어에 하이퍼바이저를 설치하여 사용되는 방식
- 종류 : Xen, MS Hyper-V, Citrix, KVM 등
- Hardware Virtual Machine 이라고도 불림
- 하이퍼바이저를 구동하면 DOM0라고 하는 관리용 가상머신이 실행되고
- 모든 가상머신들의 하드웨어 접근이 DOM0를 통해 일어짐
- 장점 : 하드웨어를 완전히 가상화 하기 때문에 Guest OS 의 별다른 수정이 필요없음
- 단점 : 하이퍼바이저가 모든 명령을 중재하기 때문에 성능이 비교적 느림
반가상화(Para-Virtualization)
-
전가상화의 가장 큰 단점인 성능저하의 문제를 해결하기 위해 Hyper Call 이라는 인터페이스를 통해 하이퍼바이저에게 직접 요청을 날립니다.
-
장점 : 모든 명령을 DOM0를 통해 하이퍼바이저에게 요청하는 전가상화에비해 성능이 빠름
-
단점 : 하이퍼바이저에게 Hyper Call을 요청할 수 있도록 각 OS의 커널을 수정해야 하며 오픈소스 OS가 아니면 반 가상화를 이용하기 쉽지 않음
-
호스트 OS위에 컨테이너 관리 소프트웨어를 설치하여 논리적으로 컨테이너를 나누어 사용합니다.
-
장점 : 오버헤드가 적어 가볍고 빠른 장점이 있음
-
단점 : 사용하기 까지 공부할 것이 추가로 생김
AWS
Xen 또는 니트로 하이퍼바이저
EC2 instance의 가상화 기술은 아래 표와 같이 Xen PV 으로 시작하여 Xen HVM 을거쳐 Nitro 까지 발전을 거듭해왔습니다.
[AWS] Nitro system 이란?(AWS 5세대 인스턴스) - KimDragon Tech & Economy Blog (AWS 가상화에 대한 설명 좋음)
[리눅스 가상화 개념] 가상화(Virtualization)와 하이퍼 바이저 (Hypervisor) - 사막의 여우 (하이퍼바이저 가상화의 설명 좋음)
Azure AWS에서 사용하는 호스트가 각각 Windows Server와 Linux Server 사용되는 것으로 알려져 있는데
윈도우라서 Hyper-v를 쓰고 리눅스라서 Xen을 쓰는게 아닌가본데?
모든 AWS AMI(Amazon Machine Image)는 베어메탈에서 Xen 하이퍼바이저를 사용합니다. Xen은 HVM (Hardware Virtual Machine) 및 PV (반가상화)의 두 가지 가상화를 제공합니다. -링크
아 하이퍼바이저 라는건 그냥 가상화 기술을 의미 하는거고 os 단에서 가상화 해주는게
리눅스는 KVM이고, 윈도우는 Hyper-v 인건가? - 링크
그러네~ 맞네~
Hyper-V vs KVM : Select the right hypervisor for your IT needs
Hyper-v는 Windows만 되고 KVM은 오픈소스로 Intel, AMD에서 작동할 수 있다네
Hyper-V와 KVM의 주요 차이점
- Hyper-V는 Microsoft에서 제공하고 Windows에서 실행되는 반면
- KVM은 Linux에 내장 된 오픈소스 하이퍼바이저 라는 것
Hyper-V와 KVM의 메모리 프로비저닝 옵션
Windows Server, Windows 10 Pro 및 Windows 10 Enterprise에 Hyper-V를 포함하고 Hyper-V Server라는 Hyper-V의 무료 독립 실행형 버전을 제공
KVM은 x86 머신이 있는 최신 Linux 커널과 가상화 기술이 활성화된 Intel 프로세서 또는 보안 가상머신 기능이 있는 AMD 프로세서에서 작동할 수 있습니다.
AWS에서의 PV와 HVM 문서 내용 중
반가상화(PV)가 성능이 더 좋다고 알려져 왔기 때문에 HVM을 선택할 일은 없었는데,
PV가 HVM보다 성능이 좋기는 했지만 그 차이가 크지 않았고 AWS가 발전하면서 퍼포먼스 차이가 더 줄어들었거나 어떤 경우는 HVM이 더 좋은 성능을 내는 경우도 있다고 한다. 또 이렇게 된 이유로 Xen 자체의 기술 향상, 새로운 세대의 CPU 도입, EC2 driver의 향상 등을 들고 있다.
그리고 이번에 직접 목격한 대로 AWS는 PV => HVM으로 점차 바꾸고 있는 중인 것 같고 최신 instance type들은 HVM으로만 제공하는 것으로 보인다.
AMI(Amazon Machine Image) matrix를 살펴보니 이제 PV지원하는 instance type은 거의 없다.
Azure 선단의 하이퍼바이저 보안 문서 내용 중
Azure 하이퍼바이저 시스템은 Windows Hyper-V를 기반으로 합니다.
GCP는 Xen이 아니라 KVM을 사용한다는데? 아닌가? 선택적으로 사용할 수 있다는건가?
Google Cloud에서 KVM 하이퍼바이저를 강화하는 7가지 방법: 일반 텍스트의 보안 중
Googld Cloud는 Google Compute Engine 및 Google Container Engine의 기반으로 수십명의 연구원이 검증한 오픈소스 KVM하이퍼바이저를 사용하며,...
여기까지 요약 정리
|
AWS
|
Azure
|
GCP
|
Hypervisor
|
Xen HVM
Xen PV
Nitro
|
Hyper-V
|
KVM
|
Host OS
|
Linux
|
Windows
|
Linux
|
아~ 여기 좋은거 찾았네
Xen, KVM, HVM, PV - 또리장군 내용 중 (각 가상화에 대한 설명이 잘 번역되어 있음)
-
Xen PV domain은 para virtualized(반가상화) domain이다.
-
이는 운영체제(일반적으로 리눅스)가 Xen 에서 동작하도록 수정되었다는 것을 의미하며
-
하드웨어 에뮬레이션을 할 필요가 없다.
-
이는 가장 효율적인 방법으로 성능면에서도 좋다.
-
-
Xen HVM domain은 domain이 하드웨어로 에뮬레이션되며
-
이는 운영체제(리눅스, 윈도우 등) 수정되지 않고 하드웨어에 의해 에뮬레이트 된다.
-
이로인해 조금 느려지는데 일반적으로 중요한 하드웨어(디스크, 네트워크)를 위해
-
게스트 운영체제에 PV 드라이버를 설치해 전체적으로는 full virtualized로 게스트가 동작하지만
-
성능상 중요한 하드웨어 부분은 para virtualzied로 동작시킨다.
-
최근 리눅스 시스템을 커널안에 디스크와 네트워크를 위한 PV드라이버가 내장되어 있으며 윈도우즈 또한 다양한 PV 드라이버를 가지고 있다.
-
근래에 개발되고 있는 HVM은 일반적으로 표준 작업량에서 HVM과 PV 사이 성능적으로 약간의 차이를 가지고 있다.(큰 차이 없다는 뜻인듯)
-
-
게스트의 관점에서 보면 Xen HVM과 닮았다.
-
게스트는 full virtualized로 동작하며 디스크나 네트워크를 위해 특정드라이버를 사용해 부분적으로 para virtualized로 동작한다.
Xen HVM과 KVM은 하드웨어 가상화 기술(Intel VT-x, AMD AMD-v)에 도움을 받는다.
이에 반해 Xen PV는 PV지원 없이는 운영체제를 동작시킬 수 없다. (Xen PV에서 윈도우즈를 동작 시킬 수 없다. 윈도우즈를 수정할 수 없으니...)
Xen HVM과 KVM은 게스크 시스템에서 PV드라이버를 사용하지 않는 장치를 위해 실제 하드웨어를 에뮬레이트 할 수 있도록 QEME (Quick Emulator)가상화 소프트웨어의 일부분을 사용한다.
Xen(PV와 HVM 둘 다)은 게스트가 동작하고 있는 상태에서도 하나의 물리 서버에서 다른 서버로 라이브 마이그레이션을 할 수 있다.
하지만 KVM도 할 수 있는지는 잘 모르겠다. (글쓴이가 이렇게 말 했지만 KVM도 라이브 마이그레이션 가능합니다.)
Xen과 KVM은 실제 메모리 보다 더 많이 적재할 수 없다. VMware와 같은 플랫폼은 게스트의 디스크에 스왑을 할 수 있다.
하지만 최근들어 Xen 하이퍼바이저는 게스트가 지원하는 경우 메모리 활용도와 게스트 성능을 향상 시킬 수 있는 transcendent memory를 지원한다.(커널 >= 3.something.)
'IT > Azure' 카테고리의 다른 글
Cognitive Translator 간단 테스트 (0) | 2023.04.26 |
---|---|
VMSS Flexible Mode (0) | 2023.04.26 |
Azure PowerShell Module 재설치 (0) | 2023.04.26 |
Storage Account blob 이동 테스트 (0) | 2023.04.26 |
Azure에서 인증서 백업받기 (0) | 2023.04.26 |