Inicializar de volúmenes de Amazon EBS - Amazon EBS

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 de cualquier tipo 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 Instancias de Linux (instancias de Linux) o Instancias de Windows (instancias de Windows).

  • 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.

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=1M --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 Cómo hacer que un volumen de Amazon EBS esté disponible para su uso.

Antes de usar una de estas herramientas, recopile información sobre los discos del sistema del modo siguiente:

Recopilar información sobre los discos del sistema
  1. Utilice el comando wmic para enumerar los discos disponibles en el sistema.

    wmic diskdrive get size,deviceid

    A continuación, se muestra un ejemplo del resultado:

    DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
  2. Identifique el disco de inicialización con dd o fio. La unidad C: se encuentra en \\.\PHYSICALDRIVE0. Puede usar la utilidad diskmgmt.msc para comparar las letras de la unidad con los números de unidad de disco si no tiene seguridad sobre qué número de unidad usar.

Use the dd utility

Complete los procedimientos siguientes para instalar y utilizar dd para inicializar un volumen.

Consideraciones importantes
  • Inicializar un volumen demora entre varios minutos y varias horas según el ancho de banda de la instancia EC2, las IOPS provisionadas y el tamaño del volumen.

  • El uso incorrecto de dd puede destruir fácilmente los datos de un volumen. Asegúrese de seguir este procedimiento con precisión.

Instalar dd para Windows

El programa dd para Windows proporciona una experiencia similar al programa dd que suele estar disponible con los sistemas Linux y Unix y permite inicializar los volúmenes de Amazon EBS que se han creado a partir de instantáneas. Las versiones beta más recientes admiten el dispositivo virtual /dev/null. Si instala una versión anterior, puede utilizar el dispositivo virtual nul en su lugar. La documentación completa está disponible en http://www.chrysocome.net/dd.

  1. Descargue la versión más reciente de los archivos binarios de dd para Windows de http://www.chrysocome.net/dd.

  2. (Opcional) Cree una carpeta para las utilidades de la línea de comandos que sea fácil de encontrar y recordar, por ejemplo C:\bin. Si ya ha designado una carpeta para las utilidades de la línea de comandos, puede usarla en el paso siguiente.

  3. Descomprima el paquete de los binarios y copie el archivo dd.exe en la carpeta de utilidades de la línea de comandos (por ejemplo, C:\bin).

  4. Agregue la carpeta de utilidades de línea de comandos a la variable de entorno Path para que pueda ejecutar los programas de la carpeta desde cualquier ubicación.

    1. Elija Inicio, abra el menú contextual (haga clic con el botón derecho) de Equipo y elija Propiedades.

    2. Elija Configuración avanzada del sistema, Variables de entorno.

    3. En Variables del sistema, seleccione la variable Path y elija Editar.

    4. En Valor de variable, escriba un punto y coma y la ubicación de la carpeta de utilidades de la línea de comandos (;C:\bin\) al final del valor existente.

    5. Elija Aceptar para cerrar la ventana Editar la variable del sistema.

  5. Abra una nueva ventana del símbolo del sistema. El paso anterior no actualiza las variables de entorno en las ventanas del símbolo del sistema actuales. Se actualizan las ventanas del símbolo del sistema que abra ahora que completó el paso anterior.

Inicializar un volumen con dd para Windows

Ejecute el siguiente comando para leer todos los bloques del dispositivo especificado (y enviar el resultado al dispositivo virtual /dev/null). Este comando inicializa con seguridad los datos existentes.

dd if=\\.\PHYSICALDRIVEn of=/dev/null bs=1M --progress --size

Es posible que aparezca un error si dd intenta leer más allá del final del volumen. Puede omitir este error de forma segura.

Si utilizó una versión anterior del comando dd, no es compatible con el dispositivo /dev/null. En su lugar, puede usar el dispositivo nul de la siguiente manera.

dd if=\\.\PHYSICALDRIVEn of=nul bs=1M --progress --size
Use the fio utility

Complete los procedimientos siguientes para instalar y utilizar fio para inicializar un volumen.

Para instalar fio para Windows

El programa fio para Windows proporciona una experiencia similar al programa fio que suele estar disponible con los sistemas Linux y Unix, y permite inicializar los volúmenes de Amazon EBS creados a partir de instantáneas. Para obtener más información, consulte https://github.com/axboe/fio.

  1. Descargue el instalador de fioMSI expandiendo Assets para obtener la última versión y seleccionando el instalador de MSI.

  2. Instale fio.

Para inicializar un volumen con fio para Windows
  1. Ejecute un comando similar al siguiente para inicializar un volumen:

    fio --filename=\\.\PHYSICALDRIVEn --rw=read --bs=128k --iodepth=32 --direct=1 --name=volume-initialize
  2. Cuando la operación finalice, podrá utilizar el nuevo volumen. Para obtener más información, consulte Cómo hacer que un volumen de Amazon EBS esté disponible para su uso.