

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
<a name="identify-nvme-ebs-device"></a>

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.

## Instances Linux
<a name="ebs-nvme-linux"></a>

<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](ebs-using-volumes.md) et [Démarrez à partir du mauvais volume](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-booting-from-wrong-volume.html).

**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/nvme{{0}}n1
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/nvme{{1}}n1
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/nvme{{0}}n1
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/nvme{{1}}n1
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
```

## instances Windows
<a name="ebs-nvme-windows"></a>

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-id`outil est inclus dans les dernières AMI Windows Server AWS fournies dans`C:\ProgramData\Amazon\Tools`.

À partir du package de pilotes AWS NVMe, `1.5.0,` la dernière version de l'`ebsnvme-id`outil 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](https://s3.amazonaws.com/ec2-windows-drivers-downloads/EBSNVMeID/Latest/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
```