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 [27/02/2012 05:56]
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 =====
  
-<note warning>​Vérifiez ​que votre processeur supporte ​la virtualisation ​matérielle et que ce support est bien activé par le BIOS.</note> +  - 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>​ 
-Tapez cette commande : +  - Et assurez-vous ensuite que les option du [[:​doc:​materiel:​bios | BIOS]] concernant ces technologies sont autorisée.
-   $ egrep '^flags.*(vmx|svm)' /​proc/​cpuinfo+
  
-Si un résultat s'​affiche,​ c'est que le processeur supporte la virtualisation. :-) 
  
-===== Installation =====+//Merci à //​**bendia**//​ pour ses remarques sur ce tuto [[http://​debian-facile.org/​forum/​viewtopic.php?​pid=44629#​p44629 | dans le forum]] //
  
-Sur un pc sous la branche ​''​lenny'',​ j'ai choisi la version de kvm la plus avancée, celle des ''​lenny-backports''​+N'hésitez pas chacun à intervenir dans le forum pour __signaler ​des compléments à mettre ou à modifier__ dans les tutos que vous visitez ! ;-)
  
-Installer kvm : +===== Installation =====
-   # aptitude install -t lenny-backports kvm+
  
-Installer qemu +Comme avant chaque installation,​ mettre à jour la liste des paquetages : 
-   # aptitude install qemu+<code root>​apt-get update</​code>​
  
-===== Charger le module =====+Installer ensuite les paquetages qemu-kvm et libvirt-bin : 
 +<code root>​apt-get update && apt-get install qemu-kvm libvirt-bin</​code>​
  
-Charger le module de votre processeur :+=====Faire partie du groupe ''​kvm''​=====
  
-Pour AMD +Utilisez [[doc:​systeme:​adduser | la commande adduser]] pour ajouter votre nom d'​utilisateur au groupe //​kvm// ​
-   # modprobe ​kvm-amd+<code root>​adduser <​VotreNomUser> ​kvm</​code>​
  
-Pour INTEL : +Bien sûr, //​VotreNomUser//​ est à remplacer par le pseudo //user// de l'​utilisateur. 
-   # modprobe kvm-intel+<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.// :-)
  
-===== Partager les droits kvm ===== 
  
-Ajouter votre utilisateur au groupe kvm avec cette adduser :+===== Créer le fichier image disque =====
  
-   # adduser ​<VotreUserkvm+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** => 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>
  
-Bien sûr, ''<​VotreUser>''​ est à remplacer par le pseudo //''​user''//​ de l'​utilisateur. +<note important>​**ATTENTION** ! qemu utilise ​l'unité Gib et l'​installateur Debian utilise l'​unité GB : 
-<note important>​Redémarrer votre session pour prendre en compte cette commande !</​note>​ +  * 1GB = 10^9 B 
-//Merci "​veillant"​ //**captnfab**// pour l'ajout de cette remarque !// :-)+  * 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> ​
  
-===== Créer une image ===== 
  
-Créer le fichier image qui va accueillir ce système ​:+===== Installez un système ​d'​exploitation sur votre machine virtuelle =====
  
-   $ qemu-img create -f qcow2 /​emplacement/​du/​fichier_image.img 10G+==== Depuis le lecteur CD-ROM ====
  
-Où :+<code user>kvm -m 2G -cpu host image.qcow2 -cdrom /dev/cdrom -boot d</​code>​
  
-    ​''​emplacement/​du/​fichier_image.img''​ => est l’emplacement du fichier qui sera créé+  ​**-m 2G** Une quantité de 2GiB de mémoire RAM sera utilisable par la machine virtuelle
-    ''​10G''​ => est la taille __**virtuelle**__ de ce système ​de fichier ​__**virtuel**__.+  * **-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//​.
  
-===== Installez ​un système virtuel sans réseau virtuel bridge =====+==== En utilisant ​un fichier image-ISO ​====
  
-==== Avec un CD-ROM ====+<code user>​kvm ​-m 2G -cpu host image.qcow2 -cdrom //​NomDuFichierTéléchargé.iso//​ -boot d</​code>​
  
-Tapez : +===== Démarrez votre machine virtuelle =====
-   $ kvm -m 512 -cdrom /dev/cdrom -boot d emplacement/​du/​fichier_image.img+
  
-  * ''​512''​ est la quantité ​de mémoire à utiliser.+<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 -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**).
- +
-==== Démarrez le système créé ==== +
- +
-<note tip>Pour quitter la fenêtre de virtualisation et revenir à celle de votre pc physique, utilisez 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> ​
  
 +===== bug carte graphique =====
  
 +**Le 27/​02/​2012**
  
-==== Avec un CD-ROM ====+Si après l'​installation d'une squeeze sur une VM KVM sous fédora, lors du boot vous avez ce message :
  
-Tapez : +   unaligned pointer 0x8ef10002
-   $ 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. +
-  * ''​model=rtl8139''​ pour indiquer une carte reseau realtek. Ouvrir le ''​$ man kvm''​ puis taper : ''/​model=''​. +
- +
-== Nota : == +
- +
-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. \\ +
-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). +
- +
- +
-==== Avec une image ISO sans la graver ==== +
- +
-Tapez : +
-   $ 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 +
- +
-==== bug carte reseau ==== +
- +
-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 : C'est assez simple, il faut changer le modèle de carte graphique virtuelle par défaut et prendre :
   * 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 128: Ligne 115:
   * ''​vmvga''​   * ''​vmvga''​
 </​note>​ </​note>​
- 
-=== Le 27/02/2012 === 
  
 Voir sur le forum : Voir sur le forum :
Ligne 139: 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 146: 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 166: 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 172: 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