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 Prochaine révision Les deux révisions suivantes | ||
doc:systeme:kvm [01/06/2010 20:14] smolski |
doc:systeme:kvm [13/01/2014 08:49] MicP [Vérification] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== KVM ====== | ||
+ | * Objet : L'hyperviseur **K**ernel based **V**irtual **M**achine | ||
+ | * Niveau requis : {{tag>débutant}} {{tag>avisé}} | ||
+ | * Commentaires : | ||
+ | * 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 **smolski** 21/08/2010 | ||
+ | * Dernière mise à jour par **MicP** 12/01/2014 | ||
+ | * Testé par <...> le <...> FIXME | ||
+ | * 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// pouvant exploiter les technologies ''Intel Vt-d'' et ''AMD-Vi'' de ces microprocesseur. | ||
+ | ===== 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 pourra pas utiliser la virtualisation avec KVM"</code> | ||
+ | - Et assurez-vous ensuite que les option du [[:doc:materiel:bios | BIOS]] concernant cette technologie 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 ===== | ||
+ | |||
+ | Mettre à jour la liste des paquetages, \\ | ||
+ | pour installer ensuite les paquetages qemu-kvm et libvirt-bin : | ||
+ | <code root>apt-get update && apt-get install qemu-kvm libvirt-bin</code> | ||
+ | |||
+ | =====Faire partie du groupe ''kvm''===== | ||
+ | |||
+ | Utilisez la commande ''adduser'' pour ajouter votre nom d'utilisateur au groupe ''kvm'' : | ||
+ | <code root>adduser <VotreNomUser> kvm</code> | ||
+ | |||
+ | Bien sûr, ''<VotreNomUser>'' est à remplacer par le pseudo //''user''// de l'utilisateur. | ||
+ | <note important>Se dé-connecter et se re-connecter à sa session pour que cette modification soit prise en compte par le système !</note> | ||
+ | //Merci "veillant" //**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 par votre machine virtuelle : | ||
+ | <code user>qemu-img create -f qcow2 /emplacement/du/fichier_image.qcow2 10G</code> | ||
+ | Où : | ||
+ | * ''emplacement/du/fichier_image.qcow2'' => est le chemin (répertoire) suivit du nom du fichier //image-disque// qui va être créé. | ||
+ | * ''10G'' => sera la taille __**virtuelle**__ de l'espace disponible dans ce disque __**virtuel**__. | ||
+ | |||
+ | <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 sur le forum, [[http://debian-facile.org/viewtopic.php?pid=54073#p54073|là]] ! Lucide, le gars =) | ||
+ | </note> | ||
+ | <note> | ||
+ | Le format ''qcow2'' (''Q''emu ''C''opy ''O''n ''W''rite version ''2'') est un format d'espace de stockage optimisé, \\ | ||
+ | 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. \\ | ||
+ | \\ | ||
+ | Le nom d'extension du fichier (ici ''qcow2'') n'est pas indispensable mais aidera beaucoup l'utilisateur quand il va avoir besoin de trier ses fichiers. | ||
+ | </note> | ||
+ | |||
+ | ===== Installez un système d'exploitation sur votre machine virtuelle ===== | ||
+ | |||
+ | ==== Depuis le lecteur CD-ROM ==== | ||
+ | <code user>kvm -m 2G -cpu host /emplacement/du/fichier_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 /emplacement/du/fichier_image.qcow2 -cdrom /emplacement/de/l_image.iso -boot d</code> | ||
+ | |||
+ | ===== Démarrez votre machine virtuelle ===== | ||
+ | <note tip> | ||
+ | Pour que les actions du clavier et de la souris soient pris 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 ''CTRL-ALT''. | ||
+ | </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 /emplacement/du/fichier_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 ''Ver-Num'' (ou ''Num-Lock''). | ||
+ | </note> | ||
+ | ===== bug carte graphique ===== | ||
+ | |||
+ | **Le 27/02/2012** | ||
+ | |||
+ | Si après l'install, d'un 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'' | ||
+ | |||
+ | <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 | ||
+ | |||
+ | ===== Installez un système virtuel avec un réseau virtuel bridge ===== | ||
+ | |||
+ | 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 un réseau virtuel]] | ||
+ | |||
+ | ==== Démarrez le système et le réseau virtuel créé ==== | ||
+ | |||
+ | Une fois l'installation terminée, démarrez votre système virtuel et son réseau virtualisé. | ||
+ | |||
+ | Vérifiez que ''tap0'' est activé, tapez en root : | ||
+ | <code root>ifup tap0</code> | ||
+ | |||
+ | Démarrez votre système virtuel 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 emplacement/du/fichier_image.img</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 emplacement/du/fichier_image.img</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 |