View a markdown version of this page

Mappez les volumes Amazon EBS aux noms de périphériques NVMe - Amazon EBS

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.

Mappez les volumes Amazon EBS aux noms de périphériques NVMe

EBS utilise la I/O virtualisation à racine unique (SR-IOV) pour fournir des pièces jointes de volume aux Nitro-based instances conformément à la spécification NVMe. Ces périphériques dépendent des pilotes NVMe standard du système d’exploitation. Habituellement, ces pilotes détectent les périphériques attachés au démarrage de l’instance, puis créent des nœuds de périphériques selon l’ordre dans lequel les périphériques répondent, et non selon la spécification des périphériques dans le mappage de périphérique de stockage en mode bloc.

<y>Sous Linux, les noms des périphériques NVMe suivent le modèle/dev/nvme<x>n<y>, où <x>est l'ordre d'énumération et, pour EBS, est 1. Lors de démarrages consécutifs de l’instance, il arrive que les périphériques répondent à la détection dans un ordre différent, d’où un changement de nom des périphériques. En outre, le nom de périphérique attribué par le pilote de périphérique de stockage en mode bloc peut être différent du nom spécifié dans le mappage de périphérique de stockage en mode bloc.

Nous vous recommandons d’utiliser des identificateurs stables pour les volumes EBS au sein de votre instance, par exemple :

  • Par Nitro-based exemple, les mappages de périphériques en mode bloc spécifiés dans la console Amazon EC2 lorsque vous connectez un volume EBS RunInstances ou AttachVolume pendant des appels d'API sont capturés dans le champ de données spécifique au fournisseur de l'identification du contrôleur NVMe. Avec les AMI Amazon Linux ultérieures à la version 2017.09.01, nous fournissons une règle udev qui lit ces données et crée un lien symbolique vers le mappage de périphérique de stockage en mode bloc.

  • L’ID de volume EBS et le point de montage sont stables entre les changements d’état d’instance. Le nom du périphérique NVMe peut changer en fonction de l’ordre dans lequel les périphériques répondent lors du démarrage de l’instance. Nous vous recommandons d’utiliser l’ID de volume EBS et le point de montage pour une identification cohérente des périphériques.

  • Les volumes EBS NVMe ont l’ID de volume EBS comme numéro de série dans l’identification du périphérique. Utilisez la commande lsblk -o +SERIAL pour répertorier le numéro de série.

  • Le format de nom de périphérique NVMe peut varier selon si le volume EBS a été attaché pendant ou après le lancement de l’instance. Les noms de périphériques NVMe pour les volumes attachés après le lancement de l’instance incluent le préfixe /dev/, tandis que les noms de périphériques NVMe pour les volumes attachés au cours du lancement de l’instance n’incluent pas le préfixe /dev/.

    • Pour Amazon Linux ou FreeBSD AMI, sudo ebsnvme-id /dev/nvme0n1 -u utilisez la commande pour obtenir un nom de périphérique NVMe cohérent.

    • Pour les autres distributions, utilisez la commande sudo nvme id-ctrl -V /dev/nvme0n1 pour déterminer le nom du périphérique NVMe. Vous devrez peut-être inclure l'option de --vendor-specific commande.

  • Lors du formatage d’un périphérique, un UUID est généré, qui persiste pendant toute la durée de vie du système de fichiers. Il est possible de spécifier une étiquette de périphérique au même moment. Pour plus d'informations, reportez-vous à la section Rendre un volume Amazon EBS disponible pour utilisation et Démarrez à partir du mauvais volume.

AMI Amazon Linux

Avec l’AMI Amazon Linux 2017.09.01 ou ultérieure (y compris Amazon Linux 2), vous pouvez exécuter la commande ebsnvme-id comme suit afin de mapper le nom de périphérique NVMe à un ID de volume et un nom de périphérique :

L’exemple suivant illustre la commande et la sortie d’un volume attaché lors du lancement de l’instance. Notez que le nom du périphérique NVMe n'inclut pas le préfixe /dev/.

[ec2-user ~]$ sudo /sbin/ebsnvme-id /dev/nvme0n1 Volume ID: vol-01324f611e2463981 sda

L’exemple suivant illustre la commande et la sortie d’un volume attaché après le lancement de l’instance. Notez que le nom du périphérique NVMe inclut le préfixe /dev/.

[ec2-user ~]$ sudo /sbin/ebsnvme-id /dev/nvme1n1 Volume ID: vol-064784f1011136656 /dev/sdf

Amazon Linux crée également un lien symbolique entre le nom du périphérique du mappage de périphérique de stockage en mode bloc (par exemple, /dev/sdf) et le nom du périphérique NVMe.

