Qemu-Kvm + Virt-Manager sur Debian - Réseaux informatiques pour les PME

Index général de la série: Réseaux informatiques pour les PME: introduction

En mai 2013, nous avons publié dans ce blog, deux articles dédié à l'installation de Qemu-Kvm dans Debian 7 «Asthmatique«. Ils sont toujours valables. Comme le paysage de l'installation et de la configuration dans Debian 8 "Jessie" a un peu changé, nous voulons mettre à jour la procédure.

Ce ne serait qu'avant de vous plonger dans la lecture de ceci Comment ça se fait, ils visiteront l'article précédent Virtualisation sur Debian: Introduction - Réseaux informatiques pour les PME, pour avoir un peu de recul sur le sujet.

Sites que nous suggérons de visiter

Observation

  • Nous copions la sortie des commandes, car elles sont beaucoup plus didactiques que toute autre composition écrite par nous. Nous vous suggérons de lire attentivement les messages des différents mandats, car c'est l'un des meilleurs moyens d'apprendre sans avoir à faire une recherche sur Internet. Du moins, c'est notre opinion.

Installations préconisées

Nous partons de l'installation de base d'un Debian "Jessie" comme nous l'avons vu dans Installation de postes de travail - Réseaux informatiques pour PME. Ensuite, nous installons le bureau ou le bureau de notre préférence comme nous l'avons vu dans 6 Bureaux Debian - Réseaux informatiques pour les PME.

Pour cet article, nous avons choisi le Cinnamon Desktop. Nous l'avons sélectionné car de nombreux lecteurs aiment cet environnement de bureau. 😉

Les données générales de notre poste de travail sont:

Nom de domaine: desdelinux.ventilateur
Nom de l'équipe: sysadmin
FQDN: administrateur système.desdelinux.ventilateur
Adresse IP : 192.168.10.3
Sous-réseau: 192.168.10.0/24
Utilisateur normal: buzz
Nom complet de l'utilisateur: Premier buzz du système d'exploitation Debian

Nous vérifions la prise en charge de la virtualisation

Dans une console, nous exécutons:

buzz @ sysadmin: ~ $ egrep -c "(svm | vmx)" / proc / cpuinfo
2

Dans notre cas, la commande nous renvoie que nous avons 2 processeurs avec le support nécessaire.

Les packages que nous installerons

Tout d'abord, nous découvrons que nous allons installer en utilisant les commandes suivantes:

buzz @ sysadmin: ~ $ aptitude recherche kvm
p ikvm - Machine virtuelle Java pour la CLI          
v kvm                             - p libicsharpcode-nrefactory-ikvm5 - Bibliothèque d'analyse et de refactoring C # - IKVM p libikvm-native - bibliothèque native pour IKVM.NET p nova-compute-kvm - OpenStack Compute - nœud de calcul (KVM)    
p qemu-kvm - Virtualisation complète QEMU sur matériel x86

buzz @ sysadmin: ~ $ aptitude show nova-compute-kvm
Paquet: nova-compute-kvm Nouveau: oui Statut: non installé Version: 2014.1.3-11 Priorité: extra Section: net Développeur: PKG OpenStack Architecture: tous Taille non compressée: 50.2k Dépend de: adduser, dpkg-dev, qemu-kvm | kvm, libvirt-daemon-system, nova-common, nova-compute, python-libvirt Dépendant de: dpkg (> = 1.15.6 ~) Recommander: guestmount A des conflits avec: nova-baremetal, nova-compute-lxc, nova- compute-qemu, nova-compute-uml, nova-compute-xen Fournit: nova-compute-hypervisor Description: OpenStack Compute - nœud de calcul (KVM) OpenStack est une infrastructure cloud fiable. Sa mission est de produire la plateforme de cloud computing omniprésente qui répondra aux besoins des fournisseurs de cloud publics et privés quelle que soit leur taille, en étant simple à mettre en œuvre et massivement évolutive. OpenStack Compute, nom de code Nova, est un contrôleur de matrice de cloud computing conçu pour être modulaire et facile à étendre et à adapter. En plus de son API OpenStack «native», il prend également en charge l'API Amazon EC2, et il prend en charge de nombreux backends de base de données (y compris SQLite, MySQL et PostgreSQL), des hyperviseurs (KVM, Xen) et des systèmes d'annuaire d'utilisateurs (LDAP, SQL ). Il s'agit d'un package de dépendances pour les nœuds de calcul utilisant KVM. Page principale: http://www.openstack.org/software/openstack-compute/
  • Nous n'allons pas installer le package Pile ouverte, car nous n'avons pas besoin d'une infrastructure de virtualisation complète pour le Cloud - le cloud,
