Volumes de stockage d’instance SSD - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Volumes de stockage d’instance SSD

Pour garantir les meilleures performances d’IOPS à partir de vos volumes de stockage d’instance SSD sur Linux, nous vous recommandons d’utiliser la version la plus récente d’Amazon Linux ou d’une autre AMI Linux avec la version 3.8 du noyau ou version ultérieure. Si vous n’utilisez pas une AMI Linux dotée de la version 3.8 ou ultérieure du noyau, votre instance n’atteindra pas les performances IOPS maximales pour ces types d’instance.

Comme pour tout autre volume de stockage d’instance, vous devez mapper les volumes de stockage d’instance SSD de votre instance lorsque cette dernière est lancée. Les données d’un volume d’instance SSD ne persistent que pendant la vie de son instance associée. Pour plus d’informations, consultez Ajouter des volumes de stockage d’instance à votre instance EC2.

Volumes SSD NVMe

Certaines instances offrent des volumes de stockage d’instance SSD NVMe (Non-Volatile Memory Express). Pour plus d’informations sur le type de volume de stockage d’instance pris en charge par chaque type d’instance, consultez Volumes de stockage d’instances.

Pour accéder aux volumes NVMe, les pilotes NVMe doivent être installés. Les AMI suivantes satisfont cette exigence :

  • AL2023

  • Amazon Linux 2

  • Amazon Linux AMI 2018.03 et version ultérieure

  • Ubuntu 14.04 ou une version ultérieure avec noyau linux-aws

    Note

    AWS Les types d'instances basés sur Graviton nécessitent Ubuntu 18.04 ou version ultérieure avec noyau linux-aws

  • Red Hat Enterprise Linux 7.4 ou une version ultérieure

  • SUSE Linux Enterprise Server 12 SP2 ou une version ultérieure

  • CentOS 7.4.1708 ou une version ultérieure

  • FreeBSD 11.1 ou une version ultérieure

  • Debian GNU/Linux 9 ou version ultérieure

  • Bottlerocket

Après avoir connecté votre instance, vous pouvez répertorier les périphériques NVMe à l’aide de la commande lspci. Voici un exemple de sortie d’une instance i3.8xlarge, qui prend en charge quatre périphériques NVMe.

[ec2-user ~]$ lspci 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01) 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 00:03.0 Ethernet controller: Device 1d0f:ec20 00:17.0 Non-Volatile memory controller: Device 1d0f:cd01 00:18.0 Non-Volatile memory controller: Device 1d0f:cd01 00:19.0 Non-Volatile memory controller: Device 1d0f:cd01 00:1a.0 Non-Volatile memory controller: Device 1d0f:cd01 00:1f.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)

Si vous utilisez un système d’exploitation pris en charge, mais que les périphériques NVMe ne sont pas visibles, vérifiez que le module NVMe est chargé à l’aide de la commande suivante.

  • Amazon Linux, Amazon Linux 2, Ubuntu 14/16, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, CentOS 7

    $ lsmod | grep nvme nvme 48813 0
  • Ubuntu 18

    $ cat /lib/modules/$(uname -r)/modules.builtin | grep nvme s/nvme/host/nvme-core.ko kernel/drivers/nvme/host/nvme.ko kernel/drivers/nvmem/nvmem_core.ko

Les volumes NVMe sont conformes à la spécification NVMe 1.0e. Vous pouvez utiliser les commandes NVMe avec vos volumes NVMe. Avec Amazon Linux, vous pouvez installer le package nvme-cli à partir du référentiel à l’aide de la commande yum install. Avec d’autres versions de Linux prises en charge, vous pouvez télécharger le package nvme-cli s’il n’est pas disponible dans l’image.

Les données sur le stockage d’instance NVMe sont chiffrées à l’aide d’un chiffrement par blocs XTS-AES-256 implémenté dans un module matériel sur l’instance. Les clés de chiffrement sont générées à l’aide du module matériel et sont uniques pour chaque périphérique de stockage d’instance NVMe. Toutes les clés de chiffrement sont détruites lorsque l’instance est arrêtée ou résiliée et ne peuvent pas être récupérées. Vous ne pouvez pas désactiver le chiffrement et vous ne pouvez pas fournir votre propre clé de chiffrement.

