As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Mapeie volumes do Amazon EBS para nomes de NVMe dispositivos
O EBS usa virtualização de E/S de raiz única (SR-IOV) para fornecer anexos de volume em instâncias baseadas em Nitro usando a especificação. NVMe Esses dispositivos dependem de NVMe drivers padrão no sistema operacional. Normalmente, esses drivers descobrem dispositivos anexados durante a inicialização da instância e cria nós de dispositivo com base na ordem em que os dispositivos respondem, e não em como os dispositivos são especificados no mapeamento de dispositivos de blocos.
<y>No Linux, os nomes dos NVMe dispositivos seguem o padrão/dev/nvme<x>n<y>
, onde <x>está a ordem de enumeração e, para o EBS, é 1. Ocasionalmente, os dispositivos podem responder à descoberta em uma ordem diferente em inicializações subsequentes da instância, o que faz com que o nome do dispositivo seja alterado. Além disso, o nome de dispositivo atribuído pelo driver de dispositivo de bloco pode ser diferente do nome especificado no mapeamento de dispositivos de blocos.
Recomendamos que você use identificadores estáveis para seus volumes do EBS em sua instância, como um dos seguintes:
-
Para instâncias baseadas em Nitro, os mapeamentos de dispositivos de blocos que são especificados no EC2 console da Amazon quando você está anexando um volume do EBS
AttachVolume
ou durante nossas chamadas deRunInstances
API são capturados no campo de dados específico do fornecedor da identificação do controlador. NVMe Com o Amazon Linux AMIs posterior à versão 2017.09.01, fornecemos umaudev
regra que lê esses dados e cria um link simbólico para o mapeamento do dispositivo de bloco. -
O ID do volume do EBS e o ponto de montagem são estáveis entre as alterações de estado da instância. O nome do NVMe dispositivo pode mudar dependendo da ordem em que os dispositivos respondem durante a inicialização da instância. Recomendamos usar o ID do volume do EBS e o ponto de montagem para a identificação consistente do dispositivo.
-
NVMe Os volumes do EBS têm o ID do volume do EBS definido como o número de série na identificação do dispositivo. Use o comando
lsblk -o +SERIAL
para listar o número de série. -
O formato do nome do NVMe dispositivo pode variar dependendo se o volume do EBS foi conectado durante ou após a execução da instância. NVMe os nomes dos dispositivos dos volumes anexados após a execução da instância incluem o
/dev/
prefixo, enquanto os nomes dos NVMe dispositivos dos volumes anexados durante a execução da instância não incluem o/dev/
prefixo.-
Para Amazon Linux ou FreeBSD AMI,
sudo ebsnvme-id /dev/
use o comando para obter NVMe um nome de dispositivo consistente.nvme0n1
-u -
Para outras distribuições, use o
sudo nvme id-ctrl -v /dev/
comando para determinar o nome do NVMe dispositivo. Pode ser necessário incluir a opção de comandonvme0n1
--vendor-specific
.
-
-
Quando um dispositivo é formatado, um UUID é gerado que persiste durante a vida do sistema de arquivos. Um rótulo de dispositivo pode ser especificado ao mesmo tempo. Para obter mais informações, consulte Disponibilizar um volume do Amazon EBS para uso e Inicialização com o volume errado.
Amazon Linux AMIs
Com o Amazon Linux AMI 2017.09.01 ou posterior (incluindo o Amazon Linux 2), você pode executar o ebsnvme-id comando da seguinte forma para mapear o nome do NVMe dispositivo para um ID de volume e nome do dispositivo:
O exemplo a seguir mostra o comando e a saída para um volume anexado durante o lançamento da instância. Observe que o nome do NVMe dispositivo não inclui o /dev/
prefixo.
[ec2-user ~]$
sudo /sbin/ebsnvme-id /dev/nvme
0
n1Volume ID: vol-01324f611e2463981 sda
O exemplo a seguir mostra o comando e a saída para um volume anexado após o lançamento da instância. Observe que o nome do NVMe dispositivo inclui o /dev/
prefixo.
[ec2-user ~]$
sudo /sbin/ebsnvme-id /dev/nvme
1
n1Volume ID: vol-064784f1011136656 /dev/sdf
O Amazon Linux também cria um link simbólico do nome do dispositivo no mapeamento do dispositivo de bloco (por exemplo,/dev/sdf
) até o nome do NVMe dispositivo.
FreeBSD AMIs
Começando com o FreeBSD 12.2-RELEASE, é possível executar o comando ebsnvme-id conforme mostrado acima. Passe o nome do NVMe dispositivo (por exemplo,nvme0
) ou do dispositivo de disco (por exemplo, nvd0
ounda0
). O FreeBSD também cria links simbólicos para os dispositivos de disco (por exemplo,). /dev/aws/disk/ebs/
volume_id
Outro Linux AMIs
Com uma versão do kernel 4.2 ou posterior, você pode executar o nvme
id-ctrl comando da seguinte forma para mapear um NVMe dispositivo para um ID de volume. Primeiro, instale o pacote de linha de NVMe comando,nvme-cli
, usando as ferramentas de gerenciamento de pacotes para sua distribuição Linux. Para obter instruções de download e instalação de outras distribuições, consulte a documentação específica para sua distribuição.
O exemplo a seguir obtém o ID do volume e o nome do NVMe dispositivo de um volume que foi anexado durante a execução da instância. Observe que o nome do NVMe dispositivo não inclui o /dev/
prefixo. O nome do dispositivo está disponível por meio da extensão específica do fornecedor do NVMe controlador (bytes 384:4095 da identificação do controlador):
[ec2-user ~]$
sudo nvme id-ctrl -v /dev/nvme
0
n1NVME 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
..."
O exemplo a seguir obtém o ID do volume e o nome do NVMe dispositivo de um volume que foi anexado após a execução da instância. Observe que o nome do NVMe dispositivo inclui o /dev/
prefixo.
[ec2-user ~]$
sudo nvme id-ctrl -v /dev/nvme
1
n1NVME 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
..."
O comando lsblk lista dispositivos disponíveis e seus pontos de montagem (se aplicável). Isso ajuda você a determinar o nome correto do dispositivo a ser usado. Neste exemplo, /dev/nvme0n1p1
é montado como o dispositivo raiz e /dev/nvme1n1
é anexado mas não montado.
[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
Você pode executar o ebsnvme-id
comando para mapear o número do disco do NVMe dispositivo para um ID de volume e nome do dispositivo do EBS. Por padrão, todos os NVMe dispositivos EBS são enumerados. É possível passar um número de disco para enumerar informações de um dispositivo específico. A ebsnvme-id
ferramenta está incluída no último Windows Server AWS fornecido, AMIs localizado emC:\PROGRAMDATA\AMAZON\Tools
.
Começando com 1.5.0,
o pacote do AWS NVMe driver, a versão mais recente da ebsnvme-id
ferramenta é instalada pelo pacote do driver. A versão mais recente só está disponível no pacote do driver. O link de download autônomo da ferramenta ebsnvme-id
não receberá mais atualizações. A última versão disponível por meio do link independente é1.1.0
, que pode ser baixada usando o link ebsnvme-id.zipebsnvme-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