Mappa EBS i volumi Amazon in base ai nomi dei NVMe dispositivi - Amazon EBS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Mappa EBS i volumi Amazon in base ai nomi dei NVMe dispositivi

EBSutilizza la virtualizzazione I/O a radice singola (SR-IOV) per fornire allegati di volume su istanze basate su Nitro utilizzando la specifica. NVMe Questi dispositivi si basano su driver standard del sistema operativoNVMe. Questi driver in genere scoprono i dispositivi collegati eseguendo una scansione del bus di PCI durante l'avvio dell'istanza e creano nodi di dispositivi basati sull'ordine al quale rispondono i dispositivi, non su come i dispositivi vengono specificati nella mappatura dei dispositivi a blocco.

<y>In Linux, i nomi dei NVMe dispositivi seguono lo schema/dev/nvme<x>n<y>, dove <x>è l'ordine di enumerazione e, perEBS, è 1. Occasionalmente, i dispositivi possono rispondere alla scoperta in un ordine diverso, in avvii di istanze successivi, causando la modifica del nome del dispositivo. Inoltre, il nome del dispositivo assegnato dal driver del dispositivo a blocchi può essere diverso da quello specificato nella mappatura del dispositivo a blocchi.

Ti consigliamo di utilizzare identificatori stabili per i EBS volumi all'interno dell'istanza, come uno dei seguenti:

  • Per le istanze basate su Nitro, le mappature dei dispositivi a blocchi specificate nella EC2 console Amazon quando si collega un EBS volume AttachVolume o durante le nostre RunInstances API chiamate vengono acquisite nel campo dati specifico del fornitore dell'identificazione del controller. NVMe Con Amazon Linux AMIs successiva alla versione 2017.09.01, forniamo una udev regola che legge questi dati e crea un collegamento simbolico alla mappatura dei dispositivi a blocchi.

  • L'ID del EBS volume e il punto di montaggio sono stabili tra le modifiche dello stato dell'istanza. Il nome del NVMe dispositivo può cambiare in base all'ordine in cui i dispositivi rispondono durante l'avvio dell'istanza. Si consiglia di utilizzare l'ID EBS del volume e il punto di montaggio per un'identificazione coerente del dispositivo.

  • NVMeEBSper i volumi l'ID EBS del volume è impostato come numero di serie nell'identificazione del dispositivo. Utilizzare il comando lsblk -o +SERIAL per elencare il numero di serie.

  • Il formato del nome del NVMe dispositivo può variare a seconda che il EBS volume sia stato collegato durante o dopo l'avvio dell'istanza. NVMei nomi dei dispositivi per i volumi collegati dopo l'avvio dell'istanza includono il /dev/ prefisso, mentre i nomi dei NVMe dispositivi per i volumi collegati durante l'avvio dell'istanza non includono il /dev/ prefisso.

    • Per Amazon Linux o Free BSDAMI, usa il sudo ebsnvme-id /dev/nvme0n1 -u comando per un nome di NVMe dispositivo coerente.

    • Per altre distribuzioni, usa il sudo nvme id-ctrl -v /dev/nvme0n1 comando per determinare il nome del NVMe dispositivo. Potrebbe essere necessario includere l'opzione di --vendor-specific comando.

  • Quando un dispositivo viene formattato, UUID viene generato un file che persiste per tutta la vita del filesystem. Un'etichetta di dispositivo può essere specificata allo stesso tempo. Per ulteriori informazioni, consulta Rendi disponibile un EBS volume Amazon per l'uso e Boot from the wrong volume.

Amazon Linux AMIs

Con Amazon Linux AMI 2017.09.01 o versioni successive (incluso Amazon Linux 2), puoi eseguire il ebsnvme-id comando come segue per mappare il nome del NVMe dispositivo a un ID di volume e al nome del dispositivo:

L'esempio seguente mostra il comando e l'output di un volume collegato durante l'avvio dell'istanza. Tieni presente che il nome del NVMe dispositivo non include il prefisso. /dev/

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

L'esempio seguente mostra il comando e l'output di un volume collegato dopo l'avvio dell'istanza. Si noti che il nome NVMe del dispositivo include il /dev/ prefisso.

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

Amazon Linux crea anche un collegamento simbolico dal nome del dispositivo nella mappatura a blocchi del dispositivo (ad esempio,/dev/sdf), al nome del NVMe dispositivo.

Gratuito BSD AMIs

A partire da Free BSD 12.2-RELEASE, è possibile eseguire il ebsnvme-id comando come mostrato sopra. Passa il nome del NVMe dispositivo (ad esempio,nvme0) o del dispositivo disco (ad esempio, nvd0 onda0). Free crea BSD anche collegamenti simbolici ai dispositivi a disco (ad esempio, /dev/aws/disk/ebs/volume_id).

Altro Linux AMIs

Con una versione del kernel 4.2 o successiva, è possibile eseguire il nvme id-ctrl comando come segue per mappare un NVMe dispositivo a un ID di volume. Innanzitutto, installa il pacchetto da riga di NVMe comando utilizzando nvme-cli gli strumenti di gestione dei pacchetti per la tua distribuzione Linux. Per le istruzioni per il download e l'installazione di altre distribuzioni, fai riferimento alla documentazione specifica della distribuzione.

L'esempio seguente ottiene l'ID del volume e il nome NVMe del dispositivo per un volume che è stato collegato durante l'avvio dell'istanza. Si noti che il nome del NVMe dispositivo non include il /dev/ prefisso. Il nome del dispositivo è disponibile tramite l'estensione specifica NVMe del fornitore del controller (byte 384:4095 dell'identificazione del controller):

[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'esempio seguente ottiene l'ID del volume e il nome del NVMe dispositivo per un volume collegato dopo l'avvio dell'istanza. Si noti che il nome NVMe del dispositivo include il /dev/ prefisso.

[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..."

Il comando lsblk mostra l'elenco dei dispositivi disponibili e dei relativi punti di montaggio (se applicabile). Queste informazioni consentono di determinare il nome di dispositivo corretto da utilizzare. In questo esempio, /dev/nvme0n1p1 viene montato come dispositivo root e /dev/nvme1n1 viene collegato, ma non montato.

[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

È possibile eseguire il ebsnvme-id comando per mappare il numero del disco del NVMe dispositivo a un ID di EBS volume e al nome del dispositivo. Per impostazione predefinita, tutti i EBS NVMe dispositivi sono enumerati. È possibile passare un numero di disco per enumerare informazioni di un dispositivo specifico. Lo ebsnvme-id strumento è incluso nell'ultima versione di Windows Server AWS AMIs fornita in. C:\PROGRAMDATA\AMAZON\Tools

A partire dal pacchetto AWS NVMe driver, 1.5.0, la versione più recente dello ebsnvme-id strumento viene installata dal pacchetto driver. L'ultima versione è disponibile solo nel pacchetto driver. Il link per il download standalone dello strumento ebsnvme-id non riceverà più aggiornamenti. L'ultima versione disponibile tramite il link standalone è1.1.0, che può essere scaricata utilizzando il collegamento ebsnvme-id.zip ed estraendo i contenuti sulla propria EC2 istanza Amazon a cui accedere. 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