Préparation (INSA-CVL)

Pour réaliser ces TDs, nous allons utiliser des machines virtuelles Fedora et Ubuntu.

Nous allons mettre en place libvirt et Vagrant sur le Xeon sur CentOS Stream.

Il est recommandé d’accéder au Xeon par SSH via le mini PC à votre disposition.

En tant qu’utilisateur root

Installer libvirtd et Vagrant :

root@xeon $ dnf upgrade -y
root@xeon $ dnf config-manager --set-enabled crb
root@xeon $ dnf install -y qemu-kvm libvirt rsync libvirt-devel ruby-devel gcc
root@xeon $ dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
root@xeon $ dnf -y install vagrant

Configurer l’accès à libvirtd pour l’utilisateur :

root@xeon $ nano /etc/libvirt/libvirtd.conf
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"
root@xeon $ usermod -G libvirt user
root@xeon $ systemctl restart libvirtd

Vérifier qu’il fonctionne correctement :

root@xeon $ systemctl status libvirtd

Monter le partage NFS si il n’est pas déjà monté :

root@xeon $ mkdir -p /mnt/
root@xeon $ mount -t nfs -o soft 172.10.3.254:mnt /mnt

En tant qu’utilisateur user

Vérifier l’accès au démon libvirtd :

user@xeon $ virsh --connect=qemu:///system list --all

Créer un dossier sous votre nom (sans caractères spéciaux ni accents ou espaces) et récupérer la configuration Vagrant et l’image disque virtuelle depuis le server de fichier partagé :

user@xeon $ mkdir <nomprénom>
user@xeon $ cd <nomprénom>
user@xeon $ cp /mnt/nfs/DATASTORE/A_COURS/RAVIER/vagrant/* ./
user@xeon $ ls
Vagrantfile
fedora-2su.box
ubuntu-2su.box
sha256sums

Installer le plugin Vagrant libvirt :

user@xeon $ vagrant plugin install vagrant-libvirt

Lancer la première machine virtuelle :

user@xeon $ vagrant up ubuntu

Accéder à la première machine virtuelle :

user@xeon $ vagrant ssh ubuntu

Préparation pour une machine Debian

Instructions nécessaires uniquement si vous n’avez pas accès aux serveurs Xeons mais à un serveur sous Debian à la place.

Instructions
$ sudo -i

$ apt-get update
$ apt-get upgrade
$ apt-get install libvirt-daemon-system

$ rm /etc/udev/rules.d/99-kola-kvm.rules
$ rm -rf /run/libvirt*

$ usermod -aG libvirt userX

# Editer /etc/libvirt/libvirtd.conf pour définir les options:
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"

$ systemctl edit libvirtd.socket
[Socket]
SocketUser=root
SocketGroup=libvirt
SocketMode=0770

$ systemctl edit virtlogd.socket
[Socket]
SocketUser=root
SocketGroup=libvirt
SocketMode=0770

$ systemctl restart libvirtd.socket libvirtd.service virtlogd.socket virtlogd.service

$ chmod a+rw /dev/kvm