Dois-je défragmenter le disque dur exécuté sur une machine virtuelle?


18

Je sais qu'il est inutile (en fait, c'est une mauvaise idée) d'exécuter Defrag sur un SSD. Qu'en est-il d'une machine virtuelle fonctionnant sur un SSD, dois-je défragmenter son disque dur car il accède essentiellement au disque dur de la même manière?


Aucune idée pourquoi c'est sur SO, mais cela pourrait être pertinent: stackoverflow.com/questions/281527/…
Der Hochstapler

VSS peut entraîner une augmentation du stockage si vous n'utilisez pas de défragmenteur compatible VSS.

Uniquement si l'option de défragmentation fait partie de votre logiciel de virtualisation.
qasdfdsaq

Réponses:


14

Je défragmente mes disques durs virtuels mais pour des raisons d'espace, pas de temps:

J'utilise l'option allouée dynamiquement pour les disques durs virtuels, donc ils commencent petit et se développent selon les besoins. Mais à mesure que le disque dur virtuel (pas nécessairement les fichiers) devient fragmenté, il se développe pour inclure tous les blocs alloués. La défragmentation du disque dur virtuel est la première étape pour le compacter à nouveau.


Le facteur d'espace peut être pertinent car la machine virtuelle est sur un SSD, bien qu'en général, rien de défragmenter sur un SSD n'est nécessaire pour des raisons de performances et est déconseillé.
Bigbio2002

3

Il n'est pas nécessaire de défragmenter un SSD. Un disque dur ordinaire doit tourner pour trouver (les parties de) fichiers. Un SSD est comparable à la RAM, tous les fichiers peuvent être atteints avec le même délai.

Wikipedia déclare que "les performances de lecture ne changent pas en fonction de l'emplacement de stockage des données sur un SSD"


Veuillez fournir un lien vers l' article Wikipédia .
wizlog

1
@wizlog Voila;)
Simon Verbeke

2

Ceci est mon opinion uniquement, je n'ai pas de résultats de test pour le confirmer. Voici une approximation approximative de la façon dont les choses se produisent probablement:

Réel OS:

  1. L'application demande des données X (rapide)
  2. Le système d'exploitation demande au pilote de disque les données X (rapide)
  3. Le disque physique récupère les données X et les renvoie au système d'exploitation ( lent s'il est fragmenté )

Voici la chaîne de commandement équivalente dans une machine virtuelle:

  1. L'application VM demande des données X (rapide)
  2. VM OS demande des données X (rapide)
  3. L'hôte VM demande au vrai système d'exploitation de stocker les données X dans un fichier de disque virtuel (rapide)
  4. Real OS demande au pilote de disque d'obtenir les données X (rapide)
  5. Le disque physique récupère les données X et les renvoie au système d'exploitation ( lent si fragmenté ).

Comme vous pouvez le voir, dans les deux cas, la fragmentation ne devient vraiment un problème qu'au stade de l'opération où le disque dur physique essaie de lire les données, et cela se produit dans le système d'exploitation réel, en dehors du contexte de la machine virtuelle. Avant cela, tout se passe probablement dans la mémoire.

En conclusion, puisque nous savons que les SSD ne souffrent pas de fragmentation dans le vrai système d'exploitation et que le problème de fragmentation dans une machine virtuelle ne se produit probablement qu'à la dernière étape physique de l'opération, je suppose que la défragmentation de votre système d'exploitation virtuel ou du Le fichier de disque virtuel dans votre système d'exploitation principal n'améliorerait pas les performances sur un SSD, tout en étant aussi préjudiciable / inutile que la défragmentation de votre système d'exploitation réel.

Edit: Et si c'est correct, c'est une sacrée bonne raison de mettre une VM sur un SSD! Sur un disque dur, la fragmentation à n'importe quelle étape (système d'exploitation invité, fichier de disque virtuel, système d'exploitation réel) rompra la linéarité et provoquera une fragmentation à l'étape du disque physique.


2

