Comprendre les différences entre KVM et Hyper-V est essentiel lors de la construction d’un environnement virtuelisé pour optimiser l’utilisation des ressources matérielles pour une organisation. Dans cet article de blog, nous expliquons brièvement ce que sont KVM et Hyper-V, puis comparons les deux hyperviseurs.
Les points clés de cette évaluation comparative sont les suivants :
- Scalabilité et performance
- Outils de gestion
- Options de provisionnement de la mémoire
- Fonctionnalités de sécurité
- Capacités de migration en direct
Qu’est-ce que le hyperviseur KVM ?
L’acronyme KVM signifie Kernel-based Virtual Machine (machine virtuelle basée sur le noyau). Il s’agit d’une solution de virtualisation complète open source intégrée dans le noyau Linux. KVM fonctionne sur les processeurs x86, offrant aux utilisateurs des capacités d’hyperviseur pour construire des environnements virtuelisés.
La machine virtuelle basée sur le noyau fut initialement publiée en 2007 en tant que partie des versions de Linux 2.6.20 et plus récentes. KVM permet de virtualiser divers systèmes d’exploitation tels que Linux, Windows, macOS et Haiku, en offrant des capacités de virtualisation assistée par l’ hardware. La même solution fournit également la virtualisation par paravirtualisation pour Windows, OpenBSD, FreeBSD, entre autres systèmes.
KVM peut être utilisé sur la majorité des ordinateurs Linux dotés de processeurs supportant la virtualisation assistée par l’hardware. Pour installer KVM, vous devez télécharger les paquets requis depuis les dépôts de logiciels Linux, en plus de kvm-qemu et d’un outil de gestion (facultatif).
Les outils de gestion de virtualisation les plus courants basés sur KVM sont le gestionnaire de virtualisation Oracle Linux, Proxmox VE et le gestionnaire de virtualisation Red Hat.
Qu’est-ce que Hyper-V ?
Hyper-V est un hyperviseur natif de Microsoft qui permet la création et l’utilisation de VM (machines virtuelles) et d’environnements virtuels. Hyper-V peut être exécuté sur un système x86-64 sous une OS Windows.
Microsoft Hyper-V a d’abord été publié en tant que partie de Windows Server 2008. Le hyperviseur est un composant téléchargeable facultatif des systèmes Windows Server. De plus, Hyper-V possède une édition gratuite indépendante avec des fonctions limitées et ne supporte que l’interface en ligne de commande (CLI).
Avec Hyper-V, vous pouvez obtenir une série de machines virtuelles isolées les unes des autres. Cela est possible en raison de la partition parent (racine) et des sous-partitions enfant spécifiques. Une partition parent, qui peut accéder directement au matériel, exécute la pile de gestion de la virtualisation. Ensuite, cette partition crée des sous-partitions qui hébergent des systèmes d’exploitation invités.
KVM vs Hyper-V : une comparaison détaillée
Maintenant que nous avons mis en avant les différences générales dans notre comparaison Hyper-V vs KVM, nous pouvons passer à plus de détails. Vérifiez l’information ci-dessous pour choisir la solution qui convient le mieux à vos besoins.
Scalabilité et performance
La scalabilité et la performance sont sans doute les deux points les plus importants dans toute comparaison KVM vs Hyper-V. La bonne nouvelle est que le concours ici se solde par un match nul – Hyper-V et KVM présentent à la fois une haute performance et une grande scalabilité.
Le logiciel de virtualisation KVM est basé sur le noyau Linux, qui est une solution open source. Cela signifie que KVM peut fonctionner correctement sur une large gamme de matériel. Le même noyau Linux permet une efficacité élevée et une vitesse d’opérations.
D’un autre côté, la nature open source de KVM peut entraîner des problèmes situés qui peuvent prendre du temps et des efforts pour être résolus. Cependant, la base de connaissances en ligne de KVM est considérable, ce qui signifie que vous trouverez probablement votre solution rapidement.
En revanche, Hyper-V est le hyperviseur propre de Microsoft qui est fourni avec le système d’exploitation Windows Server, optimisé pour offrir la meilleure performance sur la plupart des matériels disponibles. La scalabilité d’Hyper-V vous permet également d’utiliser votre infrastructure IT de manière efficace en exécutant plusieurs VMs sur l’hôte et en élargissant vos charges virtuelles sur demande.
Le principal inconvénient d’Hyper-V est son support limité pour les systèmes d’exploitation autres que Windows. Cela peut se combiner avec certaines complexités de gestion et des problèmes de compatibilité, ce qui peut rendre Hyper-V difficile à utiliser si vous n’avez pas l’expérience technique requise.
Outils de gestion
Comme Hyper-V et KVM sont conçus pour des plateformes différentes, leurs outils de gestion diffèrent également.
Pour la gestion d’Hyper-V, vous pouvez utiliser la CLI Windows PowerShell. Si vous recherchez une solution avec une interface graphique, vous pourriez utiliser Windows Admin Center ou Hyper-V Manager.
De plus, les organisations peuvent tirer plusieurs avantages de l’outil de gestion native de niveau entreprise fourni par Microsoft : System Center Virtual Machine Manager (VMM) pour Hyper-V. Les administrateurs préfèrent généralement VMM pour gérer les environnements Hyper-V en raison de la vue de l’infrastructure pratique et informative et des capacités de scalabilité. D’un autre côté, vous devez acheter une licence dédiée pour utiliser Virtual Machine Manager.
Vous pouvez effectuer toutes les tâches de gestion de KVM en utilisant uniquement le CLI, tout comme avec Hyper-V via PowerShell. Néanmoins, ceux qui préfèrent les interfaces graphiques pour gérer leurs infrastructures KVM peuvent essayer des solutions comme Morpheus, virt-manager ou Cloonix, parmi d’autres.
Hyper-V et KVM partagent une caractéristique importante : une vaste liste de compatibilité matérielle, qui offre une grande flexibilité.
Pour KVM, vous pouvez effectivement utiliser n’importe quel stockage (y compris le stockage à connexion directe et le stockage en réseau). Quant à Hyper-V, il fonctionne avec n’importe quel système de stockage compatible avec Windows. Gardez à l’esprit que si vous prévoyez de stocker des fichiers de VM sur un NAS ou un partage de fichiers réseau, vous devrez configurer le protocole de bloc de messages serveur 3.0.
Options de provisionnement de la mémoire
La flexibilité d’utilisation de la mémoire est un autre avantage partagé par KVM et Hyper-V. Les deux hyperviseurs peuvent utiliser indifféremment la mémoire ordinaire ou NUMA (accès mémoire non uniforme).
Il convient toutefois de noter la différence entre KVM et Hyper-V en ce qui concerne l’allocation dynamique de la mémoire. Dans Hyper-V, la fonction de mémoire dynamique permet aux machines virtuelles de réguler l’utilisation de la mémoire en fonction des besoins actuels de la VM. La demande ne dépasse pas les limites de volume de mémoire définies. Grâce à l’allocation dynamique de la mémoire, les administrateurs peuvent faire fonctionner davantage de machines virtuelles sur un seul hôte en surprovisionnant la mémoire.
Le hyperviseur KVM permet également la sur-provisionnement de la mémoire. Cependant, la mise en œuvre de cette fonctionnalité est un peu différente de celle dans Hyper-V. Les machines virtuelles KVM sont des processus distincts exécutés sur l’hôte sous un système d’exploitation Linux. Ainsi, les VMs n’ont pas de volumes de mémoire pré-alloués. Le système d’exploitation distribue la mémoire entre les machines virtuelles en fonction des demandes. En simplifiant, le logiciel de virtualisation KVM alloue des blocs de mémoire à chaque machine virtuelle à la demande.
En cas de pénurie de mémoire physique sur un hôte KVM, le système envoie alors certaines pages de mémoire au périphérique de swap. La quantité de RAM libre augmente alors à la demande, ce qui permet l’overcommitment de la mémoire pour le système hôte.
Fonctionnalités de sécurité
Quand il s’agit des capacités de sécurité dans la comparaison KVM vs Hyper-V, les deux solutions offrent des fonctionnalités de sécurité efficaces que vous pouvez utiliser pour assurer la protection des données et de l’environnement de votre organisation.
Pour KVM, l’isolement des VM et la sécurité proviennent de la capacité de deux solutions. La première, SELinux (Linux sécurisé amélioré) définit un périmètre de sécurité autour des machines virtuelles. sVirt (virtualisation sécurisée) permet la sécurité de type MAC (Contrôle d’Accès Mandaté) pour les VMs invitées, ajoutant plus de capacités à SELinux et réduisant l’impact des erreurs humaines sur la sécurité virtuelle.
Hyper-V peut également isoler les machines virtuelles pour sécuriser l’environnement avant qu’un seul nœud ne soit compromis. En outre, la fonction Secure Boot disponible avec les machines virtuelles Hyper-V gen 2 permet d’empêcher l’exécution de systèmes d’exploitation, de pilotes et de microprogrammes non autorisés au moment du démarrage. Les autres fonctions de sécurité d’Hyper-V comprennent le cryptage du trafic sur un sous-réseau entier, Guarded Fabric (un modèle de sécurité anti-malware) et les VM blindées.
Capacités de migration en direct des VM
La migration en direct des machines virtuelles est une fonction disponible à la fois dans KVM et dans Hyper-V. Grâce à cette fonction, les administrateurs peuvent déplacer les machines virtuelles vers un autre serveur sans interrompre les opérations des machines virtuelles.
La migration en direct peut aider les organisations à prendre en charge la continuité de la production et la disponibilité des services. Par exemple, lorsque vous avez une session de maintenance matérielle planifiée sur votre hôte de virtualisation principal, vous pouvez déplacer vos VM cruciales vers un serveur secondaire. La maintenance se déroule alors comme prévu sans perturber les flux de travail et les opérations de votre organisation.
En outre, il arrive que votre hôte ne dispose pas de ressources suffisantes pour exécuter les VM que vous y avez créées à l’origine. Par exemple, une VM peut devenir trop « grosse » en cours d’utilisation et entraîner des problèmes de performances pour l’ensemble de l’hôte. Le moyen le plus efficace d’optimiser les performances de l’hôte est d’utiliser les fonctionnalités de migration en direct de votre hyperviseur pour déplacer cette machine virtuelle vers un autre hôte sans éteindre la VM.
Conversion entre KVM et Hyper-V
Lorsque cela est nécessaire, vous pouvez convertir les machines virtuelles KVM pour qu’elles fonctionnent dans des environnements Hyper-V et vice-versa. Consultez les guides de conversion entre KVM et Hyper-V ci-dessous.
Conversion de KVM en Hyper-V
Convertissez les machines virtuelles KVM en vue de leur utilisation dans des environnements Hyper-V en trois étapes :
- Installez qemu-ing.
- Pour convertir une image de disque de machine virtuelle KVM dans le format Hyper-V, utilisez la commande suivante :
qemu-img.exe convert sourcefile.qcow2 -O vhdx -o subformat=dynamic destinationfile.vhdx
Dans cette commande, sourcefile est le nom du fichier de disque de la VM source et destinationfile est le nom du nouveau fichier de disque que vous souhaitez obtenir après conversion.
- Créez une nouvelle machine virtuelle dans Hyper-V, puis attachez l’image de disque convertie à celle-ci.
Conversion de Hyper-V vers KVM
Pour convertir les VM Hyper-V vers des environnements KVM, procédez comme suit :
- Eteignez la VM Hyper-V que vous devez convertir. Ensuite, choisissez la VM et, dans le Gestionnaire Hyper-V, cliquez sur Exporter.
- Fournissez le dépôt de destination pour les fichiers de la VM.
- Notez les cœurs du processeur, la mémoire et l’adresse MAC de la VM exportée.
- Copiez le fichier VHDX de la machine virtuelle cible vers l’environnement KVM.
- Sur l’hôte KVM, installez virt-v2v.
- Utilisez virt-v2v pour convertir VHDX en QCOW2 avec la commande suivante :
sudo virt-v2v -i disk sourcefile.vhdx -o local -of qcow2 -os targetfile
- Une fois la conversion terminée, notez le système d’exploitation invité.
- Utilisez VMM pour créer une nouvelle machine virtuelle dans l’environnement KVM.
- Choisissez Importer une image de disque existante, puis cliquez sur Continuer.
- Trouvez le fichier vhdx-sda, puis spécifiez le système d’exploitation que vous devez installer. Après cela, cliquez sur Continuer.
- Terminez la configuration initiale de la nouvelle VM : réglez la mémoire, la CPU, le nom de la VM et spécifiez les paramètres de réseau KVM. Ensuite, cliquez sur Appliquer.
- Configurez des options spécifiques telles que la MAC ici. Puis, en haut de la fenêtre, sélectionnez Démarrer l’installation.
Considérations de coût
Le budget de l’organisation demeure la pierre angulaire de tout choix concernant les environnements informatiques, et la décision entre KVM et Hyper-V n’est pas une exception. En matière de tarification, KVM présente un avantage clair : en tant que solution open source, son utilisation est gratuite. De plus, vous pouvez également télécharger et installer les outils de gestion et les modules de fonctionnalités sans frais supplémentaires. Le module Microsoft Hyper-V est également disponible gratuitement. Cependant, la nuance est que Microsoft recommande de passer à Windows Server pour exécuter des environnements virtualisés Hyper-V.
Conclusion
Le choix final entre KVM et Hyper-V dépend des besoins spécifiques et du budget de votre organisation. Si vous devez exécuter des VM Windows dans un écosystème familier et êtes prêt à allouer des fonds pour obtenir une solution propriétaire soutenue, Hyper-V est la bonne option. D’autre part, si vous êtes prêt à investir plus d’efforts dans la configuration et l’ajustement de la solution open source, KVM peut fournir des capacités et une expérience quasi égales en termes de gestion, de sécurité, d’évolutivité et de fonctionnalités, et gratuitement.