¿Cómo puedo saber qué volúmenes asociados a mi instancia de Amazon EC2 Linux son volúmenes de almacén de instancias (efímeros)?

5 minutos de lectura
0

Tengo una instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2) con volúmenes de Amazon Elastic Block Store (Amazon EBS) y volúmenes de almacén de instancias asociados. Quiero identificar los volúmenes asociados del almacén de instancias.

Breve descripción

Para identificar los volúmenes de almacén de instancias en instancias de Linux de Amazon EC2, compruebe primero si el tipo de instancia admite volúmenes de almacén de instancias. Si la instancia admite volúmenes de almacén de instancias, compruebe los tipos de volúmenes de almacén de instancias compatibles. A continuación, revise la información del volumen en el sistema operativo (SO).

Solución

  1. Compruebe qué tipo de volumen de almacén de instancias (HDD, SSD o SSD NVMe) admite su instancia, si es que admite alguno. Verifique la cantidad, el tamaño, el tipo y las optimizaciones de rendimiento de los volúmenes de almacenes de instancias que están disponibles para cada tipo de instancia admitido.
  2. Determine qué volúmenes asociados a su instancia son volúmenes de almacén de instancias. El método de identificación depende de si tiene volúmenes de almacén de instancias SSD NVMe o HDD/SSD.

Volúmenes de almacén de instancias SSD NVMe

  1. Conéctese a su instancia.

  2. Instale el paquete de línea de comandos de NVMe, nvme-cli. Utilice las herramientas de administración de paquetes para su distribución de Linux. En el caso de las instancias de Amazon Linux, instale el paquete nvme-cli mediante el comando yum. Si desea obtener instrucciones de descarga e instalación para otras distribuciones, consulte la documentación de GitHub para nvme-cli o consulte la documentación de su distribución.

  3. Ejecute el comando nvme list como usuario privilegiado:

    $ sudo nvme list

    En la columna Modelo del siguiente ejemplo de resultado se indica si cada dispositivo conectado es Amazon Elastic Block Store o Amazon EC2 NVMe Instance Storage. El resultado del ejemplo proviene de un tipo de instancia que admite un dispositivo SSD NVMe:

    $ sudo nvme list
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1     vol0923757ba05df9515 Amazon Elastic Block Store               1           0.00   B /   8.59  GB    512   B +  0 B   1.0
    /dev/nvme1n1     AWS1A4FC25FB16B79F76 Amazon EC2 NVMe Instance Storage         1          50.00  GB /  50.00  GB    512   B +  0 B   0

Volúmenes de almacén de instancias HDD o SSD

En el caso de los volúmenes de almacén de instancias HDD o SSD, obtenga la lista de dispositivos de bloques asociados desde el sistema operativo. A continuación, recupere la sección de asignación de dispositivos de bloques que se incluye en los metadatos de la instancia.

  1. Conéctese a su instancia.

  2. Ejecute el comando lsblk. Si el comando lsblk no está presente, instale el paquete util-linux con las herramientas de administración de paquetes para su distribución de Linux. En el caso de las instancias de Amazon Linux, instale el paquete util-linux mediante el comando yum install. Si desea obtener instrucciones de descarga e instalación para otras distribuciones, consulte la documentación de su distribución:

    $ sudo lsblk

    El siguiente ejemplo de resultado muestra la lista de dispositivos de bloques de una instancia con muchas unidades. Esta instancia se ejecuta en un tipo de instancia que admite volúmenes de almacén de instancias SSD:

    $ sudo lsblk
    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    xvda    202:0    0     8G  0 disk
    └─xvda1 202:1    0     8G  0 part /
    xvdb    202:16   0 745.2G  0 disk
    xvdc    202:32   0 745.2G  0 disk
    xvdd    202:48   0 745.2G  0 disk
    xvde    202:64   0 745.2G  0 disk
  3. Averigüe si xvdb, del resultado del ejemplo anterior, es una unidad efímera. Para ello, recupere los metadatos de block-device-mapping. Utilice la URL base de todas las solicitudes de metadatos de instancia (http://169.254.169.254/latest/meta-data/block-device-mapping):

    $ curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
    sdb
    $ ls -l /dev/sdb
    lrwxrwxrwx 1 root root 4 Aug 27 13:07 /dev/sdb -> xvdb

    En el ejemplo anterior, los dispositivos de bloques para ephemeral0 se asignan a sdb, que es un enlace simbólico a xvdb. Esto significa que xvdb es un dispositivo efímero.

  4. (Opcional) También puede automatizar este proceso para mostrar los dispositivos efímeros de su instancia mediante los siguientes comandos:

    Identificación de los dispositivos de bloques del sistema operativo:

    OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")

    Configuración de la URL de asignación de dispositivos de bloques:

    BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"

    Recorrido por los dispositivos del sistema operativo para buscar la asignación en la asignación de dispositivos de bloques:

    for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral

    A continuación se muestra un ejemplo de los tres comandos descritos anteriormente y su resultado:

    $ OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")
    $ BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"
    $ for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral
    ephemeral0 is xvdb
    ephemeral1 is xvdc
    ephemeral2 is xvdd
    ephemeral3 is xvde
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 8 meses