Accueil » Systèmes » Linux » Page 5
1) Pour commencer nous allons arrêter le domaine que nous souhaitons migrer
ou si elle ne repond pas
virsh destroy nom_VM
2) Sur l’hyperviseur source, nous allons exporter la configuration du domaine dans un fichier xml:
virsh dumpxml nom_VM > nom_VM.xml
3 ) Toujours sur l’hyperviseur source, on copie le ou les fichiers disques du domaine que l’on souhaite migrer, depuis son emplacement dans /var/lib/libvirt/images vers le même répertoire sur l’hyperviseur de destination.
scp -p /var/lib/libvirt/images/nom_VM.qcow2 hyperviseur_destination:/var/lib/libvirt/images/
Si plusieurs disques ou stockage partagé différent : Adapte le chemin source et destination.
Utilise -r si tu as un répertoire entier, ou rsync pour plus de fiabilité :
rsync -avz --progress /var/lib/libvirt/images/nom_VM.qcow2 hyperviseur_destination:/var/lib/libvirt/images/
Si le chemin du disque est différent sur l’hyperviseur de destination, il faudra le modifier le fichier xml générer dans l’étape précédente pour que cela pointe au bon endroit.
4 ) On copie également notre fichier XML sur l’hyperviseur de destination
scp -p nom_VM.xml hyperviseur_destination:/tmp/
5) On intègre le domaine dans KVM à l’aide de notre fichier xml:
virsh define /tmp/nom_VM.xml
6) Il ne reste plus qu’a démarrer notre domaine
Vérification finale :
virsh list # VM running sur la destination
virsh list --all # VM absente ou "shut off" sur la source (tu peux l’undefine après)
Une fois la migration validée sur l’hyperviseur source:
virsh undefine nom_VM
rm nom_VM.xml /var/lib/libvirt/images/nom_VM.qcow2
Cette méthode crée un dépôt local offline à partir de l’ISO DVD (BaseOS + AppStream). Elle est idéale pour les serveurs isolés (sans internet ni subscription Red Hat).Prérequis :
- Télécharge l’ISO DVD complet de RHEL 9 ou 10 (via ton compte Red Hat Developer gratuit pour les tests).
- Copie l’ISO sur le serveur (via USB, SCP, etc.).
1. Monter l’ISO
sudo mkdir /mnt/rhel-iso
sudo mount -o loop /chemin/vers/rhel-9.x-x86_64-dvd.iso /mnt/rhel-iso
(Remplace par ton chemin ISO et version : rhel-9.4-x86_64-dvd.iso ou rhel-10.0-x86_64-dvd.iso)
Vérifie (tu dois voir BaseOS et AppStream):
2. Copier le contenu de l’ISO (optionnel mais recommandé pour persistance)
sudo mkdir -p /var/local-repo/rhel
sudo cp -av /mnt/rhel-iso/* /var/local-repo/rhel/
3. Créer le fichier de configuration du dépôt
sudo vi /etc/yum.repos.d/local-rhel.repo
On y ajoute les lignes suivantes :
[local-baseos]
name=Local RHEL BaseOS
baseurl=file:///var/local-repo/rhel/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[local-appstream]
name=Local RHEL AppStream
baseurl=file:///var/local-repo/rhel/AppStream
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
4. Désactiver les dépôts officiels Red Hat (pour éviter les erreurs subscription):
sudo subscription-manager repos --disable=*
5. Nettoyer le cache DNF et tester
sudo dnf clean all
sudo dnf repolist
6. Installer un paquet pour tester
7. Démonter l’ISO
sudo umount /mnt/rhel-iso
sudo rmdir /mnt/rhel-iso
On commence par lister tous nos domaines:
virsh list --all
ID Nom État
----------------------------------------------------
- Centreon fermé
- generic fermé
- Ubuntu fermé
- win10 fermé
Ici nous voulons faire un snapshot du domaine « Ubuntu », nous allons donc regarder si il y a des snapshot existant pour ce domaine:
virsh snapshot-list --domain Ubuntu
Nom Creation Time État
------------------------------------------------------------
On vérifie si le fichier disque est bien au format qemu/qcow2:
virsh dumpxml Ubuntu | grep -i qemu
<driver name='qemu' type='qcow2' cache='none'/>
<driver name='qemu' type='qcow2'/>
Pour un domaine éteint:
virsh snapshot-create-as --domain Ubuntu --name "Snapshot_test" --description "Snapshot de test"
Domain snapshot Snapshot_test created
Pour un domaine en fonctionnement:
virsh snapshot-create-as --domain Ubuntu --name "Snapshot_test" --description "Snapshot de test" --live
Domain snapshot Snapshot_test created
On peut maintenant voir notre snapshot:
virsh snapshot-list --domain Ubuntu
Nom Creation Time État
------------------------------------------------------------
Snapshot_test 2018-03-14 20:39:53 +0100 shutoff
Pour restaurer le snapshot:
virsh shutdown --domain Ubuntu
virsh snapshot-revert --domain Ubuntu --snapshotname Snapshot_test --running
Pour supprimer le snapshot:
virsh snapshot-delete --domain Ubuntu --snapshotname Snapshot_test
Domain snapshot Snapshot_test deleted
Suite à la dernière mise à jour du client bittorrent Transmission (v2.93), impossible de le démarrer. Au bout d’une minute, le service tombe KO:
Mar 7 20:24:12 XXXX systemd[1]: transmission-daemon.service: Start operation timed out. Terminating.
Mar 7 20:24:13 XXXX transmission-daemon[1200]: Closing transmission session... done.
Mar 7 20:24:13 XXXX systemd[1]: transmission-daemon.service: Unit entered failed state.
Mar 7 20:24:13 XXXX systemd[1]: transmission-daemon.service: Failed with result 'timeout'.
On peut contourner le problème et démarrer transmission de cette façon:
sudo su -
vi /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
On va modifier le type de service via le paramètre « type » :
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=transmission
Type=notification
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
Qui devient:
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=transmission
Type=simple
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
On fait prendre en compte la modification par Systemd:
systemctl daemon-reload
On redemarre le service:
systemctl stop transmission-daemon
systemctl start transmission-daemon
Et là, ça fonctionne!
Recherche simple:
grep ext4 /etc/fstab
awk /ext4/ /etc/fstab
Recherche en ignorant la casse:
grep -i ext4 /etc/fstab
awk /ext4/ IGNORECASE=1 /etc/fstab
Compter le nombre d’occurrence:
grep -c ext4 /etc/fstab
awk '/ext4/{x++;}END{print x}' /etc/fstab
Liste des fichiers contenant le mot recherché:
grep -l ext4 *
awk '/ext4/{print FILENAME;nextfile}' *
Afficher le numéro des lignes contenant le mot recherché:
grep -n ext4 /etc/fstab
awk '/ext4/{print NR":"$0}' /etc/fstab
Recherche de plusieurs occurrences:
grep -E 'ext4|swap' /etc/fstab
awk '/ext4|swap/' /etc/fstab
Afficher les lignes qui ne contiennent pas le mot recherché:
grep -v ext4 /etc/fstab
awk '!/ext4/' /etc/fstab
Pour afficher les lignes contenant le mot rechercher ainsi que la ligne suivante:
grep -A1 ext4 /etc/fstab
awk '/ext4/{print;getline;print}' /etc/fstab
Pour afficher les lignes contenant le mot rechercher ainsi que la ligne précédente:
grep -B1 ext4 /etc/fstab
awk '/ext4/{print x;print;next}{x=$0;}' /etc/fstab
Pour afficher les lignes contenant le mot rechercher ainsi que la ligne précédente et la ligne suivante:
grep -C1 ext4 /etc/fstab
awk '/ext4/{print x;print;getline;print;next}{x=$0;}' /etc/fstab