J'ai vdi avec un certain nombre d'instantanés pris - par exemple, 50 ou 70 instantanés. Je veux avoir un vdi simple avec un état actuel. Ces instantanés prennent beaucoup trop d'espace disque et ne sont pas nécessaires en tant qu'instantanés.
Je sais que si j'appelle
VBoxManage clonehd thedisk.vdi thedisk-full.vdi
(50-70 times) VBoxManage clonehd {uuid-of-snapshot}.vdi thedisk-full.vdi --existing
Je vais obtenir ce que je veux. Mais cela prend très très longtemps (plus de 5 heures compte tenu de mon matériel et de la taille de disque initiale de 16 Go).
Et, bien sûr, j'ai essayé VBoxManage snapshot delete
et c'est étrange: ne fonctionne pas sur une machine arrêtée, peut échouer sur une machine en cours d'exécution et s'il échoue une fois, tous les appels suivants échouent.
Y at-il un moyen de faire vdi plaine de plusieurs instantanés - plus rapidement?
$ VBoxManage --version
3.2.14r75509
(demandé sur ServerFault mais décidé que cet endroit est plus approprié pour cette question)
la source
Réponses:
Trouvé la solution. C'est aussi simple que la dernière étape des commandes que j'ai écrites ici. C'est à dire
Je ne devrais donc cloner que le dernier instantané, pas tous les instantanés de la chaîne. Et c'est des milliers de pour cent plus vite.
L'uuid peut être trouvé de
VBoxManage list hdds | grep VmName | tail
Dans l'interface graphique (sous Windows), sélectionnez la machine virtuelle, sélectionnez Instantanés en haut à droite, cliquez avec le bouton droit de la souris sur l'instantané souhaité, sélectionnez Cloner ... et sélectionnez Full Clone dans la boîte de dialogue.
la source
thedisk-full.vdi
fichier sur le disque, veuillez d’abord changer le nom de la commande en quelque chose commethedisk-full-new.vdi
.tail -1
"?clonehd
obsolète et laissé pour compatibilité, utilisezclonemedium
plutôt.Voici une technique (testée sur VirtualBox 4.3.4) qui utilise la commande 'Cloner' pour fusionner et compacter tous les instantanés en une nouvelle machine virtuelle contenant un seul fichier VDI:
Renommez la machine virtuelle pour pouvoir réutiliser son nom actuel pour la machine virtuelle clonée (vous pouvez modifier le nom de la machine virtuelle à partir de l'onglet "Base" des paramètres "Général").
Cliquez avec le bouton droit sur la machine virtuelle et exécutez la commande 'Cloner ...':
Supprimez l'ancienne machine virtuelle (cliquez avec le bouton droit de la souris sur la machine virtuelle et exécutez la commande 'Supprimer ...').
la source
Vous pouvez essayer d' exporter vers OVF , puis de réimporter le fichier généré.
Comme expliqué ici :
En conséquence, vous aurez une machine virtuelle clonée avec l'état actuel sans autres instantanés.
la source
Cette opération signifie lire et écrire de très gros fichiers sur le même disque physique. La seule façon d'accélérer ce processus consiste à placer ces fichiers sur différents disques en modifiant les chemins d'accès de votre commande VBoxManage. Si la machine ne possède qu'un seul disque, vous pouvez utiliser un lecteur USB externe ou même un disque d'une autre machine via un partage réseau (en fonction de la vitesse de votre réseau).
la source
Certains ont un réseau local 10 Gbits / s, ce qui permet de transférer plus d’un giga-octet par seconde.
Certains ont un réseau local de 1 Gib / s, ce qui permet de transférer plus de 100 mégaoctets par seconde. Ce ne sera donc pas un goulot d'étranglement (à moins que vous n'ayez un disque SSD très rapide).
Les disques mécaniques, lorsqu'ils sont lus et écrits sur le même disque au même moment (ou très fragmentés), diminuent de près de 20 mégaoctets par seconde, tandis que sur des lecteurs non fragmentés uniquement en lecture ou en écriture peuvent atteindre plus de 100 mégaoctets par seconde.
Vous dites que le réseau local doit être plus lent, mais pas l’USB (2.0, sans parler de 1.1 ou 1.0), c’est beaucoup plus lent.
Ce que je suggérerais serait: Utilisez USB 3.1 Gen2 Type C ou un eSATA / SATA / SAS
Mais toujours: Utilisez un deuxième disque assez rapide.
Et toujours: cloner sur un autre disque et recopier le fichier est beaucoup plus rapide que d’utiliser un seul disque sauf s’il s’agit d’un disque dur SSD ou d’un disque dur doté de plusieurs bras indépendants (ils peuvent lire et écrire simultanément sur deux disques). endroits de surface, chaque tête a son propre bras, très cher, environ> 9876 €).
Le mieux est de cloner uniquement le disque dur virtuel de l'état souhaité, puis de vérifier son bon fonctionnement, puis de restaurer le niveau supérieur (supprime tous les instantanés), puis de retirer le disque dur en stockage et de le connecter.
Alors, étapes, pour perdre tous les anciens états sur un schéma sans instantané:
Mais gardez toujours à l'esprit que les instantanés peuvent être comme une arborescence complète, un nœud peut avoir plus d'un enfant, chaque enfant peut avoir plus d'un enfant, etc.
Pour travailler avec des arbres d'instantanés, pensez toujours à supprimer comme supprimer un noeud sans affecter le reste des noeuds enfants de niveau, processus si lent) et sur RESTORE comme détruisant tous ses enfants sur tous les sous-niveaux (perdre tous les états après celui que vous restaurez, il ne supprime que les fichiers, processus donc très rapide, en quelques secondes).
C'est!
PD: Comment les noms horribles que VBOX a donnés à ces deux opérations (supprime un seul nœud = DELETE; supprime tous les nœuds enfants de tous les sous-niveaux = RESTORE)
la source