Virtualisation : Questionnement version Qemu et permissions

Salut bonsoir tout le monde o/ :slightly_smiling_face:

Merci @Clochette pour le lien . donc j’ai laissé comme c’est avec le paquet Qemu de Debian car j’avais eu des soucis en le complilant une fois , ça a foutu un sacré merdier avec libvirt et ses compagnons :laughing: .Avec Aqemu en Gui ça va à peu près .Mais j’ai un soucis en ayant créé le pont , les VM n’arrivent pas à entrer avec l-interface réseau de l’hôte :frowning: . Voici ce que ça me répond :

Error #1
RTNETLINK answers: Operation not permitted 

Error #2
RTNETLINK answers: Operation not permitted qemu-system-x86_64: network script /etc/qemu-ifup failed with status 512 

Voici mon fichier /network/interfaces :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback    

# Configurez les interfaces manuellement en évitant les conflits avec le manager réseau.
iface enp4s0 inet manual

# Configuration du pont(bridge)
iface br0 inet dhcp
        bridge_ports enp4s0     

Commandes faites :

brctl addbr br0    
brctl addif br0 enp4s0    
ifup br0

Le pont est crée mais c’est comme si il y avait un coupe feu ou bien mon user ou ne fait pas partie du groupe /net/tun ou un truc du genre…

J’ai suivi ce tuto en adaptant bien-sûr vu que le nommage eth0 n’est plus.

https://wiki.debian.org/fr/BridgeNetworkConnections

Merci d’avance et désolé pour le formatage des textes , je ne viens pas souven sur le forum

Bonsoir

Au cas où, juste pour dire qu’en installant simplement le paquetage debian virt-manager
je ne sais même plus comment le pont est configuré, mais je l’utilise sans rien avoir rien à modifier
et mes machines virtuelles ont accès au web que je sois connecté par WiFi , RJ45 ou USB(smartphone).
La seule chose que j’ai à faire après installation du paquetage, c’est de mettre mon compte utilisateur dans le groupe libvirt

Salut @MicP o/

Bonsoir et encore merci du retour et d’avoir corrigé mon formatage. :wink:
J’ai déjà essayé virt-manager et libvirt mais ça me demandait trop de permissions root , il ne voulait pas placer les VM’s dans mon /home.C’est pour ça que j’ai laissé tomber.

Oui, il faudra que je fasse un petit compte rendu de la méthode que j’utilise (qui n’est peut-être pas la meilleure) pour mettre mes machines virtuelles et fichiers ISO d’installation dans le système de fichiers d’une partition séparée (et d’ailleurs, c’est sur un autre disque).
Je vais me mettre ça dans ma liste des TODO
(à part que chez moi, elle s’appelle TOUDOUX)

Ah ok merci @MicP ,j’ai hâte de lire ton compte rendu :).
Sinon , dis moi si je me trompe : les VM’s avec virt-manager et compagnie tournent t-elles avec des droits root ? (je trouve ça surprenant). Avec Qemu j’ai toujours utilisé mes VM dans mon espace utilisateur et j’accédais au Net. Mais là aujourd’hui je veux faire un mini réseau virtuel avec pont mais comme tu vois ça coince .

Hello bonjour toutes et tous o/ :slight_smile:

Me revoilà donc pour le briefing.Alors j’ai réussi à faire fonctionner le bridge.
Je n’y arrivais pas parce que j’ai tenté de le faire avec l’interface graphique de NetworkManager ,je ne comprenais pas pourquoi au début ça tournait en boucle… En fait j’avais oublié que pour ça il fallait être root… c’est ballot hein… :laughing: .

Du coup j’ai utilisé la commande nmtui en root et tout est rentré dans l’ordre.
Il a fallut aussi changer le path de libvirt /var/lib/libvirt/images , je l’ai mis dans
~/.local/share/libvirt/images/ . J’ai utilisé ce tuto :

https://www.linuxsecrets.com/725-change-default-location-of-libvirt-vm-images que j’avais mentionné là ----> https://www.debian-fr.org/t/virtualisation-probleme-repertoire-racine-plein-surtout-var-lib/81581/4 . Dans ce poste du second lien je me plaignais de la racine pleine et j’avais oublié une étape pour faire changer de path à ce foutu virt-manager . Quelle est l’idée aussi de mettre des images iso dans /var :open_mouth: … Donc pour moi c’est bon ,dites moi ce que vous en pensez :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 60:a4:4c:40:2d:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.11/24 brd 192.168.0.255 scope global dynamic noprefixroute enp4s0
       valid_lft 852213sec preferred_lft 852213sec
    inet6 2a01:e0a:540:a4c0:7d19:f7f9:7134:c2c6/64 scope global dynamic noprefixroute 
       valid_lft 86387sec preferred_lft 86387sec
    inet6 fe80::c549:b70b:fd93:d4d5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