Que votre machine virtuelle accède à des données stockées sur un disque dur magnétique traditionnel ou un SSD électronique, la fragmentation des fichiers et de l'espace libre Windows NTFS ralentit la vitesse d'accès des applications qui demandent des données. La fragmentation des fichiers NTFS et de l'espace libre se produit beaucoup plus fréquemment que vous ne le pensez. Cela peut se produire dès que vous installez le système d'exploitation. Cela peut se produire lorsque vous installez des applications ou des mises à jour du système, accédez à Internet, téléchargez et enregistrez des photos, créez des e-mails, des documents de bureau, etc. toutes les performances des applications et du système. À mesure que la fragmentation se produit, le système informatique et le stockage sous-jacent effectuent plus de travail que nécessaire. Chaque demande d'E / S prend un temps mesurable. Même dans les environnements SSD, une demande d'E / S «instantanée» n'existe pas. Chaque fois qu'une application demande à lire ou à écrire des données et que cette demande est divisée en demandes d'E / S supplémentaires, cela entraîne plus de travail. Ce travail supplémentaire entraîne un retard juste à ce moment précis.

Les disques durs se sont accélérés au fil des ans, mais les processeurs aussi. En fait, l'écart entre la différence de vitesse entre les disques durs et le CPU s'est en fait élargi. Cela signifie que les applications peuvent obtenir de nombreux cycles de processeur, mais elles meurent toujours de faim pour obtenir les données du stockage. De plus, la quantité de données stockées a considérablement augmenté. Pensez à toutes ces photos numériques prises et partagées pendant les vacances. Chaque photo a une taille d'environ 1 Mo, elle dépasse maintenant 15 Mo par photo et certaines vont bien au-delà. Le montage vidéo, le rendu et le stockage de films numériques sont également devenus très populaires et, par conséquent, les applications manipulent des centaines de gigaoctets de données. Avec des tailles de cluster de disques typiques de 4 ko, un fichier de 15 Mo pourrait potentiellement être fragmenté en près de 4 000 extensions. Cela signifie un supplément de 4, 000 demandes d'E / S disque sont nécessaires pour lire ou écrire le fichier. Quel que soit le type de stockage, l'opération prendra simplement plus de temps.

Le placement physique des données sur un SSD n'a pas vraiment d'importance comme il le fait sur les disques durs magnétiques ordinaires. Avec un SSD, il n'y a pas de latence de rotation ou de recherche de temps. De nombreux experts supposent que la fragmentation n'est plus un problème, mais la vitesse d'accès aux données des applications n'est pas seulement définie en ces termes. Chaque demande d'E / S effectuée prend un temps mesurable. Les SSD sont rapides, mais ils ne sont pas instantanés. Le système de fichiers Windows NTFS ne se comporte pas différemment car le stockage sous-jacent est un SSD vs un disque dur et par conséquent la fragmentation se produit toujours. La réduction des E / S inutiles en empêchant et en supprimant la fragmentation réduit le nombre de demandes d'E / S et, par conséquent, accélère le temps de réponse des données d'application et améliore la durée de vie globale du SSD. En substance,

De plus, les SSD exigent que les anciennes données soient effacées avant que de nouvelles données soient écrites dessus, plutôt que de simplement écraser les anciennes informations comme avec les disques durs. Cela double l'usure et peut entraîner des problèmes majeurs avec les performances de vitesse et la durée de vie du SSD. La plupart des fabricants de disques SSD disposent de technologies de mise à niveau d'usure très sophistiquées pour y parvenir. Le problème principal est la dégradation de la vitesse d'écriture due à la fragmentation de l'espace libre. Les petits espaces libres dispersés sur le SSD obligent le système de fichiers NTFS à écrire un fichier en morceaux fragmentés dans ces petits espaces libres disponibles. Cela a pour effet de provoquer un trafic d'E / S aléatoire plus lent que les opérations séquentielles.

J'ai des résultats de référence pour étayer cela. Si vous le souhaitez, postez un commentaire, demandez ces résultats, et je serais heureux de les partager avec vous.


Howard Butler, vous êtes nouveau sur ce site, bienvenue. En général, il est vraiment déconseillé de publier des informations personnelles sur Internet.
wizlog

