web-dev-qa-db-fra.com

Quelle est la différence entre les types de virtualisation PV et HVM dans ec2?

AWS EC2 propose deux types de virtualisation des machines Ubuntu Linux EC2 - PV et HVM.

PV: enter image description here

HVM: enter image description here

Quelle est la différence entre ces types?

57
Adam Matan

Amazon fonctionne sur Xen, qui fournit la paravirtualisation (PV) ou la virtualisation assistée par matériel (HVM).

La para-virtualisation était le choix recommandé, car elle vous offrait de meilleures performances (avec une intégration beaucoup plus proche de l'hôte de virtualisation, grâce à des noyaux/pilotes spécialisés corrigés à la fois sur l'hôte et l'invité).

La virtualisation assistée par matériel utilise les avantages fournis par le matériel moderne et ne nécessite aucun type de noyau ou de correctifs personnalisés. Benchmarks récents a prouvé que HVM est en fait plus rapide sur certaines charges de travail.

48
pauska

Un extrait de la documentation AWS:

Les principales différences entre les AMI PV et HVM sont la façon dont elles démarrent et si elles peuvent tirer parti des extensions matérielles spéciales (CPU, réseau et stockage) pour de meilleures performances.

Les AMI HVM sont présentées avec un ensemble de matériel entièrement virtualisé et démarrent en exécutant l'enregistrement de démarrage principal du périphérique de bloc racine de votre image. Ce type de virtualisation offre la possibilité d'exécuter un système d'exploitation directement sur une machine virtuelle sans aucune modification, comme s'il était exécuté sur le matériel nu. Le système hôte Amazon EC2 émule une partie ou la totalité du matériel sous-jacent présenté à l'invité. Contrairement aux invités PV, les invités HVM peuvent profiter des extensions matérielles qui fournissent un accès rapide au matériel sous-jacent sur le système hôte. Les AMI HVM sont nécessaires pour tirer parti de la mise en réseau améliorée et du traitement GPU.

Les AMI PV démarrent avec un chargeur de démarrage spécial appelé PV-GRUB, qui démarre le cycle de démarrage puis charge en chaîne le noyau spécifié dans le fichier menu.lst de votre image. Les invités paravirtuels peuvent s'exécuter sur du matériel hôte qui ne prend pas explicitement en charge la virtualisation, mais ils ne peuvent pas tirer parti d'extensions matérielles spéciales telles que la mise en réseau améliorée ou le traitement GPU. Historiquement, les invités PV avaient de meilleures performances que les invités HVM dans de nombreux cas, mais en raison des améliorations de la virtualisation HVM et de la disponibilité des pilotes PV pour les AMI HVM, ce n'est plus le cas.

2
anraj

Une différence notable est que le paravirtuel ne prend pas en charge les instances GPU.

Je l'aurais créé comme hvm si j'avais su que je voudrais le relancer en tant qu'instance GPU.

edit: Hmm, en fait, il semble que nous pouvons passer de paravirtuel à hvm tout en créant une AMI.

1
Grit

Désormais, sur AWS, devrait utiliser HVM et peut obtenir de meilleures performances.

1)
Les AMI HVM sont nécessaires pour profiter de la mise en réseau améliorée et du traitement GPU
2)
Historiquement, les invités PV avaient de meilleures performances que les invités HVM dans de nombreux cas, mais en raison des améliorations de la virtualisation HVM et de la disponibilité des pilotes PV pour les AMI HVM, ce n'est plus le cas.

https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html

0
beehuang