logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [12/01/2014 19:27]
MicP [Faire partie du groupe ''kvm''] reformulation
doc:systeme:kvm [14/01/2014 06:27]
MicP [Démarrez votre machine virtuelle]
Ligne 1: Ligne 1:
 ====== KVM ====== ====== 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 =====
  
-(Kernel-based Virtual Machine)+''​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. \\
  
-  * 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 !)) FIXME+''​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. \\
  
-===== Préambule =====+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''​.
  
-''​KVM''​ est en fait un fork ((fork : on crée un nouveau projet à partir ​d'​un ​autre à l'identique)) de QEMU, mais les développeurs des deux projets essayent de ne pas trop diverger et leurs codes sources respectifs sont fréquemment resynchronisés\\  +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// \\ 
-La principale modification apportée est le support du module kvm.+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''​.
  
-Lorsqu'​on parle de KVM, on parle généralement de l'​ensemble : la version modifiée de ''​QEMU''​ et le module ''​kvm''​.+===== Vérification =====
  
-Les technologies mises en place par les deux principaux fondeurs ​que sont AMD et Intel étant différentes, ​le module kvm se décline en deux sous-modules :  +  - 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>​ 
-  ​* kvm-intel +  - Et assurez-vous ensuite ​que les option du [[:​doc:​materiel:​bios | BIOS]] concernant ces technologies sont autorisée.
-  * kvm-amd +
-le module kvm n'​étant là en fait que pour fournir à l'​émulateur une abstraction supplémentaire.+
  
-===== Vérification ===== 
  
-Vérifiez que : +//Merci à //​**bendia**// ​pour ses remarques sur ce tuto [[http://​debian-facile.org/​forum/​viewtopic.php?​pid=44629#​p44629 ​| dans le forum]] //
-  - Votre processeur supporte la virtualisation matérielle. ​ \\ Tapez cette commande :<code user>​egrep '​^flags.*(vmx|svm)'​ /​proc/​cpuinfo</​code>​__Si un résultat s'​affiche__,​ c'est que le processeur supporte la virtualisation. :-) +
-  - Il y a aussi :<code user>​grep -E --color '​vmx|svm'​ /​proc/​cpuinfo</​code>​ qui mettra en évidence le ''​flag''​ recherché. +
-  - Et vérifiez alors aussi que ce support est bien **activé** par le [[:​doc:​materiel:​bios | BIOS]]. +
- +
-//Merci à //​**bendia**// ​de ses remarques sur ce tuto dans le forum ici// : +
-  * http://​debian-facile.org/​forum/​viewtopic.php?​pid=44629#​p44629+
  
 N'​hésitez pas chacun à intervenir dans le forum pour __signaler des compléments à mettre ou à modifier__ dans les tutos que vous visitez ! ;-) N'​hésitez pas chacun à intervenir dans le forum pour __signaler des compléments à mettre ou à modifier__ dans les tutos que vous visitez ! ;-)
Ligne 31: Ligne 34:
 ===== Installation ===== ===== Installation =====
  
-Mettre ​à jour la liste des paquetages, \\ +Comme avant chaque installation,​ mettre ​à jour la liste des paquetages ​
-pour installer ​ensuite les paquetages qemu-kvm et libvirt-bin :+<code root>​apt-get update</​code>​ 
 + 
 +Installer ​ensuite les paquetages qemu-kvm et libvirt-bin :
 <code root>​apt-get update && apt-get install qemu-kvm libvirt-bin</​code>​ <code root>​apt-get update && apt-get install qemu-kvm libvirt-bin</​code>​
  
 =====Faire partie du groupe ''​kvm''​===== =====Faire partie du groupe ''​kvm''​=====
  
-Utilisez la commande ​''​adduser'' ​pour ajouter votre nom d'​utilisateur au groupe ​''​kvm'' ​:+Utilisez ​[[doc:​systeme:​adduser | la commande adduser]] pour ajouter votre nom d'​utilisateur au groupe ​//kvm// :
 <code root>​adduser <​VotreNomUser>​ kvm</​code>​ <code root>​adduser <​VotreNomUser>​ kvm</​code>​
  
-Bien sûr, ''<​VotreNomUser>'' ​est à remplacer par le pseudo //''​user''​// de l'​utilisateur. +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>​ +<note important>​Se ​déconnecter ​et se reconnecter ​à sa session pour que cette modification soit prise en compte par le système.</​note>​ 
-//​Merci ​"​veillant" ​//​**captnfab**//​ pour l'​ajout de cette remarque ​!// :-)+//Merci //​**captnfab**//​ pour l'​ajout de cette remarque.// :-)
  
  
-===== Créer ​une image ===== +===== Créer ​le fichier ​image disque ​=====
- +
-Créer le fichier image qui va accueillir ce système : +
-<code user>​qemu-img create -f qcow2 /​emplacement/​du/​fichier_image.img 10G</​code>​+
  
 +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ù : 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>​
  
