GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Configurer le serveur de virtualisation sans tête à l'aide de KVM dans Ubuntu 18.04 LTS

Nous avons déjà couvert la configuration d'Oracle VirtualBox sur Ubuntu 18.04 serveur sans tête. Dans ce didacticiel, nous expliquerons comment configurer un serveur de virtualisation sans tête à l'aide de KVM et comment gérer les machines invitées à partir d'un client distant. Comme vous le savez peut-être déjà, KVM (K v basé sur ernel m virtuel achine) est une virtualisation open source complète pour Linux. En utilisant KVM, nous pouvons facilement transformer n'importe quel serveur Linux en un environnement de virtualisation complet en quelques minutes et déployer différents types de machines virtuelles telles que GNU/Linux, *BSD, Windows, etc.

Télécharger - Ebook gratuit :"6 choses qu'Ubuntu fait mieux que Windows"

Configurer le serveur de virtualisation sans tête à l'aide de KVM dans Ubuntu

J'ai testé ce guide sur le serveur Ubuntu 18.04 LTS, mais ce tutoriel fonctionnera sur d'autres distributions Linux telles que Debian, CentOS, RHEL et Scientific Linux. Cette méthode conviendra parfaitement à ceux qui souhaitent mettre en place un environnement de virtualisation simple dans un serveur Linux dépourvu d'environnement graphique.

Pour les besoins de ce guide, j'utiliserai deux systèmes.

Serveur de virtualisation KVM :

  • Système d'exploitation hôte - Serveur minimal Ubuntu 18.04 LTS (pas d'interface graphique)
  • Adresse IP du système d'exploitation hôte :192.168.225.22/24
  • Système d'exploitation invité (Que nous allons héberger sur Ubuntu 18.04) :Serveur Ubuntu 16.04 LTS

Client de bureau à distance :

  • SE -Arch Linux

Installer KVM

Tout d'abord, vérifions si notre système prend en charge la virtualisation matérielle. Pour cela, exécutez la commande suivante depuis le Terminal :

$ egrep -c '(vmx|svm)' /proc/cpuinfo

Si le résultat est zéro (0) , le système ne prend pas en charge la virtualisation matérielle ou la virtualisation est désactivée dans le Bios. Allez dans votre bios et vérifiez l'option de virtualisation et activez-la.

si le résultat est 1 ou plus , le système prendra en charge la virtualisation matérielle. Cependant, vous devez toujours activer l'option de virtualisation dans le Bios avant d'exécuter les commandes ci-dessus.

Vous pouvez également utiliser la commande suivante pour le vérifier. Vous devez d'abord installer kvm comme décrit ci-dessous, afin d'utiliser cette commande.

$ kvm-ok

Exemple de sortie :

INFO: /dev/kvm exists
KVM acceleration can be used

Si vous obtenez l'erreur suivante à la place, vous pouvez toujours exécuter des machines invitées dans KVM, mais les performances seront très médiocres.

INFO: Your CPU does not support KVM extensions
INFO: For more detailed results, you should run this as root
HINT: sudo /usr/sbin/kvm-ok

En outre, il existe d'autres moyens de savoir si votre CPU prend en charge la virtualisation ou non. Reportez-vous au guide suivant pour plus de détails.

  • Comment savoir si un processeur prend en charge la technologie de virtualisation (VT)

Ensuite, installez KVM et les autres packages requis pour configurer un environnement de virtualisation sous Linux.

Sur Ubuntu et d'autres systèmes basés sur DEB, exécutez :

$ sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker

Une fois KVM installé, démarrez le service libvertd (s'il n'est pas déjà démarré) :

$ sudo systemctl enable libvirtd
$ sudo systemctl start libvirtd

Créer des machines virtuelles

Tous les fichiers de la machine virtuelle et autres fichiers associés seront stockés sous /var/lib/libvirt/ . Le chemin par défaut des images ISO est /var/lib/libvirt/boot/ .