@wizlog Il n'y a rien de mal à publier des informations personnelles sur Internet si les informations vous appartiennent. Cependant, à des fins sur StackExchange, la publication de vos coordonnées ou de votre «signature» dans une réponse est redondante. Les utilisateurs peuvent cliquer sur votre profil pour plus d'informations s'ils le souhaitent.
iglvzx

@iglvzx Je composais juste un commentaire qui suggérerait essentiellement la même chose ... Comme recommandé par cette réponse.
wizlog

2

En ce qui concerne la question initiale d'une défragmentation traditionnelle d'un SSD, je conviens que c'est une mauvaise idée, mais il existe des solutions spécifiques qui répondent aux problèmes de mouvement de fichier et de durée de vie du SSD.

Une machine virtuelle qui exécute Windows comme système d'exploitation, la fragmentation se produira toujours et l'effet combiné du trafic d'E / S supplémentaire réduira la vitesse et l'efficacité non seulement des systèmes invités, mais aussi de l'hôte. Microsoft et VMware recommandent tous deux de remédier à la fragmentation au niveau invité.

Voici pourquoi…

  1. L'application demande des données X

  2. La demande est traitée par NTFS.sys

  3. Les attributs de fichier sont examinés ($ MFT) et si les données ne sont pas contenues dans une seule extension (fragment), des demandes d'E / S supplémentaires sont créées pour chaque extension / fragment afin de satisfaire la demande de données d'origine.

  4. Chacune de ces demandes est ensuite envoyée au pilote de stockage sur disque.

  5. Une fois les données récupérées, elles sont retransmises dans la pile à l'utilisateur / à l'application.

Chaque machine virtuelle Windows envoie ce type de trafic d'E / S au système hôte. Si la structure du système de fichiers est fragmentée au niveau de la machine invitée / virtuelle, cela se traduit par un trafic d'E / S supplémentaire et inutile devant être géré par l'hôte et agrégé le stockage backend. Cela devient encore plus complexe à mesure que vous ajoutez de plus en plus de machines virtuelles. En fait, vous pouvez avoir une fragmentation au sein de la fragmentation au niveau du système de fichiers hôte.

Que les données soient stockées sur un SSD ou un disque dur traditionnel, si vous exécutez Windows, le système de fichiers NTFS sera fragmenté et, par conséquent, vous n'atteindrez jamais la vitesse et le débit nominal du fabricant en raison du fichier NTFS et de la fragmentation de l'espace libre. Les effets peuvent être mesurés via PerfMon en examinant la longueur moyenne de la file d'attente de lecture du disque, la longueur moyenne de la file d'attente d'écriture et, plus important encore, la division des E / S.


1

À partir de Windows Server 2008 et Windows Vista, soyez prudent avec la tâche de défragmentation planifiée par défaut de Windows.

Il peut être désactivé avec: schtasks /change / tn “microsoft\windows\defrag\ScheduledDefrag” /disable

ou en utilisant PowerShell:

Get-ScheduledTask ScheduledDefrag | Disable-ScheduledTask

Extrait de: http://www.sysadmit.com/2015/10/vmware-y-gpo-defrag-windows.html


0

Je viens de défragmenter une machine virtuelle VMLite XPMode à l'aide de la défragmentation de fenêtres hébergée sur 240 Go INTEL SSDSC2CW240A3.

Taille de VM pré-défragmentée sur l'hôte - 7,83 Go (espace utilisé sur C: sur VM, 5,81 Go sur 121 Go)

Post-défragmentation - 9,86 Go (espace utilisé sur C: sur VM, 5,80 Go sur 121 Go)

Pas le résultat que j'attendais et j'ai restauré la version pré-défragmentation.


-1

Non, pas vraiment. Il y a des trucs comme "Hyperfast" de Diskeeper, mais je n'ai aucune idée de l'efficacité de ces technologies. (C'est peut-être juste une arnaque afin qu'ils ne tombent pas sur le marché après que le SSD sera devenu courant.)


Hyperfast, sonne comme une sauce magique.
Jafin
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.