Volumes SSD non NVMe

Les instances suivantes prennent en charge les volumes de stockage d'instance qui utilisent des SSD autres que NVMe pour fournir des performances d'E/S aléatoires élevées : C3, I2, M3, R3 et X1. Pour plus d’informations sur la prise en charge des volumes de stockage d’instance par chaque type d’instance, consultez Volumes de stockage d’instances.

Performances d’E/S du volume de stockage d’instances basé sur un SSD

Au fur et à mesure que vous remplissez les volumes de stockage d’instances basés sur SSD pour votre instance, le nombre d’IOPS en écriture que vous pouvez obtenir diminue. Ceci est dû au travail supplémentaire que le contrôleur SSD doit effectuer pour trouver de l’espace disponible, réécrire les données existantes et effacer l’espace non utilisé pour le rendre réinscriptible. Ce processus de nettoyage de la mémoire se traduit par une amplification d’écriture interne sur le disque SSD, exprimée sous la forme du rapport des opérations d’écriture SSD sur les opérations d’écriture utilisateur. Cette diminution des performances est encore plus importante si les opérations d’écriture ne sont pas exprimées en multiples de 4 096 octets ou ne sont pas alignées sur une limite de 4 096 octets. Si vous écrivez une quantité d’octets plus faible ou des octets qui ne sont pas alignés, le contrôleur SSD doit lire les données environnantes et stocker le résultat dans un nouvel emplacement. Ce modèle se traduit par une forte augmentation de l’amplification d’écriture, une latence accrue et une diminution considérable des performances d’I/O.

Les contrôleurs SSD peuvent utiliser plusieurs stratégies pour réduire l’impact de l’amplification d’écriture. Une telle stratégie consiste à réserver un espace dans le stockage d’instance SSD afin que le contrôleur puisse gérer efficacement l’espace disponible pour les opérations d’écriture. Cette solution est appelée sur-approvisionnement. Les volumes de stockage d'instance SSD fournis à une instance ne disposent d'aucun espace réservé au surprovisionnement. Pour réduire l'amplification en écriture, nous vous recommandons de laisser 10 % du volume non partitionné afin que le contrôleur SSD puisse l'utiliser pour le surprovisionnement. Cela diminue le stockage que vous pouvez utiliser, mais augmente les performances même si le disque est proche de sa capacité maximale.

Par exemple, pour les volumes de stockage compatibles TRIM, vous pouvez utiliser la commande TRIM pour avertir le contrôleur SSD chaque fois que vous n'avez plus besoin des données que vous avez écrites. Cela fournit au contrôleur plus d’espace disponible, ce qui peut réduire l’amplification d’écriture et augmenter les performances. Pour plus d’informations, consultez Prise en charge de TRIM sur les volumes de stockage d’instance.

Prise en charge de TRIM sur les volumes de stockage d’instance

Certains types d’instance prennent en charge les volumes SSD avec TRIM. Pour plus d’informations, consultez Volumes de stockage d’instances.

Les volumes de stockage d’instance qui prennent en charge TRIM sont intégralement soumis à l’instruction TRIM avant d’être alloués à votre instance. Comme ces volumes ne sont pas formatés avec un système de fichiers au lancement de l’instance, vous devez les formater avant qu’ils ne puissent être montés et utilisés. Pour un accès plus rapide à ces volumes, vous devez ignorer l’opération TRIM lorsque vous les formatez.

Avec les volumes de stockage d’instance qui prennent en charge TRIM, vous pouvez utiliser la commande TRIM pour informer le contrôleur SSD du moment où vous n’avez plus besoin des données que vous avez écrites. Cela fournit au contrôleur plus d’espace disponible, ce qui peut réduire l’amplification d’écriture et augmenter les performances. Sous Linux, utilisez la commande fstrim pour activer le TRIM périodique.