8: macvtap0@enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
    link/ether 52:54:00:a3:21:a1 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:fea3:21a1/64 scope link 
       valid_lft forever preferred_lft forever

Je mets en résolu donc pour cette partie .Mais Je reviendrais très probablement quand j’aurais commencé à construire le mini réseau virtuel, je sens que mon cervelet va fondre :smiley: .

PS: Y aurait-il quelqu’un pour me filer un lien d’ici pour utiliser l’éditeur du forum ? Car je nage un peu. Grand merci à vous !_/

Bonjour Iblis

Cool merci @MicP .Je vais lire le tuto pour enfin éviter de poster comme un goret fournissant un torchon illisible :laughing:

Au plaisir :slight_smile:

Comment j’installe et utilise virt-manager :

Il faut d’abord activer les options de virtualisation dans le BIOS de la machine
sur laquelle tu veux installer virt-manager


Installation :

J’installe le paquetage virt-manager :

su -c 'apt install virt-manager'

et je mets ensuite mon compte utilisateur personnel dans le groupe libvirt:

su -c 'adduser nomDeMonCompteUtilisateur libvirt'

une fois fait, je dois me déconnecter de ma session graphique,
et c’est seulement à partir de la connexion suivante
que je pourrais vérifier, depuis mon compte utilisateur,
que mon compte utilisateur est bien dans la liste des utilisateurs du groupe libvirt :

groups

la réponse à la commande group est alors :

michel cdrom floppy audio dip video plugdev netdev bluetooth lpadmin scanner libvirt

Voilà, c’est installé et fonctionnel

Question réseau, tout a été automatiquement configuré
par le programme d’installation du paquetage virt-manager :

  • Les machines virtuelles seront toutes connectées par le serveur DHCP virtuel au réseau 192.168.122.0/24 et auront toutes accès au web.
  • Toutes les machines virtuelles crées peuvent accéder à leur hôte par l’adresse IP 192.168.122.1
  • Depuis l’hôte, je peux me connecter à mes machines virtuelles en utilisant leur adresse IP dans le réseau 192.168.122.0/24

Quelques petites adaptations perso :
J’ai créé deux pools qui utilisent des répertoires qui sont sur un autre système de fichiers que ceux utilisés par ma machine hôte.

  • Un qui contient mes fichiers image ISO :
    Capture d’écran_2020-05-04_15-57-26
  • Un autre pour mes fichiers image disque :
    Capture d’écran_2020-05-04_15-56-58

Et j’accède à ces répertoires par des liens qui sont dans l’arborescence du répertoire personnel de mon compte utilisateur.


Ci-dessous la liste de tous les liens
qui me permettent d’accéder au système de fichiers séparé
que je fais monter par /etc/fstab sur le point de montage /datas

michel@debT450:~$ ls -l | grep ^l
lrwxrwxrwx 1 michel michel      23 mai    1 23:44 Documents -> /datas/michel/Documents
lrwxrwxrwx 1 michel michel      20 mai    1 23:44 Images -> /datas/michel/Images
lrwxrwxrwx 1 michel michel      22 mai    1 23:44 machVirt -> /datas/michel/machVirt
lrwxrwxrwx 1 michel michel      24 mai    1 23:44 mesScripts -> /datas/michel/mesScripts
lrwxrwxrwx 1 michel michel      21 mai    1 23:44 Musique -> /datas/michel/Musique
lrwxrwxrwx 1 michel michel      21 mai    1 23:44 partage -> /datas/michel/partage
lrwxrwxrwx 1 michel michel      31 mai    1 23:44 Téléchargements -> /datas/michel/Téléchargements
lrwxrwxrwx 1 michel michel      21 mai    1 23:44 Vidéos -> /datas/michel/Vidéos
michel@debT450:~$ 

Je préfère créer mes images disques .qcow2 (Copy On Write) en ligne de commande
juste avant de créer ma machine virtuelle :

qemu-img create -f qcow2 /home/michel/machVirt/imageDisque.qcow2 16G

La réponse à cette ligne de commande est :

Formatting '/home/michel/machVirt/imageDisque.qcow2', fmt=qcow2 size=17179869184 cluster_size=65536 lazy_refcounts=off refcount_bits=16

et quand je créé la machine virtuelle, au moment du choix du stockage,
je n’ai plus qu’à sélectionner dans le pool de mes fichiers images disque,
le fichier image .qcow2 que je viens de créer :
Capture d’écran_2020-05-04_16-27-45

Salut @MicP bonjour :slight_smile:

Je te remercie vivement pour ton retour tuto au sujet de la virtualisation.
Je vais épingler ton tuto de suite dans mon pense-bête
Oui en effet ce n’est pas si compliqué que ça en a l’air .
Par contre moi j’avais crée un dossier Iso et j’allais les chercher pour Virt-Manager et je me suis aperçu qu’il l’a mis automatiquement en pool .Je n’ai pas fait exprès on dirait :laughing:.
En tout cas chapeau !! Merci o/