D'abord, voyons s'il y a des machines virtuelles. Pour afficher la liste des machines virtuelles disponibles, exécutez :

$ sudo virsh list --all

Exemple de sortie :

Id Name State
----------------------------------------------------

Comme vous le voyez ci-dessus, il n'y a pas de machine virtuelle disponible pour le moment.

Maintenant, créons-en un.

Par exemple, créons une machine virtuelle Ubuntu 16.04 avec 512 Mo de RAM, 1 cœur de processeur, 8 Go de disque dur.

$ sudo virt-install --name Ubuntu-16.04 --ram=512 --vcpus=1 --cpu host --hvm --disk path=/var/lib/libvirt/images/ubuntu-16.04-vm1,size=8 --cdrom /var/lib/libvirt/boot/ubuntu-16.04-server-amd64.iso --graphics vnc

Assurez-vous d'avoir l'image ISO d'Ubuntu 16.04 dans le chemin /var/lib/libvirt/boot/ ou tout autre chemin que vous avez donné dans la commande ci-dessus.

Exemple de sortie :

WARNING Graphics requested but DISPLAY is not set. Not running virt-viewer.
WARNING No console to launch for the guest, defaulting to --wait -1

Starting install...
Creating domain... | 0 B 00:00:01 
Domain installation still in progress. Waiting for installation to complete.
Domain has shutdown. Continuing.
Domain creation completed.
Restarting guest.

Décomposons la commande ci-dessus et voyons ce que fait chaque option.

  • --nom :Cette option définit le nom du nom virtuel. Dans notre cas, le nom de la VM est Ubuntu-16.04 .
  • --ram=512  :alloue 512 Mo de RAM à la machine virtuelle.
  • --vcpus=1  :Indique le nombre de cœurs de processeur dans la VM.
  • --hôte du processeur  :optimise les propriétés du processeur pour la machine virtuelle en exposant la configuration du processeur de l'hôte à l'invité.
  • --hvm  : Demandez la virtualisation matérielle complète.
  • --chemin du disque :L'emplacement pour enregistrer le disque dur de la VM et sa taille. Dans notre exemple, j'ai alloué une taille de disque dur de 8 Go.
  • --cdrom :L'emplacement de l'image ISO du programme d'installation. Veuillez noter que vous devez avoir l'image ISO réelle à cet emplacement.
  • --graphics vnc  :Autorise l'accès VNC à la VM à partir d'un client distant.

Accéder aux machines virtuelles à l'aide du client VNC

Maintenant, accédez au système de bureau à distance. Connectez-vous en SSH au serveur Ubuntu (serveur de virtualisation) comme indiqué ci-dessous.

$ ssh [email protected]

Ici, sk est le nom d'utilisateur de mon serveur Ubuntu et 192.168.225.22 est son adresse IP.

Exécutez la commande suivante pour connaître le numéro de port VNC. Nous en avons besoin pour accéder à la Vm à partir d'un système distant.

$ sudo virsh dumpxml Ubuntu-16.04 | grep vnc

Exemple de sortie :

<graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>

Notez le numéro de port 5900 . Installez n'importe quelle application client VNC. Pour ce guide, j'utiliserai TigerVnc. TigerVNC est disponible dans les référentiels par défaut d'Arch Linux. Pour l'installer sur des systèmes basés sur Arch, exécutez :

$ sudo pacman -S tigervnc

Tapez la commande de transfert de port SSH suivante à partir de votre système client distant sur lequel l'application client VNC est installée.

$ ssh [email protected] -L 5900:127.0.0.1:5900

Encore une fois, 192.168.225.22 est l'adresse IP de mon serveur Ubuntu (serveur de virtualisation).

Ensuite, ouvrez le client VNC à partir de votre Arch Linux (client).

Tapez localhost :5900 dans le champ Serveur VNC et cliquez sur Se connecter bouton.

Ensuite, commencez à installer la machine virtuelle Ubuntu comme vous le faites dans le système physique.

