À propos des volumes

Les volumes sont des disques durs virtuels que vous pouvez attacher à une instance FCU créée dans la même Availability Zone afin de stocker des données. Un volume est défini par sa taille et sa capacité d’IOPS.

Volumes et instances

Lorsque vous créez une instance, un volume est automatiquement créé et attaché à celle-ci afin de stocker l’ensemble des données relatives au système d’exploitation (operating system - OS). Ce volume est appelé volume système et apparaît dans votre compte. Les volumes système ont une taille par défaut de 10 Gio pour les instances Linux (8 Gio pour les instances CentOS 7), et de 50 Gio pour les instances Windows. Vous pouvez stocker des données sur un volume système. En revanche, selon le block device mapping de l’OUTSCALE machine image (OMI) utilisée pour créer l’instance, ce volume système peut être supprimé lorsque vous terminez l’instance.

Pour ajouter de la capacité de stockage à vos instances ou pour séparer vos données des fichiers de l’OS, vous pouvez créer des volumes avec la capacité de stockage de votre choix (dans les limites des quotas alloués à votre compte).

Les volumes sont placés dans une Availability Zone (AZ). Si vous ne spécifiez aucune AZ, l’AZ A est utilisée par défaut.

Vous pouvez attacher un volume à n’importe quelle instance au sein de cette AZ, dans le Cloud public ou dans un Virtual Private Cloud (VPC). Lorsqu’un volume est attaché à une instance, celui-ci fonctionne comme un disque dur physique et peut-être utilisé de la même façon, après l’avoir initialisé comme vous l’auriez fait avec un disque dur physique. L’instance peut ensuite interagir avec le volume et ainsi accéder à vos données. Lorsque vous arrêtez une instance, les volumes qui lui sont attachés restent attachés à celle-ci et vous pouvez ainsi y accéder à nouveau une fois l’instance redémarrée.

La persistance d’un volume est indépendante du cycle de vie de l’instance : un volume peut facilement être détaché d’une instance à laquelle il était précédemment attaché, puis attaché à une autre instance. Lorsque vous terminez une instance, les volumes qui lui sont attachés sont soit supprimés ou détachés selon le block device mapping de l’instance. Pour en savoir plus, voir Définir des block device mappings.

Vous pouvez attacher jusqu’à 40 volumes (y compris le volume système) à une même instance. Cependant, un volume ne peut être attaché qu’à une seule instance à la fois.

Un volume peut être dans un des états suivants :

  • creating : Le processus de création du volume est en cours.

  • available : Le volume est créé mais pas attaché à une instance. Un volume est dans l’état available même si des données sont stockées sur celui-ci.

  • in-use : Le volume est attaché à une instance. Un volume est dans l’état in-use même si l’instance à laquelle il est attaché est arrêtée.

  • deleting : Le processus de suppression du volume est en cours.

  • error : La création du volume a échoué.

Pour identifier vos ressources plus facilement, vous pouvez leur ajouter des tags. Pour en savoir plus, voir Ajouter ou retirer des tags.

Attachement des volumes et noms de périphériques

Vous devez toujours attacher et monter le volume système (bootdisk) d’une instance en utilisant le nom de périphérique /dev/sda1, même si celui-ci apparaît en tant que /dev/vda1 dans l’instance elle-même. Pour tous les autres volumes que vous attachez à une instance, vous devez utiliser un nom de périphérique au format /dev/xvdX ou /dev/xvdXX (où le premier X est une lettre entre b et z, et le second X une lettre entre a et z).

Les OMI non officielles doivent supporter le PCI Hotplug. Sinon, le volume n’est pas visible lorsque vous l’attachez à une instance. Vous devez rebooter l’instance et ajouter les modules suivants aux fichiers /etc/modules :

  • pci-hotplug

  • acpiphp

Instances Linux

