opensuse:opensuse-kvm
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | opensuse:opensuse-kvm [2018/11/17 12:53] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ======= La virtualisation via KVM ======= | ||
+ | {{: | ||
+ | Mais cela devrait fonctionner sur des versions antérieures d' | ||
+ | =====Compatibilitée matériel: | ||
+ | |||
+ | {{: | ||
+ | Il arrive de temps en temps que cette fonction soit désactivée dans le bios par défaut . Ou beaucoup plus rarement, non géré par la carte mère. | ||
+ | |||
+ | Dans un terminal | ||
+ | |||
+ | | ||
+ | # egrep --color ' | ||
+ | |||
+ | Si **vmx** ou **svm** apparait dans la liste, votre processeur est compatible. | ||
+ | |||
+ | Vous pouvez aussi vérifier la présence des instructions de virtualisation sur le site [[http:// | ||
+ | Quelques [[http:// | ||
+ | |||
+ | |||
+ | Dans un terminal | ||
+ | |||
+ | | ||
+ | # egrep 'model name' / | ||
+ | model name : Intel(R) Core(TM)2 Duo CPU | ||
+ | model name : Intel(R) Core(TM)2 Duo CPU | ||
+ | |||
+ | |||
+ | |||
+ | __ | ||
+ | Se retrouver parmi toutes les instructions de virtualisation__ | ||
+ | |||
+ | | [[http:// | ||
+ | | [[http:// | ||
+ | | [[http:// | ||
+ | | amd-v | amd | **svm** | ||
+ | | amd-vi | ||
+ | | via vt | via | ??? | instruction processeur base pour la virtualisation | ||
+ | |||
+ | |||
+ | ---- | ||
+ | =====Installation KVM et libvirt: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <note tip> Le dépot [[http:// | ||
+ | |||
+ | Dans un terminal en root | ||
+ | |||
+ | # zypper install kvm libvirt | ||
+ | | ||
+ | |||
+ | |||
+ | A l'aide de yast: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Verifiez que libvirt est lancé: | ||
+ | |||
+ | | ||
+ | # service libvirtd status | ||
+ | Checking status of libvirtd | ||
+ | |||
+ | ---- | ||
+ | ===== Préparez le reseau (facultatif): | ||
+ | |||
+ | {{: | ||
+ | Par défaut s'il n'y a pas de **pont réseau** en place, c'est **nat** qui vous sera proposé. | ||
+ | |||
+ | ---- | ||
+ | ==== Pont reseau (bridge): ==== | ||
+ | |||
+ | <note importante> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===Pont réseau en console:=== | ||
+ | |||
+ | **Premier cas:** | ||
+ | //vous avez **__deux__** cartes réseau, créer un pont réseau nommé br0 relié par la carte réseau eth0 __dédié__ à la machine virtuelle.// | ||
+ | |||
+ | Il n'y a pas de fichier ifcfg-eth0 à éditer, si vous en avez un supprimez le. | ||
+ | |||
+ | |||
+ | Dans un terminal en root | ||
+ | |||
+ | | ||
+ | vi / | ||
+ | < | ||
+ | BOOTPROTO=' | ||
+ | BRIDGE=' | ||
+ | BRIDGE_FORWARDDELAY=' | ||
+ | BRIDGE_PORTS=' | ||
+ | BRIDGE_STP=' | ||
+ | BROADCAST='' | ||
+ | ETHTOOL_OPTIONS='' | ||
+ | IPADDR=' | ||
+ | MTU='' | ||
+ | NAME='' | ||
+ | NETWORK='' | ||
+ | REMOTE_IPADDR='' | ||
+ | STARTMODE=' | ||
+ | USERCONTROL=' | ||
+ | </ | ||
+ | Relancez le reseau: | ||
+ | |||
+ | |||
+ | Dans un terminal en root | ||
+ | |||
+ | service network restart | ||
+ | |||
+ | **Second cas:** | ||
+ | //créer un pont réseau nommé br0 relié par la carte réseau eth0, utilisé pour la machine physique en dhcp ET pour la machine virtuelle// | ||
+ | |||
+ | Dans un terminal en root | ||
+ | |||
+ | | ||
+ | vi / | ||
+ | |||
+ | < | ||
+ | BOOTPROTO=' | ||
+ | BRIDGE=' | ||
+ | BRIDGE_FORWARDDELAY=' | ||
+ | BRIDGE_PORTS=' | ||
+ | BRIDGE_STP=' | ||
+ | BROADCAST='' | ||
+ | ETHTOOL_OPTIONS='' | ||
+ | IPADDR='' | ||
+ | MTU='' | ||
+ | NAME='' | ||
+ | NETMASK='' | ||
+ | NETWORK='' | ||
+ | REMOTE_IPADDR='' | ||
+ | STARTMODE=' | ||
+ | USERCONTROL=' | ||
+ | </ | ||
+ | vi / | ||
+ | < | ||
+ | BOOTPROTO=' | ||
+ | BROADCAST='' | ||
+ | ETHTOOL_OPTIONS='' | ||
+ | IPADDR=' | ||
+ | MTU='' | ||
+ | NAME=' | ||
+ | NETMASK='' | ||
+ | NETWORK='' | ||
+ | REMOTE_IPADDR='' | ||
+ | STARTMODE=' | ||
+ | USERCONTROL=' | ||
+ | </ | ||
+ | Relancez le reseau: | ||
+ | |||
+ | |||
+ | Dans un terminal en root | ||
+ | |||
+ | service network restart | ||
+ | |||
+ | ===Pont réseau avec Yast:=== | ||
+ | |||
+ | Cliquez sur Ajouter | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Sélectionnez pont, ou bridge si yast est en anglais, ainsi que le numéro que vous souhaitez attribuer a votre pont réseau: | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | Si vous n'avez qu'une carte réseau utilisée jusqu' | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | Si la carte réseau est dédiée au pont réseau de votre future machine virtuelle: | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Sélectionnez la carte réseau à mettre en bridge: | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | |||
+ | Voilà votre bridge est en place: | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | ---- | ||
+ | ==== Open Vswitch: ==== | ||
+ | |||
+ | |||
+ | [[http:// | ||
+ | Ca a l'air compliqué comme ca, et ca l'est surement... j'ai pas encore eu le temps de tester... | ||
+ | |||
+ | |||
+ | ---- | ||
+ | =====virt-manager administrez graphiquement vos machines virtuelles===== | ||
+ | |||
+ | {{: | ||
+ | | ||
+ | |||
+ | Il n'est pas obligatoire pour la création de machines virtuelles. | ||
+ | Si vous ne voulez pas utiliser **virt-manager**, | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Installation virt-manager: | ||
+ | |||
+ | <note importante> | ||
+ | |||
+ | Dans un terminal en root | ||
+ | |||
+ | zypper install virt-manager | ||
+ | |||
+ | A l'aide de yast: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | |||
+ | ==== Lancement de virt-manager ==== | ||
+ | |||
+ | Dans un terminal | ||
+ | |||
+ | | ||
+ | su - | ||
+ | virt-manager | ||
+ | |||
+ | A l'aide de yast: (**virt-manager** sera lancé en français) | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | Une fois virt-manager lancé: ajoutez une connection | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Le menu 'Add Connection': | ||
+ | |||
+ | //cela va créer une connection vers votre hyperviseur kvm sur votre machine locale// | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | ---- | ||
+ | ==== Creation d'une machine virtuelle: ==== | ||
+ | |||
+ | Cliquez sur l' | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Passez la page d' | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Si vous avez déjà un disque virtuel sélectionnez le second choix. | ||
+ | Laissez tel quel pour créer un disque dur virtuel. | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Choisissez au plus proche, le type de système d' | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | Petit récapitulatif de la configuration " | ||
+ | Quelques modifications doivent encore être apportées. | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | Dans la section: Name of Virtual Machine | ||
+ | Editez le nom de la machine (à faire avant de créer le disque dur virtuel...) | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Dans la section: Operating System Intallation | ||
+ | Vous sélectionnez le média d' | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | |||
+ | Installation à partir du lecteur cd/dvd de votre pc ou d'un iso | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | |||
+ | Dans la section: Network Adapter | ||
+ | Ajoutez ou modifiez, le pilote, la mac, ou le lien de votre carte réseau virtuelle | ||
+ | (virtio par défaut pour Linux et plus performant que realtaek ou e1000) | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Les bridges (br0) permettent de dédier une carte réseau à une vm. | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | |||
+ | Dans la section: Disks | ||
+ | Ajoutez ou modifiez, la taille, la source et le format de votre disque dur virtuel | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | L' | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Dans la section: Graphics and Keyboard | ||
+ | Modifiez le pilote graphique et le clavier. | ||
+ | (vesa vga ne semble basculer automatiquement vers cirrus logic lors d'une installation) | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | |||
+ | Dans la section: Hardware | ||
+ | Configurez la quantitée de ram dédiée à la machine virtuel ainsi que le nombre de processeurs virtuels. | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Dernier récapitulatif avant installation | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | Quelques instants pour la création de la machine virtuelle... | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | ---- | ||
+ | ==== Installation: | ||
+ | |||
+ | <note tip>Pour détacher le pointeur de la souris de la fenêtre de la machine virtuelle. | ||
+ | |||
+ | Appuiez simultanément sur les touches **CTRL** et **ALT** | ||
+ | </ | ||
+ | |||
+ | |||
+ | La machine boot sur le dvd d' | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | La machine virtuelle s' | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | Pour des raisons de performances, | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | Opensuse 11.3 installé, après son premier boot | ||
+ | |||
+ | //Il arrive que la souris ne fonctionne pas après l' | ||
+ | {{: | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Post installation: | ||
+ | |||
+ | |||
+ | Dans l' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Quelques statistiques | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Ajout d'un périphérique virtuel (une souris usb par example) | ||
+ | Necessite que la machine virtuelle soit éteinte | ||
+ | |||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | ---- | ||
+ | ==== Administration distante: ==== | ||
+ | virt-manager permet d' | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | Une fois connecté... | ||
+ | |||
+ | |||
+ | {{ opensuse: | ||
+ | {{ opensuse: | ||
+ | |||
+ | ---- | ||
+ | ==== IOMMU: ==== | ||
+ | |||
+ | Ajout d'un périphérique physique sur une machine virtuelle. (IOMMU) | ||
+ | |||
+ | |||
+ | Cela nécessite: | ||
+ | * Un processeur compatible [[http:// | ||
+ | * Un chipset compatible [[http:// | ||
+ | * Surtout que le fabriquant ait activé la fonction **vt-d** ou **amd-vi** sur la carte mere. | ||
+ | |||
+ | < | ||
+ | |||
+ | === Identifier le périphérique: | ||
+ | |||
+ | Cette manipulation n'est pas gérée par **virt-manager**, | ||
+ | |||
+ | Dans un terminal en root: | ||
+ | # virsh nodedev-list --tree | ||
+ | |||
+ | |||
+ | La liste de votre matériel apparait | ||
+ | | ||
+ | |||
+ | computer | ||
+ | | | ||
+ | +- net_lo_00_00_00_00_00_00 | ||
+ | +- pci_0000_00_00_0 | ||
+ | +- pci_0000_00_01_0 | ||
+ | | | | ||
+ | | +- pci_0000_01_00_0 | ||
+ | | | ||
+ | +- pci_0000_00_1a_0 | ||
+ | | | | ||
+ | | +- usb_usb3 | ||
+ | | | | ||
+ | | +- usb_3_0_1_0 | ||
+ | | | ||
+ | +- pci_0000_00_1a_1 | ||
+ | | | | ||
+ | | +- usb_usb4 | ||
+ | | | | ||
+ | | +- usb_4_0_1_0 | ||
+ | | | ||
+ | +- pci_0000_00_1a_7 | ||
+ | | | | ||
+ | | +- usb_usb1 | ||
+ | | | | ||
+ | | +- usb_1_0_1_0 | ||
+ | | | ||
+ | +- pci_0000_00_1b_0 | ||
+ | +- pci_0000_00_1c_0 | ||
+ | +- pci_0000_00_1c_5 | ||
+ | | | | ||
+ | | +- pci_0000_02_00_0 | ||
+ | | | | ||
+ | | +- net_eth0_00_22_15_15_26_e7 | ||
+ | |||
+ | Pour détacher la carte réseau eth0 il faut l' | ||
+ | |||
+ | Dans ce cas **pci_0000_02_00_0** | ||
+ | |||
+ | |||
+ | === Détacher le périphérique: | ||
+ | |||
+ | Cette manipulation n'est pas gérée par **virt-manager**, | ||
+ | |||
+ | Dans un terminal en root: | ||
+ | # virsh nodedev-dettach pci_0000_02_00_0 | ||
+ | Device pci_0000_02_00_0 dettached | ||
+ | |||
+ | === Attacher le périphérique: | ||
+ | |||
+ | La suite est gérée par **virt-manager** | ||
+ | |||
+ | {{ opensuse: | ||
+ | |||
+ | |||
+ | |||
+ | Je vous invite à la lecture de ces articles si vous avez les moyens matériel de tester | ||
+ | |||
+ | http:// | ||
+ | |||
+ | http:// | ||
+ | |||
+ | ---- | ||
+ | =====Virsh la virtualisation en console===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{: | ||
+ | Il est tout à fait compatible avec le machine virtuelle créee ou lancée à l'aide de **virt-manager**. Son avantage est de permettre des réglages plus fins que **virt-manager**. | ||
+ | |||
+ | <note warning> | ||
+ | Si xen est installé sur votre machine, **virsh** et **virt-install** peuvent s' | ||
+ | Il est conseillé dans ce cas de lancer **virsh** ou **virt-install** avec l' | ||
+ | |||
+ | -c qemu:/// | ||
+ | |||
+ | Example: | ||
+ | # virsh -c qemu:/// | ||
+ | Id Name State | ||
+ | | ||
+ | 14 opensuse11 | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Creez une machine virtuelle==== | ||
+ | |||
+ | < | ||
+ | Ceux ayant suivit la partie **virt-manager** peuvent sauter cette étape.</ | ||
+ | |||
+ | **virt-install** est l' | ||
+ | |||
+ | |||
+ | Utilisation du prompt de **virt-install**: | ||
+ | |||
+ | Dans un terminal en root: | ||
+ | # virt-install --prompt | ||
+ | What is the name of your virtual machine? opensuse11 | ||
+ | How much RAM should be allocated (in megabytes)? 1024 | ||
+ | What would you like to use as the disk (file path)? / | ||
+ | How large would you like the disk (/ | ||
+ | This will overwrite the existing path '/ | ||
+ | Do you really want to use this disk (yes or no) yes | ||
+ | What is the install CD-ROM/ISO or URL? / | ||
+ | C'est pas finit... | ||
+ | |||
+ | **virt-install** en une ligne: | ||
+ | |||
+ | Dans un terminal en root: (un truc du genre) | ||
+ | # virt-install -n opensuse11 -r 1024 --vcpus=2 -f URL-IMAGE-DISK.raw -s 10 | ||
+ | -c URL-IMAGE-DVD.iso --vnc --noautoconsole --os-type linux | ||
+ | --os-variant opensuse11 --accelerate --network=bridge: | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Administrez une machine virtuelle==== | ||
+ | |||
+ | Lister les machines virtuelles actives et inactives: | ||
+ | |||
+ | Dans un terminal en root: | ||
+ | # virsh list --all | ||
+ | Id Name State | ||
+ | | ||
+ | 14 opensuse11 | ||
+ | |||
+ | |||
+ | Démarrer une machine virtuelle: | ||
+ | |||
+ | # virsh start opensuse11 | ||
+ | Domain opensuse11 started | ||
+ | |||
+ | |||
+ | Eteindre une machine virtuelle: | ||
+ | |||
+ | # virsh shutdown opensuse11 | ||
+ | Domain opensuse11 is being shutdown | ||
+ | |||
+ | Eteindre sauvagement une machine virtuelle : | ||
+ | |||
+ | # virsh destroy opensuse11 | ||
+ | Domain opensuse11 destroyed | ||
+ | |||
+ | Mettre en veille une machine virtuelle: | ||
+ | |||
+ | # virsh suspend opensuse11 | ||
+ | Domain opensuse11 suspended | ||
+ | |||
+ | Réveiller une machine virtuelle: | ||
+ | |||
+ | # virsh resume opensuse11 | ||
+ | Domain opensuse11 resumed | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Modifiez une machine virtuelle==== | ||
+ | |||
+ | |||
+ | //la fonction **edit** de virsh reprend les commandes de l' | ||
+ | |||
+ | |||
+ | Dans un terminal en root | ||
+ | virsh edit opensuse11 | ||
+ | |||
+ | |||
+ | |||
+ | En modifiant la valeur **vram=' | ||
+ | |||
+ | < | ||
+ | < | ||
+ | <model type=' | ||
+ | <address type=' | ||
+ | </ | ||
+ | | ||
+ | </ | ||
+ | ---- | ||
+ | =====Spice l' | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | <note tip> Le dépot [[https:// | ||
+ | |||
+ | Actuellement **spice** est un driver pour une nouvelle carte vidéo virtuelle, ainsi qu'un protocole (genre vnc en mieux) pour s'y connecter. | ||
+ | |||
+ | Les points négatifs étant qu' | ||
+ | Il y a aussi le fait que **spice** necessite coté serveur, un system 64bits pour fonctionner car il est dépendant de [[http:// | ||
+ | |||
+ | Dans l' | ||
+ | rien de tel qu'une vidéo **flash** éditée par **redhat** pour vous expliquer... | ||
+ | http:// | ||
+ | |||
+ | ---- |
opensuse/opensuse-kvm.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1