Skip to content
2011/03/09 / vpourchet

VirtualBox : Les fichiers de disques durs virtuels (VDI)

Je reçois pas mal de questions concernant les fichiers de disques durs virtuels VirtualBox (.vdi). Voici donc un article qui permettra d’en apprendre un peu plus sur ces fichiers. Je passerai outre la description des disques durs physiquement parlant qui servent à stocker les données et installer l’OS.

Les contrôleurs

Ces fichiers à quoi correspondent-ils ? Tout simplement à un disque dur physique, que l’on rattache à un contrôleur virtuel dans VirtualBox. Différents contrôleurs virtuels existent :

  • Serial ATA (SATA/AHCI) : Le dernier né des contrôleurs de stockage, qui contrairement à son prédécesseur IDE n’impose aucune restriction quant au nombre de périphériques qui peuvent lui être rattachés. De plus ils sont Hot-plug et permettent d’ajouter/supprimer des disques à chaud sans éteindre le système d’exploitation. Ils peuvent être configurés en mode AHCI ou Advanced Host Controller compatibility mode ou en mode de compatibilité IDE (pour les OS ne supportant pas le AHCI). Les contrôleurs SATA fonctionnent plus vite, consomment moins de ressources et le nombre de disques virtuels maximum en SATA supportés par Virtualbox est de 30.
  • IDE (ATA) : Les contrôleurs ATA ont fait leur apparition dans les années 80. Ils sont aujourd’hui plus ou moins en voie d’extinction sauf (et encore …) en ce qui concerne les lecteurs de CD-Rom. Par défaut VirtualBox présente le lecteur de CD-ROM sur un contrôleur IDE. Il est possible d’y ajouter 3 périphériques (portant le tout à 4) sachant que le troisième (secondary master) est configuré pour supporter le lecteur de cd-rom. Les différents types de contrôleur IDE (PIIX3, PIIX4,ICH6) n’impactent pas les performances mais peuvent être utiles dans le cadre de l’import d’une appliance virtualisée qui crasherait au démarrage (problème de HAL etc …).
  • SCSI : ou Small Computer System Interface, apparu en 86 et de nos jours encore pas mal utilisé pour tout ce qui touche aux serveurs. Deux types de contrôleurs sont émulés par VirtualBox (LSI Logic et BusLogic SCSI avec chacun une limitation à 15 périphériques virtuels). Attention, les OS Windows 2003 et ultérieurs supporteront le type LSI Logic et les NT 4.0 et autres 2000 supporteront le type BusLogic SCSI.
  • SAS (Serial Attached SCSI): un autre type de contrôleur basé sur les commandes SCSI, mais qui utilise des périphériques en série et non en parallèle. Le SAS est au SCSI ce que le SATA est à l’IDE : plus rapide et moins pompeux en ressources. Le contrôleur SAS de virtualbox supporte jusqu’à 8 périphériques virtuels.

En résumé :

  • IDE : 4 périphériques dont 1 CD-Rom.
  • SATA : 30 périphériques (compatibilité ide ou AHCI).
  • SCSI : 15 périphériques.
  • SAS : 8 périphériques.

Notions sur la taille des VDI

La taille des fichiers de disques peut-être une problématique importante, nous allons voir pourquoi. Deux options sont possibles quant à la taille des VDI :

  • Dynamically Expending (ou image à taille dynamique) : créé avec une taille minimale, le fichier grossit petit à petit a chaque nouvelle donnée insérée sur le disque jusqu’à atteindre la taille maximale définie par l’utilisateur.
  • Fixed-size (ou image à taille fixe) : Le fichier est créé dès le départ avec l’espace total renseigné et pré-alloué sur le disque physique.

Lequel choisir ? Question délicate ! Les avantages du dynamique sont appréciables certes, on peut allouer plus que physiquement présent ce qui permet de faire du provisionning sur le stockage et n’augmenter l’espace physique que lorsque cela est nécessaire. A l’inverse les opérations d’I/O sur le disque sont plus lentes et peuvent entrainer des ralentissements en écriture. Le fixe quant à lui n’est pas sujet à ces ralentissements, en revanche une mauvaise allocation (sur-allocation) entraînera un espace de stockage jamais utilisé, qui aura un cout non négligeable et ne sera pas disponibles pour d’autres VMs qui pourraient en avoir besoin.

 

Normal, Immutable, Shareable, multiattach ou Write-Through ?

Différents sous-types de disques existent, le plus utilisé est le ‘normal’ mais il est bon de savoir que deux autres existent.

  • Normal : Le type par défaut, toutes les opérations d’I/O sont effectuées sur le VDI et sont persistantes, ce disque ne peut-être alloué qu’à une VM à la fois. Il convient à une utilisation que je qualifierais de standard.
  • Immutable : Le contenu du disque est en read-only, les données écrites sont écrites sur un disque différentiel (tel un snapshot) et ne sont pas mergées au reboot ou au power-off de l’OS, l’image immutable est donc ‘immodifiable’ et peut être allouée à plusieurs VMs à la fois (pas d’acces concurrents en écriture comme les écritures sont faites sur fichier séparé). Pour moi ce type de disque convient très bien à une utilisation de type démo (démo logicielle ou autre).
  • Write-through : Disques en lecture/ecriture (donc pour une VM à la fois) mais dont les écritures sont effacées au reboot/power-off.
  • Shareable : disques writte-through mais pouvant-être partagés entre plusieurs machines virtuelles. Utile pour les systèmes de fichiers en cluster par exemple. Ce type n’est disponible que pour les disques en taille fixe.
  • Multiattach : un disque placé en multiattach pourra être alloué à plusieurs machines virtuelles à la fois, chaque vm écrira sur un fichier différentiel qui ne sera pas mergé, chaque VM voit ainsi sa propre version du disque Multiattach et n’est pas affectée par les changements sur les autres VMs.

 

Pour modifier le type d’un disque virtuel je vous invite à utiliser l’utilitaire en ligne de commande VBoxManage fournit avec VirtualBox.

 

J’espère que ces notions vous auront permises de comprendre mieux le fonctionnement des disques virtuels sous virtualbox.

 

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :