Catégorie : Ligne de commande

27 avril 2018 /

1) Pour commencer nous allons arrêter le domaine que nous souhaitons migrer

virsh shutdown nom_VM

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

virsh start nom_VM
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

 

 

16 mars 2018 /

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

7 mars 2018 /

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!

27 février 2018 /

Avec wget qui va interrogé sera checkip.dyndns.org:

wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1

Avec dig qui va interrogé OpenDNS.com:

dig +short myip.opendns.com @resolver1.opendns.com

Avec cURL qui va interrogé ifconfig.me avec l’outil cURL:

curl ifconfig.me

23 février 2018 /

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