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 [29/03/2012 09:48]
smolski
doc:systeme:kvm [14/01/2014 05:32]
smolski [Créer le fichier image disque]
Ligne 1: Ligne 1:
-====== KVM (Kernel-based Virtual Machine) ======+====== 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 ​=====
  
-===== Préambule =====+''​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 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. \\  +''​KVM''​ est un module du noyau Linux permettant aux applications de l'espace utilisateur d'​utiliser ​les fonctionnalités ​de virtualisation matérielle. \\ 
-La principale modification apportée est le support du module kvm.+''​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\\
  
-Lorsqu'on parle de KVM, on parle généralement de l'ensemble : la version modifiée ​de ''​QEMU''​ et le module ​''​kvm''​.+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''​.
  
-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 :  +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// \\ 
-  kvm-intel +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''​.
-  ​kvm-amd +
-le module kvm n'étant là en fait que pour fournir à l'émulateur une abstraction supplémentaire.+
  
 ===== Vérification ===== ===== Vérification =====
  
-Vérifiez ​que +  - 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>​ 
-  - Votre processeur supporte ​la virtualisation ​matérielle. ​ \\ Tapez cette commande :<​code ​bash>$ egrep '^flags.*(vmx|svm)' /​proc/​cpuinfo</code>__Si un résultat s'​affiche__,​ c'est que le processeur supporte ​la virtualisation. ​:-) +  - Et assurez-vous ensuite ​que les option du [[:​doc:​materiel:bios | BIOS]] ​concernant ces technologies sont autorisée.
-  - Et que ce support est bien **activé** par le [[manuel:bios | BIOS]].+
  
-===== Installation ===== 
  
-Sur un pc sous la branche ''​lenny'',​ j'ai choisi la version de kvm la plus avancée, celle des ''​lenny-backports''​+//Merci à //​**bendia**//​ pour ses remarques sur ce tuto [[http://​debian-facile.org/​forum/​viewtopic.php?​pid=44629#​p44629 | dans le forum]] //
  
-Installer kvm : +N'​hésitez pas chacun à intervenir dans le forum pour __signaler des compléments à mettre ou à modifier__ dans les tutos que vous visitez ! ;-)
-   # aptitude install ​-t lenny-backports kvm+
  
-Installer qemu +===== Installation =====
-   # aptitude install qemu+
  
-===== Charger le module =====+Comme avant chaque installation,​ mettre à jour la liste des paquetages : 
 +<code root>​apt-get update</​code>​
  
-Charger le module de votre processeur ​:+Installer ensuite les paquetages qemu-kvm et libvirt-bin ​: 
 +<code root>​apt-get update && apt-get install qemu-kvm libvirt-bin</​code>​
  
-Pour AMD : +=====Faire partie du groupe ''​kvm''​=====
-   # modprobe ​kvm-amd+
  
-Pour INTEL +Utilisez [[doc:​systeme:​adduser | la commande adduser]] pour ajouter votre nom d'​utilisateur au groupe //​kvm// ​
-   # modprobe ​kvm-intel+<code root>​adduser <​VotreNomUser> ​kvm</​code>​
  
-===== Partager les droits kvm =====+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 cette modification soit prise en compte par le système.</​note>​ 
 +//Merci //​**captnfab**//​ pour l'​ajout de cette remarque.// :-)
  
-Ajouter votre utilisateur au groupe kvm avec cette adduser : 
  
-   # adduser <​VotreUser>​ kvm +===== Créer ​le fichier ​image disque ​=====
- +
-Bien sûr, ''<​VotreUser>''​ est à remplacer par le pseudo //''​user''//​ de l'​utilisateur. +
-<note important>​Redémarrer votre session pour prendre en compte cette commande !</​note>​ +
-//Merci "​veillant"​ //​**captnfab**//​ pour l'​ajout de cette remarque !// :-) +
- +
- +
-===== Créer ​une image ===== +
- +
-Créer le fichier image qui va accueillir ce système : +
- +
-   $ qemu-img create -f qcow2 /​emplacement/​du/​fichier_image.img 10G+
  
 +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** => 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. \\ A noter que cette //image// du disque virtuel créé peut ê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**__.+  * 1GB 10^9 B 
 +  1GiB = 2^30 B 1.073741824 GB 
 +et donc 10Gib correspondront à 10,7GB.
  
-===== 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 : +
-   $ kvm -m 512 -cdrom ​/dev/cdrom -boot d emplacement/du/fichier_image.img +
- +
-  ​''​512''​ est la quantité de mémoire à utiliser. +
- +
-==== Avec une image ISO sans la graver ==== +
- +
-Tapez : +
-   $ kvm -m 512 -cdrom emplacement/de/l_image.iso -boot d emplacement/du/​fichier_image.img +
- +
-===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 : +
-   $ kvm -m 512 emplacement/du/​fichier_image.img +
- +
-<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>
-   ​$ ​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+
  
-  * ''​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 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>​
  
-==== 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 +<note important>​ATTENTION ! 
-   $ 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+Dans votre machine virtuelleil 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 reseau ​=====+===== 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 123: Ligne 108:
   * 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 137: Ligne 124:
  
 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 : 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 :
-  * [[manuel:config:tapbridge | Configurer un réseau virtuel]]+  * [[:doc:​reseau:​interfaces:tapbridge | Configurer un réseau virtuel]]
  
 ==== Démarrez le système et le réseau virtuel créé ==== ==== Démarrez le système et le réseau virtuel créé ====
Ligne 144: Ligne 131:
  
 Vérifiez que ''​tap0''​ est activé, tapez en root : Vérifiez que ''​tap0''​ est activé, tapez en root :
-   # ​ifup tap0+<code root>ifup tap0</​code>​
  
 Démarrez votre système virtuel par cette commande : Démarrez votre système virtuel par cette commande :
-   ​$ ​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 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 =====
  
-Insérer et identifier la clé usb par la commmande [[commande:fdisk | FDISK]] : +Insérer et identifier la clé usb par la commmande [[:​doc:​systeme:fdisk | FDISK]] : 
-   # fdisk -l+<code root>fdisk -l</​code>​
  
 Et ajoutez : \\ Et ajoutez : \\
Ligne 164: Ligne 151:
  
 Par exemple, la ligne complète avec le réseau virtuel également : Par exemple, la ligne complète avec le réseau virtuel également :
-   ​$ ​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 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
Ligne 170: Ligne 157:
 ===== Voir : ===== ===== Voir : =====
  
-[[logiciel:qemu|QEMU - Emulateur]] \\+[[:​doc:​systeme:qemu|QEMU - Emulateur]] \\
  
 ===== Exercices Divers ===== ===== Exercices Divers =====
  
 Voir le ''​TP 01 kvm''​ là : \\ Voir le ''​TP 01 kvm''​ là : \\
-[[travaux_pratique:kvm_tp01|TP 01 KVM]]+[[:doc:​autres:​vm:​qemu:​tp01|TP 01 KVM]]
  
 ===== Liens ===== ===== Liens =====
doc/systeme/kvm.txt · Dernière modification: 14/08/2023 19:46 par captnfab

Pied de page des forums

Propulsé par FluxBB