De même, vous pouvez configurer autant de machines virtuelles en fonction des spécifications matérielles du serveur.

Vous pouvez également utiliser virt-viewer utilitaire afin d'installer le système d'exploitation sur les machines invitées. virt-viewer est disponible dans la plupart des dépôts par défaut de la distribution Linux. Après avoir installé virt-viewer, exécutez la commande suivante pour établir l'accès VNC à la machine virtuelle.

$ sudo virt-viewer --connect=qemu+ssh://192.168.225.22/system --name Ubuntu-16.04

Gérer les machines virtuelles

La gestion des machines virtuelles à partir de la ligne de commande à l'aide de l'interface utilisateur de gestion virsh est très intéressante et amusante. Les commandes sont très faciles à retenir. Voyons quelques exemples.

Pour afficher la liste des VM en cours d'exécution, exécutez :

$ sudo virsh list

Ou,

$ sudo virsh list --all

Exemple de sortie :

 Id Name State
----------------------------------------------------
 2 Ubuntu-16.04 running

Pour démarrer une VM, exécutez :

$ sudo virsh start Ubuntu-16.04

Vous pouvez également utiliser l'identifiant de la machine virtuelle pour la démarrer.

Comme vous le voyez dans la sortie ci-dessus, l'ID de la machine virtuelle Ubuntu 16.04 est 2. Donc, pour la démarrer, spécifiez simplement son ID comme ci-dessous.

$ sudo virsh start 2

Pour redémarrer une VM, exécutez :

$ sudo virsh reboot Ubuntu-16.04

Exemple de sortie :

Domain Ubuntu-16.04 is being rebooted

Pour mettre en pause une VM en cours d'exécution, exécutez :

$ sudo virsh suspend Ubuntu-16.04

Exemple de sortie :

Domain Ubuntu-16.04 suspended

Pour reprendre la VM suspendue, exécutez :

$ sudo virsh resume Ubuntu-16.04

Exemple de sortie :

Domain Ubuntu-16.04 resumed

Pour arrêter une VM, exécutez :

$ sudo virsh shutdown Ubuntu-16.04

Exemple de sortie :

Domain Ubuntu-16.04 is being shutdown

Pour supprimer complètement une VM, exécutez :

$ sudo virsh undefine Ubuntu-16.04
$ sudo virsh destroy Ubuntu-16.04

Exemple de sortie :

Domain Ubuntu-16.04 destroyed

Pour plus d'options, je vous recommande de consulter les pages de manuel.

$ man virsh

C'est tout pour le moment. Commencez à jouer avec votre nouvel environnement de virtualisation. La virtualisation KVM sera optée pour la recherche et le développement et à des fins de test, mais sans s'y limiter. Si vous disposez de suffisamment de matériel, vous pouvez l'utiliser pour les grands environnements de production.

Lire connexe :

  • Installer et configurer KVM dans le serveur sans tête Ubuntu 20.04

Ressource :

  • Site Web KVM

Ubuntu
  1. Comment configurer le serveur de stockage iSCSI sur Ubuntu 18.04 LTS

  2. Comment configurer le serveur Rsyslog sur Ubuntu 18.04 LTS

  3. Comment configurer un serveur de stockage iSCSI sur Ubuntu 20.04 LTS

  4. 4 étapes pour configurer le référentiel local dans Ubuntu à l'aide d'APT-mirror

  5. Configuration de l'environnement de virtualisation du serveur à l'aide de Proxmox VE

Comment configurer les blocs de serveur Nginx dans Ubuntu 18.04 LTS

Comment installer Oracle VirtualBox sur le serveur sans tête Ubuntu 18.04.2 LTS

Comment configurer le dernier MySQL sur Ubuntu 20.04 LTS

Comment installer Jellyfin Media Server sur le serveur/bureau Ubuntu 20.04 LTS

Installer et configurer Plex Media Server sur Ubuntu 22.04 LTS

Comment configurer le serveur et le client NTP sur Ubuntu 20.04 LTS