Inicializar de volúmenes de Amazon EBS - Amazon Elastic Compute Cloud

Inicializar de volúmenes de Amazon EBS

Los volúmenes de EBS vacíos disponen de su máximo rendimiento en cuanto se crean y no es necesario inicializarlos (proceso que antes se denominaba precalentamiento).

Para los volúmenes creados a partir de instantáneas, los bloques de almacenamiento deben extraerse de Amazon S3 y grabarse en el volumen antes de poder acceder a ellos. Esta acción preliminar lleva tiempo y puede provocar un aumento considerable de la latencia de las operaciones de E/S la primera vez que se accede a cada bloque. El rendimiento del volumen se alcanza después de descargar todos los bloques y de escribirlos en el volumen.

importante

Cuando se inicializan volúmenes Provisioned IOPS SSD que se crearon a partir de instantáneas, el rendimiento del volumen puede descender por debajo del 50 % del nivel esperado, lo que causa que el volumen muestre un estado de warning en la comprobación de estado de I/O Performance (Rendimiento de E/S). Este comportamiento es el esperado y puede hacer caso omiso del estado warning en los volúmenes Provisioned IOPS SSD cuando se están inicializando. Para obtener más información, consulte Comprobaciones de estado de volumen de EBS.

Para la mayoría de las aplicaciones, la amortización del costo de inicialización a lo largo de la vida útil del volumen es aceptable. Para evitar este efecto inicial sobre el rendimiento en un entorno productivo, puede usar una de las opciones siguientes:

  • Forzar la incialización inmediata de todo el volumen. Para obtener más información, consulte Inicializar volúmenes de Amazon EBS en Linux .

  • Habilitar la restauración rápida de instantáneas en una instantánea para garantizar que los volúmenes de EBS creados desde la instantánea se inicialicen por completo durante la creación y proporcionen al instante todo su rendimiento aprovisionado. Para obtener más información, consulte Restauración rápida de instantáneas de Amazon EBS.

Inicializar volúmenes de Amazon EBS en Linux

Los volúmenes de EBS nuevos disponen de su máximo rendimiento en cuanto están disponibles y no es necesario inicializarlos (proceso que antes se denominaba precalentamiento). Con los volúmenes que se han creado a partir de instantáneas, emplee las utilidades dd o fio para leer de todos los bloques de un volumen. Todos los datos que contiene el volumen se conservarán.

Para obtener información acerca de la inicialización de volúmenes de Amazon EBS en Windows, consulte Inicialización de volúmenes de Amazon EBS en Windows.

Para inicializar un volumen creado a partir de una instantánea en Linux

  1. Adjunte el volumen recién restaurado a la instancia de Linux.

  2. Utilice el comando lsblk para enumerar los dispositivos de bloques de la instancia.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 30G 0 disk xvda1 202:1 0 8G 0 disk /

    Aquí puede ver que el nuevo volumen, /dev/xvdf, se ha adjuntado pero no se ha montado porque no hay ninguna ruta en la columna MOUNTPOINT.

  3. Emplee las utilidades dd o fio para leer todos los bloques del dispositivo. El comando dd se instala de manera predeterminada en los sistemas Linux, pero fio es considerablemente más rápido, ya que permite lecturas con varios subprocesos.

    nota

    Este paso puede demorar entre varios minutos y varias horas según el ancho de banda de la instancia EC2, las IOPS aprovisionadas y el tamaño del volumen.

    [dd] El parámetro if (archivo de entrada) debe establecerse en la unidad que desea inicializar. El parámetro of (archivo de salida) debe establecerse en el dispositivo virtual nulo de Linux, /dev/null. El parámetro bs establece el tamaño de los bloques de la operación de lectura; para un rendimiento óptimo, este valor se debe establecer en 1 MB.

    importante

    El uso incorrecto de dd puede destruir fácilmente los datos de un volumen. Asegúrese de seguir con precisión el comando de ejemplo siguiente: Solo el parámetro if=/dev/xvdf variará en función del nombre del dispositivo que lea.

    [ec2-user ~]$ sudo dd if=/dev/xvdf of=/dev/null bs=1M

    [fio] Si ha instalado fio en el sistema, utilice el comando siguiente para inicializar el volumen. El parámetro --filename (archivo de entrada) debe establecerse en la unidad que desea inicializar.

    [ec2-user ~]$ sudo fio --filename=/dev/xvdf --rw=read --bs=128k --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize

    Utilice el siguiente comando para instalar fio en Amazon Linux:

    sudo yum install -y fio

    Para instalar fio en Ubuntu, utilice el siguiente comando:

    sudo apt-get install -y fio

    Cuando la operación finalice, verá un informe de la operación de lectura. El volumen está ahora listo para utilizarse. Para obtener más información, consulte Hacer que un volumen de Amazon EBS esté disponible para su uso en Linux.