Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:systeme:kvm [29/09/2015 18:46] milou [Introduction] |
doc:systeme:kvm [14/08/2023 19:46] (Version actuelle) captnfab |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== KVM ====== | + | Cette page est redirigée vers [[:doc:systeme:vm:qemu]]. |
- | * Objet : L'hyperviseur **K**ernel based **V**irtual **M**achine | + | |
- | * Niveau requis : {{tag>débutant avisé}} | + | |
- | * Commentaires : //Système optimisé pour la virtualisation de serveur// | + | |
- | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | |
- | * Suivi : {{tag>à-tester}} | + | |
- | * Création par [[user>smolski]] 21/08/2010 | + | |
- | * Dernière mise à jour par [[user>MicP]] le 12/01/2014 | + | |
- | * Testé par <...> le <...> | + | |
- | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=2255 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | + | |
- | ===== Introduction ===== | + | |
- | + | ||
- | ''KVM'' est un [[http://fr.wikipedia.org/wiki/Hyperviseur | hyperviseur de type 1]] ("bare metal") qui permet à [[doc:systeme:qemu | Qemu]] la virtualisation simultanée de différents systèmes d'exploitation sur la même machine hôte. \\ | + | |
- | + | ||
- | ''KVM'' est un module du noyau Linux permettant aux applications de l'espace utilisateur d'utiliser les fonctionnalités de virtualisation matérielle. \\ | + | |
- | + | ||
- | ''KVM'' permet à [[doc:systeme:qemu | Qemu]] de virtualiser une architecture sur un hôte de même architecture et exploitera alors pleinement l'accélération matérielle que ''KVM'' pourra lui apporter. \\ | + | |
- | + | ||
- | L'accélération matérielle par ''KVM'' ne sera possible que pour les microprocesseurs pourvu de la technologie ''Intel VT-x'' et ''AMD-V''. | + | |
- | + | ||
- | L'accès direct au matériel (bus PCI, Carte Graphique, etc..) depuis les machines virtuelles nécessitera aussi que la carte mère soit équipée d'un //chipset// \\ | + | |
- | + | ||
- | permettant d'exploiter la technologie ''IOMMU'' (**I**nput/**O**utput **M**emory **M**anagement **U**nit) de ces microprocesseur. => ''Intel Vt-d'' et ''AMD-Vi''. | + | |
- | + | ||
- | ===== Vérification ===== | + | |
- | + | ||
- | - Pour vérifier que le microprocesseur de votre machine permet la virtualisation avec ''KVM''<code user>grep -E 'vmx|svm' /proc/cpuinfo &>/dev/null && echo "La virtualisation est possible sur cette machine." || echo "Le microprocesseur de cette machine ne permet pas d'utiliser la virtualisation avec KVM."</code> | + | |
- | - Et assurez-vous ensuite que les option du [[:doc:materiel:bios | BIOS]] concernant ces technologies sont autorisée. | + | |
- | + | ||
- | + | ||
- | //Merci à //**bendia**// pour ses remarques sur ce tuto [[http://debian-facile.org/forum/viewtopic.php?pid=44629#p44629 | dans le forum]] // | + | |
- | + | ||
- | N'hésitez pas chacun à intervenir dans le forum pour __signaler des compléments à mettre ou à modifier__ dans les tutos que vous visitez ! ;-) | + | |
- | + | ||
- | ===== Installation ===== | + | |
- | + | ||
- | Comme avant chaque installation, mettre à jour la liste des paquetages : | + | |
- | <code root>apt-get update</code> | + | |
- | + | ||
- | Installer ensuite les paquetages qemu-kvm et libvirt-bin : | + | |
- | <code root>apt-get install qemu-kvm libvirt-bin</code> | + | |
- | + | ||
- | =====Faire partie des groupes ''kvm'' et ''libvirt''===== | + | |
- | + | ||
- | Utilisez [[doc:systeme:adduser | la commande adduser]] pour ajouter votre nom d'utilisateur aux groupes //kvm// et //libvirt//: | + | |
- | <code root>adduser VotreNomUser kvm</code> | + | |
- | + | ||
- | Et : | + | |
- | <code root>adduser VotreNomUser libvirt</code> | + | |
- | + | ||
- | + | ||
- | Bien sûr, //VotreNomUser// est à remplacer par le pseudo //user// de l'utilisateur. | + | |
- | <note important>Se déconnecter et se reconnecter à sa session pour que ces dernières modifications soient prises en compte par le système.</note> | + | |
- | //Merci //**captnfab**// pour l'ajout de cette remarque.// :-) | + | |
- | + | ||
- | + | ||
- | ===== Créer le fichier image disque ===== | + | |
- | + | ||
- | Créer le fichier //image disque// qui va être utilisé comme **disque dur** virtuel par votre machine virtuelle : | + | |
- | <code user>qemu-img create -f qcow2 image.qcow2 10G</code> | + | |
- | Où : | + | |
- | * **image.qcow2**((ou un autre nom de votre choix, par exemple **testing.qcow2**...)) => est le nom du fichier //image disque// qui va être créé. | + | |
- | - L'extension de ce fichier **.qcow2** __//n'est pas indispensable//__ mais aidera beaucoup l'utilisateur quand il va avoir besoin de trier ses fichiers. | + | |
- | - L'//image// du **disque virtuel** créé pourra être établie dans [[doc:programmation:shell:repertoires | le répertoire de son choix]]. | + | |
- | * **10G** => sera la taille **virtuelle** de l'espace disponible dans ce **disque virtuel**. | + | |
- | <note tip>Le format **qcow2**((**Q**emu **C**opy **O**n **W**rite version **2**)) est un format d'espace de stockage //optimisé//, c'est à dire que l'espace occupé par le fichier //image disque// sera très nettement inférieur à l'espace disponible sur le support de données, mais à mesure que des données seront écrites sur le //disque// la taille du fichier va augmenter.</note> | + | |
- | + | ||
- | <note important>**ATTENTION** ! qemu utilise l'unité Gib et l'installateur Debian utilise l'unité GB : | + | |
- | * 1GB = 10^9 B | + | |
- | * 1GiB = 2^30 B = 1.073741824 GB | + | |
- | et donc 10Gib correspondront à 10,7GB. | + | |
- | + | ||
- | //Un grand merci à //**vince06fr**//, [[http://debian-facile.org/viewtopic.php?pid=54073#p54073| sur le forum là]] ! Lucide, le gars// =) | + | |
- | </note> | + | |
- | + | ||
- | + | ||
- | ===== Installez un système d'exploitation sur votre machine virtuelle ===== | + | |
- | + | ||
- | ==== Depuis le lecteur CD-ROM ==== | + | |
- | + | ||
- | <code user>kvm -m 2G -cpu host image.qcow2 -cdrom /dev/cdrom -boot d</code> | + | |
- | + | ||
- | * **-m 2G** Une quantité de 2GiB de mémoire RAM sera utilisable par la machine virtuelle. | + | |
- | * **-cpu host** Le microprocesseur de la machine virtuelle aura les mêmes caractéristiques que celles du microprocesseur de la machine hôte. | + | |
- | * **-cdrom** Un lecteur de //cdrom//, ou un fichier //image-ISO//. | + | |
- | * **-boot d** Le périphérique de //boot// sera le lecteur de cdrom, ou le fichier //image-ISO//. | + | |
- | + | ||
- | ==== En utilisant un fichier image-ISO ==== | + | |
- | + | ||
- | <code user>kvm -m 2G -cpu host image.qcow2 -cdrom NomDuFichierTéléchargé.iso -boot d</code> | + | |
- | + | ||
- | + | ||
- | <note important>**ATTENTION** ! si vous procédez à une installation distante, rajouter à la fin de la ligne: | + | |
- | <code user>--vnc :0 -k fr</code> | + | |
- | vous devriez pouvoir vous connecter via un client VNC ;) | + | |
- | </note> | + | |
- | + | ||
- | ===== Démarrez votre machine virtuelle ===== | + | |
- | + | ||
- | <note tip> | + | |
- | Pour que les actions du clavier et de la souris soient prises en compte par la fenêtre de la machine virtuelle, cliquez sur celle-ci. \\ | + | |
- | Pour //libérer// le clavier et la souris de la fenêtre de virtualisation, utilisez la combinaisons de touches <key>C-A</key> | + | |
- | </note> | + | |
- | + | ||
- | Une fois l'installation terminée, vous pourrez démarrer cette machine virtuelle avec la ligne de commande suivante : | + | |
- | <code user>kvm -m 2G -cpu host image.qcow2</code> | + | |
- | + | ||
- | <note important> | + | |
- | ATTENTION ! : | + | |
- | Dans votre machine virtuelle, il se peut que le pavé numérique ait besoin d'être réactivé en tapant __deux fois__ sur la touche <key>Ver.Num</key> | + | |
- | </note> | + | |
- | ===== bug carte graphique ===== | + | |
- | + | ||
- | **Le 27/02/2012** | + | |
- | + | ||
- | Si après l'installation d'une squeeze sur une VM KVM sous fédora, lors du boot vous avez ce message : | + | |
- | + | ||
- | unaligned pointer 0x8ef10002 | + | |
- | + | ||
- | C'est assez simple, il faut changer le modèle de carte graphique virtuelle par défaut et prendre : | + | |
- | * soit ''vga'' | + | |
- | * soit ''cirrus'' | + | |
- | Donc, ajoutez (ou remplacez tout paramètre qui concerne la carte graphique si vous en avez déjà un, par) : \\ | + | |
- | '' -vga cirrus '' ou bien '' -vga std '' | + | |
- | + | ||
- | <note important>Oubliez les modèles suivants qui provoquent ce bug : | + | |
- | * ''qxl'' ou | + | |
- | * ''vmvga'' | + | |
- | </note> | + | |
- | + | ||
- | Voir sur le forum : | + | |
- | * http://debian-facile.org/forum/viewtopic.php?pid=42774#p42774 | + | |
- | + | ||
- | //Merci //**chiwawa**// t'est pas chien de nous l'avoir indiqué, sûr !// :-D | + | |
- | + | ||
- | ===== Ajouter une interface réseau de type "bridge" (pont) ===== | + | |
- | + | ||
- | Afin de bénéficier de toute la commmodité d'un réseau où les machines virtuelles créées sont bien intégrées au réseau des machines physiques déjà présentes, suivre d'abord ce tuto : | + | |
- | * [[:doc:reseau:interfaces:tapbridge | Configurer une interface réseau virtuelle]] | + | |
- | + | ||
- | ==== Activez l'interface réseau et démarrez la machine virtuelle ==== | + | |
- | + | ||
- | Une fois l'installation terminée, démarrez votre machine virtuelle et son interface réseau. | + | |
- | + | ||
- | Activez l'interface réseau ''tap0'' est activé : | + | |
- | <code root>ifup tap0</code> | + | |
- | + | ||
- | Démarrez votre machine virtuelle par cette commande : | + | |
- | <code user>kvm -net nic,model=rtl8139,vlan=0,macaddr=00:11:22:33:44:55 -net tap,vlan=0,ifname=tap0,script=no -enable-kvm -m 512 image.qcow2</code> | + | |
- | ===== Ajouter virtuellement une clé usb au démarrage ===== | + | |
- | + | ||
- | Insérer et identifier la clé usb par la commmande [[:doc:systeme:fdisk | FDISK]] : | + | |
- | <code root>fdisk -l</code> | + | |
- | + | ||
- | Et ajoutez : \\ | + | |
- | <code>-usbdevice disk:/dev/<votre_clé_usb></code> | + | |
- | + | ||
- | dans le rédigé de la ligne de commande pour lancer votre machine virtuelle sous kvm. | + | |
- | + | ||
- | **Nota :** \\ | + | |
- | Avec une ''clé usb'' montée en ''/dev/sdb1'' cela donne : \\ | + | |
- | <code>-usbdevice disk:/dev/sdb1</code> | + | |
- | + | ||
- | Par exemple, la ligne complète avec le réseau virtuel également : | + | |
- | <code user>kvm -net nic,model=rtl8139,vlan=0,macaddr=00:11:22:33:44:55 -net tap,vlan=0,ifname=tap0,script=no -enable-kvm -usbdevice disk:/dev/<votre_clé_usb> -m 512 image.qcow2</code> | + | |
- | + | ||
- | //Merci pour cette information à ce cher //**adrien**// sur le salon #slackware-fr qu'est un vrai geek sympa !// :-D | + | |
- | + | ||
- | ===== Voir : ===== | + | |
- | + | ||
- | [[:doc:systeme:qemu|QEMU - Emulateur]] \\ | + | |
- | + | ||
- | ===== Exercices Divers ===== | + | |
- | + | ||
- | Voir le ''TP 01 kvm'' là : \\ | + | |
- | [[:doc:autres:vm:qemu:tp01|TP 01 KVM]] | + | |
- | + | ||
- | ===== Liens ===== | + | |
- | + | ||
- | * http://virt.kernelnewbies.org/KVM_Multiuser_Usage?highlight=%28kvm%29%7C%28usb%29 | + | |
- | //Offert par //**arthefact**// sur irc// | + | |
- | + | ||
- | * http://doc.ubuntu-fr.org/kvm | + | |
- | //Nos habituels amis utilisant la distribution Debian.// | + | |
- | + | ||
- | * http://fr.wikipedia.org/wiki/Adresse_MAC | + |