@MicP
Par contre pour tes deux dernières images , il n’y a pas l’aperçu.
Tu ne peux pas les poster directement ici ? On ne sait jamais avec les hébergeurs d’images,les liens peuvent disparaître.

J’avais fait un copié/collé d’un post que j’avais créé sur un autre forum,
et le copié/collé n’a pas donné ce que j’espérais.

Mais tu as raison, ces images ne pèsent pas lourd (moins de 85 Kio chacune),
et comme les captures originales sont encore sur ma machine,
autant les enregistrer directement sur ce forum.


Le truc vraiment sympa avec ces machines virtuelles,
c’est que si on a fait un snapshot avant de s’amuser comme un fou à faire des bêtises dans la configuration de la machine virtuelle,
on peut, en quelques clics, remettre la machine virtuelle exactement comme elle était au moment où on avait créé le snapshot.

Et en plus, pour apprendre à créer et utiliser les différents types de RAID et LVM,
grâce au format qcow2, ça ne prends pratiquement rien comme espace disque sur la machine hôte.

Et je ne parle même pas de tout ce que l’on peut faire en ligne de commande avec virsh

Je viens seulement d’y penser au snapshot , mais trop tard j’ai mis ma Debian Lxqt en vrac :laughing: J’ai supprimé Lxqt pour avoir Blackbox et là je suis en tty . J’ai redémarré avec le cdrom virtuel et j’ai chrooté sur /dev/vda1 et là je cherche comment réparer ma connerie.Arff je ne vais pas ouvrir un post pour ça , ça ne vaut pas le coup.Je vais essayer de trouver tout seul comme un grand :smiley:

J’ai pour habitude de faire au moins un snapshot dès la fin de l’installation de chaque machine virtuelle,
comme ça, après, je peux faire toutes mes bêtises tranquille.

Il y a aussi la possibilité de faire un ou/et des clone(s) d’une machine virtuelle fraîchement installé
plutôt que d’en réinstaller une autre.

Merci pour les astuces.
En parlant de snapshot , ça se fait aussi sur une machine réelle non ?Avec le système de fichiers Btrfs je crois .Il faut aimer marcher sur le fil :smiley:

Je n’ai pas encore testé le système de fichiers Btrfs
La dernière fois que je m’étais renseigné, j’avais lu qu’il n’était pas encore bien fiable,
mais bon, c’était quand même il y a plus de 5 ans.

Et puis, il y a tant de systèmes de fichiers différents, qu’il faudrait pouvoir bien définir ce que l’on veut en faire avant d’en choisir un.

Je l’ai testé il n’y a pas longtemps sur OpenSuse ,cette distribution s’installe par défaut avec btrfs .Et bien pour le peu que je l’ai trifouillée ça avait l’air de marcher.Ça fait comme un point de restauration façon Windows mais en plus évolué.Mais j’ai oublié les méthodes , j’ai enlevé OpenSuse car elle était trop lourde pour mon matériel.C’est une très bonne distribution.Rien à dire.

J’avais aussi oublié de parler de qemu-nbd qui pourrait t’intéresser dans ce cas là
pour accéder à un fichier image disque et monter ses systèmes de fichiers sur le système de fichiers de ton système debian hôte ou/et y accéder par le réseau.

Merci je vais regarder ça . qemu-nbd je l’ai dans les options.Je vais me documenter un peu pour oublier ce temps londonien o/.

Il faut d’abord installer le paquetage qemu-utils qui contient le programme qemu-nbd

su -c 'apt install qemu-utils'

et ensuite :

root@debT450:~# modprobe nbd max_part=8                                     # pour charger le module nbd et créer 8 fichiers de périphériques (de /dev/nbd0 à /dev/nbd7)
root@debT450:~# qemu-nbd -c /dev/nbd0 /home/michel/machVirt/pourP2P.qcow2   # pour associer le fichier image disque à un de ces fichiers de périphériques
root@debT450:~# fdisk -l /dev/nbd0                                          # Et voilà, c'est comme si j'avais connecté un disque de plus à ma machine
Disque /dev/nbd0 : 80 GiB, 85899345920 octets, 167772160 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x909f987c

Périphérique Amorçage Début       Fin  Secteurs Taille Id Type
/dev/nbd0p1            2048 167772159 167770112    80G 83 Linux
root@debT450:~# 

on peut maintenant monter le système de fichiers de la première partition de ce disque virtuel,
cette partition est accessible par le fichier de périphérique /dev/nbd0p1

Après usage,
n’oubliez pas de « laisser cet endroit aussi propre que vous l’avez trouvé » :

root@debT450:~# umount /dev/nbd0p1      # démonter le système de fichiers
root@debT450:~# qemu-nbd -d /dev/nbd0   # dissocier l'image disque du fichier de périphérique
root@debT450:~# modprobe -r nbd         # décharger le module nbd