Les performances du format VHD

Le format de fichier VHD initialement crée en 2003 a bien évolué depuis. Ce format encapsule une image disque dur et est  utilisé par Hyper-V, Virtual PC / Server, ou Windows 7 pour la fonction VHD Boot ou le montage en local (à l’aide de la DLL virtdisk.dll). Un fichier VHD peut être configuré de 3 façons différentes: taille fixe, dynamique ou différentielle. Voyons maintenant les performances de ce format de fichier.

VHD – Taille Fixe

Ce paramétrage alloue immédiatement l’espace disque au moment de la création. Exemple: un VHD de 2 Go prendra à sa création 2 Go. Il est néanmoins possible d’agrandir sa taille (offline) mais pas de la réduire ! Ce paramétrage offre les meilleures performances

VHD – Taille dynamique

Ce paramétrage alloue dynamiquement l’espace disque au fur et à mesure de l’utilisation réelle. Exemple: un VHD de 2 Go prendra à sa création quelques Ko seulement au lieu de 2 Go. Du fait de l’allocation de bloc dynamique, les performances sont inférieures à la configuration de type FIXE.

VHD – Différentiel

Ce paramétrage représente un ensemble de blocs modifiés par rapport à un VHD existant. Le VHD existant peut être dynamique ou fixe. Le but est de protéger le VHD précédent contre tout changement éventuel.

VHD – Limitations

  • Les fichiers VHD doivent résider sur une partition NTFS (évitez le FAT32 même si la taille du VHD le permet)
  • Depuis 2008 R2, il n’est pas possible d’utiliser un VHD dans un dossier compressé !
  • un VHD ne peut excéder 2048 Go soit 2 To

Benchmarks

Le matériel utilisé:

  • SERVEUR => 2x Quad-Core 2.2 Ghz – 6 Go de mémoire vive – 1 To SATA en RAID-0
  • STOCKAGE => Dell PowerVault MD1000 -15 disques 15k – 146 Go et 16 Mo de cache en RAID-0

CONCLUSION

Les benchmarks sont issus du document de Anthony F. Voellm & Liang Yang, disponible ici. Je ne pense pas conclure quoique ce soit ici, tout dépend du type d’application et du paramétrage associé. Néanmoins quelques constats s’imposent:

  • Disk-pass-trough (RAW)
    • Très rapide – couche d’accès E/S minimale – utilisation CPU minimale
    • Pas de snapshot – disque exclusif à une VM – Hyper-V VSS writer indisponible
  • Taille FIXE
    • offre les meilleures performances – robuste – manipulation aisée – pas de soucis d’espace disque
    • Pas de réduction de taille possible – temps à la création long (Windows 2008: 50 Mbps – Windows 2008 R2: 410 Mbps)
  • Taille dynamique
    • Bonne performance – création rapide – allocation dynamique – compactage possible
    • Problème d’alignement possible (métadonnées vs blocs) – performance en écriture en retrait

Vous trouverez plus d’informations ici

http://blogs.msdn.com/tvoellm/archive/2009/08/05/what-s-new-in-windows-server-2008-r2-hyper-v-performance-and-scale.aspx

http://technet.microsoft.com/en-us/virtualserver/bb676673.aspx

http://technet.microsoft.com/en-us/library/dd440865(WS.10).aspx