Pour les instances Linux, le nom de périphérique en /dev/xvdX ou /dev/xvdXX que vous choisissez pour vos volumes est transformé par Linux en nom de périphérique en /dev/sdY ou /dev/sdYY, suivant l’ordre dans lequel vous attachez vos volumes à l’instance. Deux packages OUTSCALE pour les instances CentOS et Ubuntu permettent de lier les noms de périphériques en /dev/xvdX ou /dev/xvdXX aux noms de périphériques Linux en /dev/sdY ou /dev/sdYY. Vous pouvez voir ces liens lorsque vous listez les périphériques depuis votre instance Linux dans le répertoire /dev :

Exemple de liste des périphériques
$ ls -l /dev/[svx][vd]*
brw-rw---- 1 root disk   8,  0 30 mai   14:40 /dev/sda
brw-rw---- 1 root disk   8, 16 30 mai   14:41 /dev/sdb
brw-rw---- 1 root disk 253,  0 30 mai   14:16 /dev/vda
brw-rw---- 1 root disk 253,  1 30 mai   14:16 /dev/vda1
lrwxrwxrwx 1 root root       3 30 mai   14:41 /dev/xvdd -> sdb
lrwxrwxrwx 1 root root       3 30 mai   14:40 /dev/xvdh -> sda

Le fichier /etc/fstab de votre instance Linux doit être configuré avec des noms de périphériques au format /dev/xvdX et /dev/xvdXX.

Instances Windows

Dans une instance Windows, les volumes sont numérotés selon l’ordre dans lequel vous les avez attachés, indépendamment du nom de périphérique en /dev/xvdX ou /dev/xvdXX que vous choisissez. Le volume système est numéroté 0, le premier volume attaché est numéroté 1, et ainsi de suite. Si vous détachez un volume, le numéro qui lui est associé est libéré et réattribué au prochain volume que vous attachez à l’instance.

Pour récupérer le nom de périphérique de vos volumes dans une instance Windows, exécutez la commande PowerShell suivante :

Get-WmiObject -class "Win32_DiskDrive" | Select-Object Name,SerialNumber
Exemple de résultat
Name               SerialNumber
----               ------------
\\.\PHYSICALDRIVE0
\\.\PHYSICALDRIVE1 sdb
\\.\PHYSICALDRIVE2 sdh

Pour trouver le nom de périphérique, remplacez sd par /dev/xvd. Dans l’exemple ci-dessus, le volume 0 est le volume système, tandis que le volume 1 est le périphérique /dev/xvdb et le volume 2 est le périphérique /dev/xvdh.

Persistance des données

Les données stockées sur un volume persistent tant que le volume existe et vous pouvez y accéder tant que le volume est attaché à une instance. Si vous supprimez un volume, les données stockées sur celui-ci sont supprimées également.

Lorsque vous détachez un volume d’une instance, l’ensemble des données restent stockées sur celui-ci et le volume devient available. Vous pouvez alors l’attacher à une autre instance, ce qui vous permet d’accéder à vos données et les gérer à nouveau.

Vous pouvez sauvegarder vos données stockées sur un volume à l’aide de snapshots, qui peuvent par la suite être copiés dans une autre Région. Les snapshots vous permettent le retrouver vos données en cas de problème sur un volume ou après avoir supprimé un volume. Pour en savoir plus sur les snapshots et leur utilisation, voir Travailler avec les snapshots.

Types de volumes et IOPS

La performance d’un volume se mesure en IOPS (input output per second), c’est à dire le nombre d’opérations de lecture et d’écriture que peut faire un volume en une seconde.

Vous pouvez choisir entre deux types de volumes, selon les performances dont vous avez besoin :

  • Magnetic, avec un nombre d’IOPS fixe, peu importe la taille du volume.

  • Performance, avec une possibilité de burst pour les volumes en dessous de 1 Tio.

  • Enterprise, vous permettant de créer un volume avec le nombre d’IOPS dont vous avez besoin. Les volumes Enterprise sont des volumes SSD, qui ont donc une latence réduite entre le moment où l’ordre de l’opération est envoyé au volume et le moment où le volume l’exécute.