buzz @ sysadmin: ~ $ aptitude show qemu-kvm
Paquet: qemu-kvm Nouveau: oui Statut: non installé Multi-Arch: étranger Version: 1: 2.1 + dfsg-12 + deb8u1 Priorité: facultative Section: misc Développeur: Debian QEMU Team Architecture: amd64 Taille non compressée: 60.4 k Dépend de: qemu-system-x86 (> = 1.7.0 + dfsg-2 ~) A des conflits avec: kvm Break: qemu-system-x86 (<1.7.0 + dfsg-2 ~) Remplace: qemu-system-x86 (<1.7.0 + dfsg-2 ~) Fournit: kvm Description: QEMU Virtualisation complète sur matériel x86 QEMU est un émulateur de processeur rapide. Ce paquet fournit juste un script wrapper / usr / bin / kvm qui exécute qemu-system-x86 en mode kvm pour une compatibilité descendante. Veuillez noter que les anciens fichiers de configuration qemu-kvm (dans / etc / kvm /) ne sont plus utilisés.
Page principale: http://www.qemu.org/

Nous installons la plateforme de virtualisation Qemu-Kvm

buzz @ sysadmin: ~ $ sudo aptitude installer qemu-kvm libvirt-bin bridge-utils
Les NOUVEAUX packages suivants seront installés:     
  augeas-lens {a} bridge-utils dmeventd {a} ebtables {a} ethtool {a} hdparm {a} ipxe-qemu {a} libaio1 {a} libapparmor1 {a} libaugeas0 {a} libboost-thread1.55.0 {a } libdevmapper-event1.02.1 {a} libfdt1 {a} libiscsi2 {a} liblvm2cmd2.02 {a} libnetcf1 {a} libnuma1 {a} librados2 {a} librbd1 {a} libreadline5 {a} libseccomp2 {a} serveur-libspice1 {a} libvdeplug2 {a} libvirt-bin libvirt-clients {a} libvirt-daemon {a} libvirt-daemon-system {a} libvirt0 {a} libx86-1 {a} libxen-4.4 {a} libxenstore3.0 { a} libxml2-utils {a} lvm2 {a} netcat-openbsd {a} pm-utils {a} powermgmt-base {a} qemu-kvm qemu-system-common {a} qemu-system-x86 {a} qemu -utils {a} seabios {a} vbetool {a} 0 packages mis à jour, 42 nouveaux installés, 0 à supprimer et 0 non mis à jour. Je dois télécharger 8,422 14.8 ko / 53.3 Mo de fichiers. Après le déballage, XNUMX Mo seront utilisés. Voulez-vous continuer? [O / n /?] Et

Important

  • Lors de l'installation sur un bureau, nous aurons besoin d'une interface pour gérer le KVM. Si nous installions sur un ou plusieurs serveurs, l'installation du bureau et l'installation du Gestionnaire de machine virtuelle, que nous installerons plus tard. Csur une seule instance de cette interface graphique, nous pouvons gérer tous les serveurs sur lesquels nous avons installé les packages qemu-kvm, libvirt-bin y pont-utils.
  • Le démon principal - démon de la virtualisation est le libvirtd. Pour connaître son statut, nous exécutons:
