Associer les EBS volumes Amazon aux noms des NVMe appareils - 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.

Associer les EBS volumes Amazon aux noms des NVMe appareils

EBSutilise la virtualisation des E/S à racine unique (SR-IOV) pour fournir des pièces jointes aux volumes sur les instances basées sur Nitro conformément à la spécification. NVMe Ces appareils s'appuient sur des NVMe pilotes 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.

Sous Linux, les noms des NVMe appareils suivent le modèle/dev/nvme<x>n<y>, où se <x>trouve l'ordre d'énumération et où, pourEBS, <y>vaut 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 identifiants stables pour vos EBS volumes au sein de votre instance, tels que l'un des suivants :

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

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

  • NVMeEBSl'ID du EBS volume est défini comme numéro de série dans l'identification du périphérique pour les volumes. Utilisez la commande lsblk -o +SERIAL pour répertorier le numéro de série.

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

    • Pour Amazon Linux ou Free BSDAMI, utilisez la sudo ebsnvme-id /dev/nvme0n1 -u commande pour obtenir un nom d'NVMeappareil cohérent.

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

  • Lorsqu'un périphérique est formaté, 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, consultez Rendre un EBS volume Amazon disponible pour utilisation et Démarrez à partir du mauvais volume.

Amazon Linux AMIs

Avec Amazon Linux AMI 2017.09.01 ou version ultérieure (y compris Amazon Linux 2), vous pouvez exécuter la ebsnvme-id commande comme suit pour associer le nom de l'NVMeappareil à 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 de l'NVMeappareil n'inclut pas le /dev/ préfixe.

[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 de l'NVMeappareil inclut le /dev/ préfixe.

[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 de l'appareil dans le mappage des périphériques en mode bloc (par exemple,/dev/sdf) et le nom de l'NVMeappareil.

Gratuit BSD AMIs

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

Autre Linux AMIs

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

L'exemple suivant obtient l'ID du volume et le nom du NVMe périphérique d'un volume qui a été attaché lors du lancement de l'instance. Notez que le nom de l'NVMeappareil n'inclut pas le /dev/ préfixe. Le nom du périphérique est disponible via l'extension spécifique au fournisseur du NVMe contrôleur (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 obtient l'ID du volume et le nom du NVMe périphérique pour un volume qui a été attaché après le lancement de l'instance. Notez que le nom de l'NVMeappareil inclut le /dev/ préfixe.

[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 ebsnvme-id commande pour associer le numéro de disque du NVMe périphérique à un ID de EBS volume et à un nom de périphérique. Par défaut, tous les EBS NVMe appareils sont énumérés. 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 le dernier serveur Windows AWS fourni AMIs situé dansC:\PROGRAMDATA\AMAZON\Tools.

À partir du package de AWS NVMe pilotes, 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 est1.1.0, qui peut être téléchargée à l'aide du lien ebsnvme-id.zip et en extrayant le contenu de votre EC2 instance Amazon pour y accéder. ebsnvme-id.exe

PS C:\Users\Administrator\Desktop> 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:\Users\Administrator\Desktop> ebsnvme-id.exe 4 Disk Number: 4 Volume ID: vol-03e2dbe464b66f0a1 Device Name: xvdc