Le tableau suivant présente des cas d’utilisation de base pour chaque type de volume et décrit leur caractéristiques de performance :

Magnetic Performance (SSD) Enterprise (SSD)

Nom du volume pour l’API et AWS CLI

standard

gp2

io1

Cas d’utilisation

  • Charges de travail froides où vous n’avez pas besoin d’accéder fréquemment à vos données

  • Situations où avoir un prix de stockage bas est important

  • La plupart des charges de travail qui requièrent des performances modérées avec des coûts modérés

  • Applications qui requièrent de hautes performances pour une durée limitée (par exemple, démarrer un système de fichier)

  • Charges de travail où vous devez accéder fréquemment à vos données (par exemple, une base de données)

  • Applications business critiques qui peuvent être bloquées par une faible performance du volume lorsque vous accédez aux données stockées dessus.

Taille du volume

1 Gio - 14,55 Tio (14901 Gio)

1 Gio - 14,55 Tio (14901 Gio)

4 Gio - 14,55 Tio (14901 Gio)

Performance en IOPS

  • 250 opérations en lecture et 150 opérations en écriture

  • Entre 1 Gio et 1 Tio : Performance de base de 3 IOPS par gibioctet, avec possibilité de burst

  • Entre 1 Tio et 3,33 Tio : 3 IOPS par gibioctet

  • Entre 3,34 Tio et 14,55 Tio : 10000 IOPS

Ratio de performance maximum de 300 IOPS par gibioctet

Taille I/O

4 Kio

4 Kio

4 Kio

Minimum IOPS/volume

/

100

100

Maximum IOPS/volume

/

10000

13000

Maximum IOPS/instance

36000

36000

36000

Performance de débit

/

/

/

Débit maximum/volume

40 Mio/s

160 Mio/s

200 Mio/s

Débit maximum/instance

600 Mio/s

600 Mio/s

600 Mio/s

Crédit d’IOPS et possibilité de burst pour les volumes performance

La performance en IOPS des volumes Performance (gp2) dépend de leur taille. Entre 1 Gio et 1 Tio, leur performance est régie par le principe du seau percé, décrit ci-dessous.

Chaque volume Performance entre 1 Gio et 1 Tio reçoit un crédit d’IOPS initial de 5,4 millions d’IOPS, ce qui donne au volume une possibilité de burst à 3000 IOPS par seconde pendant 30 minutes maximum. Toutes les secondes, votre crédit d’IOPS se remplit de 3 IOPS par gibioctet. Plus vous avez de crédit d’IOPS pour votre volume, plus la durée de cette possibilité de burst au dessus de la performance de base de 3 IOPS par gibioctet est longue.

La possibilité de burst et le crédit d’IOPS sont uniquement disponibles pour les volumes Performance de taille inférieure à 1 Tio, les performances de base des volumes de taille supérieure dépassant la performance de burst maximum de 3000 IOPS par seconde.

La durée du burst dépend des trois éléments suivants :

  • Crédit d’IOPS (5,4 millions IOPS au maximum)

  • Performance de burst (3000 IOPS au maximum)

  • Taille du volume

Pour calculer la durée de burst maximum en secondes, utilisez l’équation suivante :

Durée de burst = Crédit d'IOPS / (Performance de burst - 3 x Taille du volume)

Lorsque votre crédit d’IOPS est vide, le volume n’a plus de possibilité de burst. Sa performance reste à son niveau de base de 3 IOPS par gibioctet jusqu’à ce que la demande en IOPS descende sous ce niveau de base et que les IOPS que vous n’utilisez pas soient ajoutés à votre crédit d’IOPS.

Pages connexes

AWS™ et Amazon Web Services™ sont des marques de commerce d'Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.