

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 des NVMe appareils
<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 sur des 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.

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

Sous Linux, les noms des NVMe périphériques suivent le modèle`/dev/nvme<x>n<y>`, où se <x>trouve l'ordre d'énumération et, pour EBS, <y>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 :
+ Pour les instances basées sur Nitro, les mappages de périphériques en mode bloc spécifiés dans la EC2 console Amazon lorsque vous connectez un volume EBS `AttachVolume` ou pendant des appels d'`RunInstances`API 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 de volume EBS et le point de montage sont stables entre les changements d’état d’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 vous recommandons d’utiliser l’ID de volume EBS et le point de montage pour une identification cohérente des périphériques.
+ NVMe L'ID du volume EBS est défini comme numéro de série dans l'identification de l'appareil pour les volumes EBS. 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 volume EBS a été connecté pendant ou après le lancement de l'instance. NVMe les 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 FreeBSD AMI, `sudo ebsnvme-id /dev/{{nvme0n1}} -u` utilisez la commande pour obtenir NVMe un nom d'appareil 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.
+ 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).

**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' NVMe appareil à 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' NVMe appareil n'inclut pas le `/dev/` préfixe.

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

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

**FreeBSD AMIs**  
À partir de FreeBSD 12.2-RELEASE, vous pouvez exécuter la commande **ebsnvme-id** 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` ou`nda0`). FreeBSD crée é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' NVMe appareil 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/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 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' NVMe appareil inclut le `/dev/` préfixe.

```
[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 **ebsnvme-id** commande pour associer le numéro de disque du NVMe périphérique à un ID de volume EBS et à un nom de périphérique. Par défaut, tous les NVMe appareils EBS 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-id`outil est inclus dans le dernier serveur Windows AWS fourni AMIs situé dans`C:\ProgramData\Amazon\Tools`.

À partir du package de AWS NVMe pilotes, `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 en extrayant le contenu de votre EC2 instance Amazon pour y 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
```