-    * ''​emplacement/​du/​fichier_image.img''​ =est l’emplacement du fichier qui sera créé. +<note important>**ATTENTION** ! qemu utilise ​l'​unité ​Gib et l'​installateur Debian utilise ​l'​unité ​GB :
-    ​''​10G''​ => est la taille __**virtuelle**__ de ce système de fichier __**virtuel**__. +
- +
-<note important>​ATTENTION ​! qemu utilise ​le format ​Gib et l'​installateur Debian utilise ​le format ​GB :+
   * 1GB = 10^9 B   * 1GB = 10^9 B
   * 1GiB = 2^30 B = 1.073741824 GB   * 1GiB = 2^30 B = 1.073741824 GB
-et donc 10Gib correspondront à 10,7GB.\\ +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> ​+
  
-===== Installez un système virtuel sans réseau virtuel bridge ===== +//Un grand merci à //**vince06fr**/​/, [[http://debian-facile.org/viewtopic.php?pid=54073#​p54073| sur le forum là]] ! Lucidele gars// =)
- +
-==== Avec un CD-ROM ==== +
- +
-Tapez : +
-<code user>kvm -m 512 -cdrom ​/dev/cdrom -boot d emplacement/du/fichier_image.img<​/code> +
- +
-  * ''​512''​ est la quantité de mémoire à utiliser. +
- +
-==== Avec une image ISO sans la graver ==== +
- +
-Tapez : +
-<code user>kvm -m 512 -cdrom emplacement/de/l_image.iso -boot d emplacement/du/​fichier_image.img</​code>​ +
- +
-===Démarrez ​le système créé ==== +
- +
-<note tip>Pour quitter la fenêtre de virtualisation et revenir à celle de votre pc physiqueutilisez les combinaisons de touches ''​CTRL-ALT''​.<​/note> +
- +
-Une fois l'​installation terminée, démarrez votre système virtuel ainsi : +
-<code user>kvm -m 512 emplacement/du/​fichier_image.img</​code>​ +
- +
-<note important>​ATTENTION ! Sur un clavier ''​usb azerty''​ : +
-  * En ''​graphique'',​ les fonctions de blocage des chiffres ou des lettres majuscules ne fonctionnent pas. Il faut bien garder la touche ''​Maj''​ apppuyée pour les utiliser. +
-  * En console, le clavier numérique reste en numérique et les Majuscules s'​obtiennent seulement la touche Maj appuyée constamment.+
 </​note> ​ </​note> ​
  
  
 +===== Installez un système d'​exploitation sur votre machine virtuelle =====
  
-==== Avec un CD-ROM ====+==== Depuis le lecteur ​CD-ROM ====
  
-Tapez : +<code user>kvm -m 2G -cpu host image.qcow2 ​-cdrom /dev/cdrom -boot d</​code>​
-<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 -cdrom /dev/cdrom -boot d emplacement/​du/​fichier_image.img</​code>​+
  
-  * ''​macaddr=00:​11:​22:​33:​44:​55''​ Cette adresse MAC (Media Access Control) ​sera automatiquement modifiée pour la connection au reseau internet+  * **-m 2G** Une quantité de 2GiB de mémoire RAM sera utilisable par la machine virtuelle
-  * ''​model=rtl8139''​ pour indiquer une carte reseau realtekOuvrir ​le ''​$ man kvm''​ puis taper : ''​/model=''​.+  * **-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/​/.
  
-== Nota : ==+==== En utilisant un fichier image-ISO ====
  
-Une adresse MAC (Media Access Control address) est un identifiant physique stocké dans une carte réseau ou une interface réseau similaire et utilisé pour attribuer mondialement une adresse unique\\ +<code user>kvm -m 2G -cpu host image.qcow2 -cdrom //​NomDuFichierTéléchargé.iso// -boot d</​code>​
-Une adresse MAC est constituée de 6 octets et est généralement représentée sous la forme hexadécimale en séparant les octets par un double point ou un tiret. \\ +
-**Par exemple :** \\ +
-''​5E:​FF:​56:​A2:​AF:​15''​ (elle est également appelée adresse physique)+
  
-L'​adresse : ''​FF:​FF:​FF:​FF:​FF:​FF''​ est particulière,​ les données sont envoyées à l'​ensemble du réseau local (adresse de broadcast).+===== 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 //​CTRL-ALT//​.
 +</​note>​
  
-==== Avec une image ISO sans la graver ==== +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>​
-Tapez +
-<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 -cdrom emplacement/​de/​l_image.iso -boot d emplacement/​du/​fichier_image.img</​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 ===== ===== bug carte graphique =====
  
 **Le 27/​02/​2012** **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 :+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    ​unaligned pointer 0x8ef10002
Ligne 124: Ligne 110:
   * soit ''​vga''​   * soit ''​vga''​
   * soit ''​cirrus''​   * 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 : <note important>​Oubliez les modèles suivants qui provoquent ce bug :
Ligne 148: Ligne 136:
  
 Démarrez votre système virtuel par cette commande : 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>​+<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 ===== ===== Ajouter virtuellement une clé usb au démarrage =====
Ligne 165: Ligne 153:
  
 Par exemple, la ligne complète avec le réseau virtuel également : 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>​+<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 //Merci pour cette information à ce cher //​**adrien**//​ sur le salon #​slackware-fr qu'est un vrai geek sympa !// :-D
doc/systeme/kvm.txt · Dernière modification: 14/08/2023 19:46 par captnfab

Pied de page des forums

Propulsé par FluxBB