Page 1 sur 1

Bien copier ses VMs / astuce sauvegarde

Publié : mar. 19 déc. 2017, 02:34
par le Manchot Masqué
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... :)