Bien copier ses VMs / astuce sauvegarde

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 353
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

Bien copier ses VMs / astuce sauvegarde

Message par le Manchot Masqué » mar. 19 déc. 2017, 02:34

On a beau avoir de la bouteille, on découvre tous les jours de nouvelles subtilités sous notre OS préféré.
Imagez que vous ayez la chance d'avoir deux SSD sous la main, et que vous voulez copier les VMs du SDD1 vers le SSD2.
Normalement, la commande en console serait quelque chose du genre :

Code : Tout sélectionner

cp -a chemin_SSD1/VMs/src/* chemin_SSD2/VMs/dst/
Oui mais... non !Les images de nos machines virtuelles sont elles aussi... virtuelles !
Prenons une machine virtuelle KVM créée en assignant un disque dynamique de 20Go, mais n'occupant réellement que 6Go. La place disque réelle occupée sera de 6Go sur disque dur, et pourtant, si je fais un

Code : Tout sélectionner

ls -l ma_vm.img
le système me renvoie bien les 20 Go !
Et là : c'est le drame !
Avec ma commande cp précédente, je vais copier les 20Go "bestialement" sur la destination au lieu des 6Go de la source !
Pour corriger les choses, il suffit alors de faire un

Code : Tout sélectionner

cp -a --sparse=always chemin_SSD1/VMs/src/* chemin_SSD2/VMs/dst/
qui lui va détecter les fichiers de machines virtuelles, et les copier correctement côté destination.

Il semble qu'rsync ait le même problème : de ce que j'ai lu (mais pas encore testé, donc à prendre avec des pincettes), il faudrait utiliser les options --ignore-existing --sparse pour la première copie, puis --inplace les fois suivantes.
Si quelqu'un a envie de s'amuser... :)

Répondre