AMI FreeBSD

À partir de FreeBSD 12.2-RELEASE, vous pouvez exécuter la commande ebsnvme-id comme indiqué ci-dessus. Transmettez le nom du périphérique NVMe (par exemple, nvme0) ou du périphérique de disque (par exemple, nvd0 ou nda0). FreeBSD crée également des liens symboliques vers les unités de disque (par exemple,). /dev/aws/disk/ebs/ volume_id

Autres AMI Linux

Avec la version 4.2 ou une version ultérieure du noyau, vous pouvez exécuter la commande nvme id-ctrl comme suit pour mapper un périphérique NVMe à un ID de volume. Commencez par installer le package de ligne de commande NVMe, nvme-cli, à l’aide des outils de gestion du package pour votre distribution Linux. Pour obtenir des instructions de téléchargement et d’installation pour d’autres distributions, reportez-vous à la documentation correspondante.

L’exemple suivant permet d’obtenir l’ID de volume et le nom de périphérique NVMe pour un volume attaché lors du lancement de l’instance. Notez que le nom du périphérique NVMe n’inclut pas le préfixe /dev/. Le nom de périphérique est disponible via une extension du contrôleur NVMe spécifique au fournisseur (octets 384:4095 de l’identification du contrôleur) :

[ec2-user ~]$ sudo nvme id-ctrl -V /dev/nvme0n1 NVME Identify Controller: vid : 0x1d0f ssvid : 0x1d0f sn : vol01234567890abcdef mn : Amazon Elastic Block Store ... 0000: 2f 64 65 76 2f 73 64 6a 20 20 20 20 20 20 20 20 "sda..."

L’exemple suivant permet d’obtenir l’ID de volume et le nom de périphérique NVMe pour un volume attaché après le lancement de l’instance. Notez que le nom du périphérique NVMe inclut le préfixe /dev/.

[ec2-user ~]$ sudo nvme id-ctrl -V /dev/nvme1n1 NVME Identify Controller: vid : 0x1d0f ssvid : 0x1d0f sn : volabcdef01234567890 mn : Amazon Elastic Block Store ... 0000: 2f 64 65 76 2f 73 64 6a 20 20 20 20 20 20 20 20 "/dev/sdf..."

La commande lsblk répertorie les périphériques disponibles ainsi que leurs points de montage (le cas échéant). Vous pouvez ainsi déterminer quel nom de périphérique utiliser. Dans cet exemple, /dev/nvme0n1p1 est monté comme périphérique racine et /dev/nvme1n1 est attaché mais pas monté.

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:3 0 100G 0 disk nvme0n1 259:0 0 8G 0 disk nvme0n1p1 259:1 0 8G 0 part / nvme0n1p128 259:2 0 1M 0 part

Vous pouvez exécuter la commande ebsnvme-id pour mapper le numéro de disque du périphérique NVMe à un ID de volume EBS et un nom de périphérique. Tous les périphériques NVMe EBS sont énumérés par défaut. Vous pouvez passer un numéro de disque pour énumérer des informations pour un périphérique spécifique. L'ebsnvme-idoutil est inclus dans les dernières AMI Windows Server AWS fournies dansC:\ProgramData\Amazon\Tools.

À partir du package de pilotes AWS NVMe, 1.5.0, la dernière version de l'ebsnvme-idoutil est installée par le package de pilotes. La dernière version n’est disponible que dans le package du pilote. Le lien de téléchargement autonome de l’outil ebsnvme-id ne recevra plus de mises à jour. La dernière version disponible via le lien autonome est 1.1.0, qui peut être téléchargée à l’aide du lien ebsnvme-id.zip et ensuite extraire le contenu vers votre instance Amazon EC2 pour accéder à ebsnvme-id.exe.

PS C:\ProgramData\Amazon\Tools> ebsnvme-id.exe Disk Number: 0 Volume ID: vol-0d6d7ee9f6e471a7f Device Name: sda1 Disk Number: 1 Volume ID: vol-03a26248ff39b57cf Device Name: xvdd Disk Number: 2 Volume ID: vol-038bd1c629aa125e6 Device Name: xvde Disk Number: 3 Volume ID: vol-034f9d29ec0b64c89 Device Name: xvdb Disk Number: 4 Volume ID: vol-03e2dbe464b66f0a1 Device Name: xvdc
PS C:\ProgramData\Amazon\Tools> ebsnvme-id.exe 4 Disk Number: 4 Volume ID: vol-03e2dbe464b66f0a1 Device Name: xvdc