buzz @ sysadmin: ~ $ sudo systemctl status libvirtd
buzz @ sysadmin: ~ $ sudo service état libvirtd
  • Si dans la sortie de l'une des commandes précédentes, nous lisons quelques lignes en rouge, il est sain de redémarrer le service libvirtd et vérifiez à nouveau, ou redémarrez l'ordinateur et vérifiez. Il scénariolibvirtd.service qui conduit systemd, est en /lib/systemd/system/libvirtd.service. Notez que nous pouvons également invoquer ce démon à l'ancienne, c'est-à-dire:
buzz @ sysadmin: ~ $ sudo service libvirtd
Utilisation: /etc/init.d/libvirtd {start | stop | restart | reload | force-reload | status | force-stop}

buzz @ sysadmin: ~ $ sudo service libvirtd redémarrer buzz @ sysadmin: ~ $ sudo service libvirtd statuslibvirtd.service - Démon de virtualisation
   Chargé: chargé (/lib/systemd/system/libvirtd.service; activé)
   Actif: actif (en cours d'exécution) depuis le dim. 2016-11-27 11:23:53 EST; 8min ago Docs: man: libvirtd (8) http://libvirt.org PID principal: 1112 (libvirtd) CGroup: /system.slice/libvirtd.service └─1112 / usr / sbin / libvirtd
  • El scénario situé au /etc/init.d/qemu-system-x86, se charge de l'insertion des modules nécessaires au bon fonctionnement du Qemu-Kvm. Une fois qu'il a fait son travail avec succès, c'est fait. Si nous vérifions son statut, il nous retournera qu'il est 0 ou réussi.
buzz @ sysadmin: ~ $ sudo systemctl status qemu-system-x86 ● qemu-system-x86.service - LSB: script de chargement du module KVM QEMU Chargé: chargé (/etc/init.d/qemu-system-x86)
   Actif: actif (sorti) depuis le dim. 2016-11-27 11:18:17 EST; Il y a 18 minutes Processus: 172 ExecStart = / etc / init.d / qemu-system-x86 start (code = quitté, status = 0 / SUCCESS)
  • Si nous sommes curieux et que nous voulons savoir quels sont les modules et leur emplacement, nous exécutons:
buzz @ sysadmin: ~ $ sudo mis à jourb

buzz @ sysadmin: ~ $ Locate kvm | grep ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm.ko

buzz @ sysadmin: ~ $ ls -l /lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/
total 1016 -rw-r - r-- 1 racine racine 97120 17 juillet 2015 kvm-amd.ko
-rw-r - r-- 1 racine racine 223680 17 juillet 2015 kvm-intel.ko
-rw-r - r-- 1 racine racine 715920 17 juillet 2015 kvm.ko

Nous installons le Virtual Machine Manager

buzz @ sysadmin: ~ $ sudo aptitude install virt-manager
[sudo] mot de passe pour buzz: Les NOUVEAUX packages suivants seront installés: gir1.2-gtk-vnc-2.0 {a} gir1.2-libvirt-glib-1.0 {a} gir1.2-spice-client-glib-2.0 { a} gir1.2-spice-client-gtk-3.0 {a} libvirt-glib-1.0-0 {a} python-ipaddr {a} python-libvirt {a} python-urlgrabber {a} virt-manager virt-viewer {a} virtinst {a} 0 packages mis à jour, 11 nouveaux installés, 0 à supprimer et 0 non mis à jour. J'ai besoin de télécharger 2,041 12.5 Ko de fichiers. Après le déballage, XNUMX Mo seront utilisés. Voulez-vous continuer? [O / n /?] Et
  • Après avoir installé le package, nous consultons:
buzz @ sysadmin: ~ $ cat /usr/share/doc/virt-manager/README.Debian 
Contrôle d'accès ============== L'accès au socket libvirt est contrôlé par l'appartenance au groupe "libvirt". Si vous souhaitez gérer des machines virtuelles en tant que non root, vous devez ajouter votre utilisateur à ce groupe ou vous devez utiliser les uris de session comme qemu: /// session. Voir aussi /usr/share/doc/libvirt-bin/README.Debian. - Guido Guenther Jeu.04 juin 2010 11:46:03 +0100
  • Ce qui précède indique que nous devons faire en sorte que l'utilisateur buzz soit membre du groupe libvirt pour accéder à l'interface nouvellement installée:
buzz @ sysadmin: ~ $ sudo adduser buzz libvirt
Ajout de l'utilisateur `buzz 'au groupe` libvirt' ... Ajout du buzz utilisateur au groupe libvirt Terminé.
  • Maintenant, nous fermons la session et la redémarrons. Après être entré dans notre bureau Cinnamon, nous allons à Menu -> Administration -> Virtual Machine Manager, et nous accédons à l'interface d'administration de notre KVM. virt-manager

Réseaux virtuels dans Virtual Machine Manager

Malgré le fait que le Virtual Machine Manager est facile à utiliser et qu'avec la pratique quotidienne, nous pouvons obtenir un Master dans son utilisation, nous offrons un Conseil sur la façon de modifier le réseau virtuel que Qemu-Kvm installe par défaut.

Nous naviguons votre Menu -> Modifier -> Détails de la connexion, et nous allons dans l'onglet «Réseaux virtuels«. Si nous cliquons sur le lien Configuration IPv4, la Rouge, et nous informe également que le serveur DHCP est activé pour cela. Ce serveur fonctionne grâce au package base dnsmasq, qui est installé.

Pour plus d'informations, consultez le fichier: /usr/share/doc/libvirt-bin/README.Debian. réseaux

Si nous voulons changer la configuration du réseau «défaut", Nous allons procéder comme suit:

buzz @ sysadmin: ~ $ sudo cp /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/default.xml.original
buzz @ sysadmin: ~ $ cat /etc/libvirt/qemu/networks/default.xml.original
défaut 

buzz @ sysadmin: ~ $ sudo nano /etc/libvirt/qemu/networks/default.xml
défaut 

buzz @ sysadmin: ~ $ sudo systemctl redémarrer libvirtd
buzz @ sysadmin: ~ $ sudo systemctl status libvirtd

Si nous n'avions pas fermé Virtual Machine Manager avant de redémarrer le démon libvirtd, nous recevrons le message d'erreur suivant, ce qui est normal pour que cela se produise: erreur

Nous devons juste fermer le Gestionnaire virtuel et rouvrez-le. Nous revenons à la partie de la configuration des réseaux virtuels, et nous vérifions que le réseau défaut, vous disposez déjà des paramètres modifiés.

Nous suggérons d'activer le démarrage automatique du réseau défaut, en cochant la case «Autonicize«.

Stockage dans Virt-Manager

Un autre aspect que nous voulons aborder est le stockage - Stockage dans Virt-Manager. Par défaut, le dossier système pour enregistrer toutes les images des machines virtuelles se trouve dans / var / lib / libvirt / images. Supposons que nous ayons un disque dur totalement dédié à cette fonction et que nous l'ayons monté sur / home / vms. Pour l'ajouter à Gestionnaire virtuel, nous naviguons dans son Menu -> Modifier -> Détails de connexion -> Stockage. Dans le coin inférieur gauche, nous cliquons sur le bouton «+«. Puis un assistant pour «Créer un compartiment de stockage": stockage

Jetons un coup d'œil aux différents types de stockage parmi lesquels nous pouvons choisir. Documentation détaillée que nous trouverons dans Guide de déploiement et d'administration de la virtualisation, de Red Hat. Nous sélectionnerons le premier «dir: Répertoire du système de fichiers«. stockage2

stockage3

À la fin de l'assistant, le nouveau réservoir de stockage reste actif et démarre automatiquement.

Première machine virtuelle

Nous devons naviguer et lire les différentes options que Virt-Manager nous offre. Observons dans l'avant-dernière image de celles présentées plus loin, que lorsque nous arrivons à l'édition de la machine virtuelle nouvellement créée et avant Lancez l'installation, dans l'option «processeur«, Nous marquons la boîte "Configuration" Copie de la configuration du CPU depuis l'ordinateur hôte. Ce n'est peut-être pas nécessaire de le faire, mais nous nous en tenons à la recommandation Debian et à notre pratique de serveur HP.

Pour plus d'informations, consultez le fichier: /usr/share/doc/libvirt-bin/README.Debian. créer-vm01

créer-vm02

créer-vm03

créer-vm04

créer-vm05

créer-vm06

créer-vm07

créer-vm08

créer-vm09

Nous ajouterons seulement que depuis plus de trois ans, nous avons cette plateforme de virtualisation en production dans deux entreprises. Malgré les pannes de courant, les ordinateurs normaux «adapté»Pour fonctionner comme des domestiques, et de toutes les difficultés qui peuvent exister dans un pays sous-développé comme le nôtre, le Qemu-Kvm il a toujours fonctionné correctement, ainsi que les serveurs virtuels qui s'exécutent dessus.

Nous espérons que cet article vous sera utile.

Prochaine livraison?

«Virsh sur Debian«

N'oubliez pas que ce sera une série d'articles de Réseaux informatiques pour les PME. Nous vous attendons!


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Zodiaque dit

    Article didactique qui va m'aider dans ma mise en œuvre de ma paire de serveurs avec Qemu-KVM. Merci beaucoup Federico et nous continuerons d'attendre vos messages.

  2.   Alberto dit

    Très bon article pour toute initiation à Qemu-KVM.
    Il serait très intéressant que dans les prochains articles, vous expliquiez les fichiers XML des machines virtuelles et le provisionnement léger des disques durs, réalisant ainsi un déploiement très efficace.
    Salutations et merci pour votre contribution.

  3.   Federico dit

    Merci beaucoup pour vos commentaires!.

    Alberto: l'objectif principal de nos articles, comme nous l'avons déjà écrit dans nombre d'entre eux, est d'offrir un point d'entrée aux sujets abordés. Parfois très concis et parfois un peu plus explicite. Cela dépend de la complexité du sujet. Pour cette raison, nous proposons toute une série de liens vers d'autres sites afin que les lecteurs, qu'ils soient initiés ou non, trouvent davantage de littérature pour enrichir leurs connaissances. Je suis en tête de cette liste de lecteurs. 😉

    De votre commentaire, je vois que vous n'êtes pas un initié sur le sujet. Vous me demandez d'expliquer une fonctionnalité assez technique telle que la "Thin provisioning", bien que nous l'utilisions d'une manière ou d'une autre dans notre travail quotidien.

    Le «Thin Provisioning», à des fins pratiques, consiste à utiliser des technologies de virtualisation pour donner l'impression que nous avons plus de ressources matérielles que nous n'en avons réellement. Si un système a toujours à sa disposition les ressources matérielles nécessaires pour prendre en charge toutes les ressources virtualisées, nous ne pouvons pas parler d'implémentation de Light Provisioning dans ce système.

    J'essaie que les ressources mémoire nécessaires, l'espace disque dur, le nombre de processeurs, etc., pour l'exécution des serveurs virtuels ou des invités, ne dépassent pas les ressources de l'hôte lui-même.

    J'essaye d'avoir un approvisionnement lourd ou Provisionnement des ticks. J'organise la virtualisation - quand je peux - pour que la totalité des ressources utilisées dans l'invité, se rapproche de la totalité des ressources disponibles.

    Il est suggéré que l'efficacité du type d'approvisionnement dépend de la façon dont nous l'utilisons et non de la technologie de virtualisation. Le provisioning intensif est plus efficace lorsque la quantité de ressources matérielles utilisées se rapproche de la quantité de ressources disponibles. Le Thin Provisioning est plus efficace lorsque la quantité de ressources matérielles utilisées est bien inférieure à celle disponible.

    Pour plus d'informations sur les achats, visitez en premier lieu: https://en.wikipedia.org/wiki/Thin_provisioning.

    Au fait, je vais vous dire que dans le document "Guide de déploiement et d'administration de la virtualisation" mentionné dans cet article, il ne fait référence qu'une seule fois au Thin Provisioning, et c'est pour nous dire que ce type de provisioning n'est pas pris en charge par les Storage Depots ou Storage Pool, avec LVM ou Logical Volume Manager.

    Enfin, je tiens à attirer votre attention sur le fait qu'un article ne peut pas couvrir ou remplacer la littérature spécialisée sur un certain sujet. Par exemple, l'ancien document Red Hat compte 565 pages.

  4.   federico dit

    Luigys, j'ai du mal à recevoir les commentaires postés.

    1.    Luigys toro dit

      Nous y travaillons

  5.   Marty McFly dit

    Parce que dans Desde Linux N'a-t-on pas parlé de la version 25 de la populaire distribution Fedora ? J'ai l'impression que ce blog n'est spécialisé que sur Debian et Ubuntu... Quelle tristesse d'être un lecteur assidu et en même temps un utilisateur de Fedora

    1.    Luigys toro dit

      Mon cher Marty, sans aucun doute nous avons quelque chose oublié de Fedora, ce n'est pas par plaisir, mais par nécessité. Le monde GNU / Linux et libre est en constante évolution et nos capacités à tester, apprendre et communiquer sont limitées. Nous aimerions avoir 48 heures par jour, pour pouvoir d'une manière ou d'une autre pouvoir contribuer de plus en plus et sur plus de sujets.

      À un moment donné, nous allons écrire sur Fedora, désolé si ce n'est pas le cas maintenant, nous travaillons pour atteindre de plus en plus de collaborateurs pour nous aider à créer du contenu, de cette manière, nous pourrons couvrir plus de points.

      Tout le monde est invité à collaborer DesdeLinux, pour cela il y a le Guide des rédacteurs et le Guide des rédacteurs https://blog.desdelinux.net/guia-redactores-editores/ Nous espérons donc, à un moment donné, avoir beaucoup plus de matériel à offrir.

    2.    federico dit

      Souhaitez-vous que nous publions également sur CentOS?

  6.   crespo88 dit

    Article spécial, nous y sommes habitués. Merci pour ce livreur, vous jouez déjà des sujets bien plus intéressants, ce qui n'enlève rien au reste des posts, je le dis comme ça de mon point de vue car mon suivi à Qemu-KVM a commencé il y a quelques années et depuis que je l'ai rencontré Je n'ai aucune plainte à ce sujet.
    J'espère que le Qemu-KVM restera fort et continuera dans l'avenir de Debian.

  7.   Federico dit

    Si vous êtes un observateur Crespo88, dans ces nouveaux articles sur Qemu-KVM, je vais plus loin, comme vous l'avez déjà vu dans le prochain, et vous le verrez dans les deux autres que je publierai bientôt. Dans le monde d'aujourd'hui, la virtualisation est une technologie essentielle. Cela vaut la peine de se plonger dans son utilisation. Merci pour le commentaire!!!.

  8.   Ismaël Allvarez Wong dit

    Très bon article sur la façon de mettre en pratique de manière simple et abordable la théorie de la virtualisation basée sur KVM (ou Kernel-based Virtual Machine), c'est-à-dire que ce sont toutes les bases pour commencer:
    1er) Installez la plateforme de virtualisation Qemu-Kvm.
    2ème) Comme l'hôte dispose d'une interface graphique, nous avons besoin du Virtual Machine Manager pour gérer la virtualisation KVM.
    3) Très bons conseils pour ajouter notre buzz utilisateur au groupe libvirt pour avoir accès à l'interface Virtual Machine Manager; pour modifier l'interface réseau virtuelle et le stockage par défaut dans Virt-Manager vers une autre partition "montée" d'un 2ème disque dur.
    4ème et final) La création du 1er MV.
    Merci de partager ces informations "de manière désintéressée" pour nous améliorer dans le monde de Linux.

  9.   federico dit

    Merci beaucoup pour votre commentaire, ami Wong. Ce sont des messages comme le vôtre qui me poussent à continuer d'écrire pour la communauté. DesdeLinux et pour tous les amoureux de Linux