Le remplissage à zéro augmentera-t-il la taille de l'image du disque dynamique de virtualbox

10

J'ai principalement utilisé des images de disque de taille fixe pour Oracle virtualbox, mais j'envisage de passer à des images de disque dynamiques car j'ai entendu dire que les images dynamiques ont des performances similaires aux images de taille fixe, sauf lors de l'expansion.

Cependant, une opération que je fais beaucoup consiste à remplir à zéro une image disque de taille fixe avant de la sauvegarder à l'aide d'un programme zip (pour réduire la taille de l'archive zip). Ma question est la suivante: lorsque je remplis à zéro un disque dynamique, la taille du disque augmentera-t-elle jusqu'à sa valeur maximale déclarée? (Pour mon cas spécifique, j'utilise sdelete -zsur des partitions Windows.)

Une autre question est: existe-t-il un moyen de remplir à zéro les partitions sans augmenter la taille du disque?

Merci.

-- ÉDITER --

Pour clarifier, la raison pour laquelle je demande, c'est que je veux garder la taille des images de Virtualbox compressées au minimum. Remplir zéro d'une image de taille fixe fait le travail car la partie remplie de zéro ne contribue presque rien à l'image compressée. Cependant, si je passe au disque dynamique, le remplissage à zéro semble aller à l'encontre du but d'utiliser des images de taille dynamique.

La deuxième partie de ma question demande vraiment s'il existe une meilleure alternative que le remplissage à zéro qui peut supprimer les secteurs inutilisés sans augmenter la taille du disque.

tinlyx
la source
1
oui, un disque à allocation dynamique entièrement alloué sera sa taille entièrement allouée. Je ne suis pas tout à fait sûr de la confusion, ni de raison pour faire ce que vous décrivez, mais non, vous ne pouvez pas mettre un tas de données (bien que tous les 0) dans un fichier et ne pas vous attendre à sa taille changer.
Frank Thomas
@FrankThomas Veuillez consulter ma mise à jour pour connaître la raison du remplissage nul.
tinlyx
1
@tinlyx Je viens de répondre et il semble que j'ai également répondu à votre modification dans ma réponse, vous pouvez réellement compacter les images de disque dynamique à l'aide des outils de virtualbox. Un zerofill suivi d'un compact ferait donc une image parfaite à des fins d'archivage.
Mokubai

Réponses:

12

Je viens de le tester (à l'aide sdelete -zd'une machine virtuelle) et le fait de remplir le disque à zéro n'augmentera pas sensiblement la taille de l'image de disque dynamique. Virtualbox est suffisamment intelligent pour reconnaître que lorsque vous écrivez des zéros dans un bloc déjà vide, le disque n'a pas besoin de réécrire le bloc.

Mais même si c'est le cas, ce n'est pas trop mal, car le remplissage nul du disque fera également vous permettre de le compacter à nouveau en utilisant les outils Virtualbox dans votre hôte: Comment compacter la taille du fichier VDI de VirtualBox?

Lorsque j'ai rempli ma machine virtuelle, la taille de l'image est passée de ~ 14,5 Go à ~ 15,5 Go mais n'a pas alloué complètement tout l'espace disque, qui aurait été d'environ 48 Go.

En fait zéro remplir le disque (via sdelete -z) vous permettra de libérer correctement tout espace qui a été écrit mais qui a depuis été libéré par votre système d'exploitation VM, alors vous pouvez exécuter la commande VBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compactsur votre machine hôte pour compacter correctement l'image du disque dynamique revenir à sa taille minimale.

Mokubai
la source
Merci. En effet, sdelete -zn'augmente pas beaucoup la taille dynamique du disque.
tinlyx