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:33] smolski |
doc:systeme:kvm [29/03/2012 09:48] smolski |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== KVM (Kernel-based Virtual Machine) ====== | ||
+ | ===== Préambule ===== | ||
+ | |||
+ | ''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. \\ | ||
+ | La principale modification apportée est le support du module kvm. | ||
+ | |||
+ | Lorsqu'on parle de KVM, on parle généralement de l'ensemble : la version modifiée de ''QEMU'' et le module ''kvm''. | ||
+ | |||
+ | 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 : | ||
+ | * kvm-intel | ||
+ | * kvm-amd | ||
+ | le module kvm n'étant là en fait que pour fournir à l'émulateur une abstraction supplémentaire. | ||
+ | |||
+ | ===== Vérification ===== | ||
+ | |||
+ | Vérifiez que : | ||
+ | - 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 vérifiez aussi 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'' | ||
+ | |||
+ | Installer kvm : | ||
+ | # aptitude install -t lenny-backports kvm | ||
+ | |||
+ | Installer qemu | ||
+ | # aptitude install qemu | ||
+ | |||
+ | ===== Charger le module ===== | ||
+ | |||
+ | Charger le module de votre processeur : | ||
+ | |||
+ | Pour AMD : | ||
+ | # modprobe kvm-amd | ||
+ | |||
+ | Pour INTEL : | ||
+ | # modprobe kvm-intel | ||
+ | |||
+ | ===== Partager les droits kvm ===== | ||
+ | |||
+ | Ajouter votre utilisateur au groupe kvm avec cette adduser : | ||
+ | |||
+ | # adduser <VotreUser> kvm | ||
+ | |||
+ | 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 | ||
+ | |||
+ | Où : | ||
+ | |||
+ | * ''emplacement/du/fichier_image.img'' => est l’emplacement du fichier qui sera créé. | ||
+ | * ''10G'' => est la taille __**virtuelle**__ de ce système de fichier __**virtuel**__. | ||
+ | |||
+ | ===== Installez un système virtuel sans réseau virtuel bridge ===== | ||
+ | |||
+ | ==== 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 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> | ||
+ | |||
+ | |||
+ | |||
+ | ==== Avec un CD-ROM ==== | ||
+ | |||
+ | 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 /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 ===== | ||
+ | |||
+ | **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 : | ||
+ | * [[manuel:config: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 : | ||
+ | # ifup tap0 | ||
+ | |||
+ | 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 | ||
+ | |||
+ | ===== Ajouter virtuellement une clé usb au démarrage ===== | ||
+ | |||
+ | Insérer et identifier la clé usb par la commmande [[commande:fdisk | FDISK]] : | ||
+ | # fdisk -l | ||
+ | |||
+ | 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 : | ||
+ | $ 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 | ||
+ | |||
+ | //Merci pour cette information à ce cher //**adrien**// sur le salon #slackware-fr qu'est un vrai geek sympa !// :-D | ||
+ | |||
+ | ===== Voir : ===== | ||
+ | |||
+ | [[logiciel:qemu|QEMU - Emulateur]] \\ | ||
+ | |||
+ | ===== Exercices Divers ===== | ||
+ | |||
+ | Voir le ''TP 01 kvm'' là : \\ | ||
+ | [[travaux_pratique:kvm_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 |