¿Cómo soluciono el error «No queda espacio en el dispositivo» de AWS Batch?

4 minutos de lectura
0

Recibo el mensaje de error «No queda espacio en el dispositivo» cuando se produce un error en mi trabajo de AWS Batch. ¿Cómo puedo resolver el problema?

Descripción breve

AWS Batch puede mostrar el error «No queda espacio en el dispositivo» por dos motivos:

  • No hay suficiente espacio en disco en el volumen de Docker alojado en Amazon Elastic Block Store (Amazon EBS).
  • (Solo para Amazon Linux 1) Ha alcanzado el límite de almacenamiento predeterminado de Docker de 10 GiB.

Para resolver el error, compruebe primero que el volumen de Docker alojado en Amazon EBS tenga suficiente espacio en disco. Si no hay suficiente espacio en disco, aumente el tamaño del volumen de Amazon EBS. Si hay suficiente espacio en disco, entonces aumente el límite de almacenamiento predeterminado de Docker.

Ambas soluciones requieren la creación de una nueva plantilla de lanzamiento personalizada y un nuevo entorno de cómputos. No puede agregar una nueva plantilla de lanzamiento personalizada a un entorno de cómputo existente en AWS Batch.

**Nota:**La Amazon Linux Amazon Machine Image (AMI) 1 optimizada para Amazon Elastic Container Service (Amazon ECS) estáobsoleta. La AMI de Amazon Linux 2 optimizada para Amazon ECS es la imagen predeterminada que se utiliza al crear un entorno de procesamiento administrado en AWS Batch. Para obtener más información, consulte Configuración de almacenamiento de AMI. Este artículo hace referencia a Amazon Linux 1 únicamente por motivos de compatibilidad con versiones anteriores.

  • Si tiene un AWS Batch ComputeEnvironment que utiliza las AMI de Amazon Linux 1 optimizadas para ECS para lanzar instancias de Amazon Elastic Compute Cloud (Amazon EC2), se recomienda crear un nuevo entorno de computación. A continuación, AWS Batch utiliza la AMI de Amazon Linux 2 optimizada para ECS más reciente disponible en el momento de la creación.
  • Si aparece el error «No queda espacio en el dispositivo» en los trabajos que se ejecutan en una instancia de Amazon EC2 lanzada con la AMI de Amazon Linux 2 optimizada para ECS, aumente el tamaño del volumen raíz (/dev/xvda) para que haya más espacio de almacenamiento disponible para el contenedor.

Resolución

Nota: Si recibe errores al ejecutar comandos de la AWS Command Line Interface (AWS CLI), asegúrese de utilizar la versión más reciente de AWS CLI. También puede usar AWS CloudShell para ejecutar los siguientes comandos.

Compruebe si su volumen de Docker alojado en Amazon EBS tiene suficiente espacio en disco o no

Siga las instrucciones de la ** sección ** Para determinar el almacenamiento disponible para Docker o la configuración ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-storage-config.html) de almacenamiento de [ AMI.

Si no hay suficiente espacio en disco, consulte la sección Para aumentar el tamaño de los volúmenes de Amazon EBS en AWS Batch de este artículo.

-o-

Si hay suficiente espacio en disco, consulte la sección**(solo para Amazon Linux 1) para aumentar el límite de almacenamiento predeterminado de Docker** de este artículo.

Aumente el tamaño de los volúmenes de Amazon EBS en AWS Batch

1.Cree una nueva plantilla de lanzamiento personalizada que cambie el tamaño (añada «VolumeSize» por encima del actual) el volumen de datos de Docker (**/dev/xvda ** en la imagen AL2 predeterminada optimizada para ECS) de sus recursos informáticos de AWS Batch. Para obtener instrucciones, consulte Soporte de plantillas de lanzamiento.

Nota: Si utiliza Amazon Linux 1, asegúrese de introducir los dos volúmenes de Docker requeridos (/dev/xvda y /dev/xvdcz) para el valor** DeviceName**.

  1. Cree un nuevo entorno de cómputo que utilice la nueva plantilla de lanzamiento.

**Nota:**Las instancias de Amazon EC2 asociadas muestran los nuevos tamaños de las unidades cuando AWS Batch activa las instancias.

(Solo para Amazon Linux 1) Para aumentar el límite de almacenamiento predeterminado de Docker

1.Cree una nueva plantilla de lanzamiento personalizada usando el formato de archivo multiparte MIME que aumenta el límite de almacenamiento predeterminado de Docker. Para obtener más información, consulte los datos de usuario de Amazon EC2 en las plantillas de lanzamiento.

**Ejemplo de archivo MIME de varias partes que anula la configuración de imagen de Docker predeterminada para un recurso informático de AWS Batch **

Content-Type: multipart/mixed; boundary="==BOUNDARY=="
MIME-Version: 1.0

--==BOUNDARY==
Content-Type: text/cloud-boothook; charset="us-ascii"
#cloud-boothook
#!/bin/bash
cloud-init-per once docker_options echo 'OPTIONS="${OPTIONS} --storage-opt dm.basesize=20G"' >> /etc/sysconfig/docker

--==BOUNDARY==--

**Importante:**Si utiliza la CLI de AWS o un SDK de AWS, primero debe codificar en base64 los datos del usuario. A continuación, envíe esa cadena como el valor del parámetro UserData cuando llame a la API CreateLaunchTemplate.

  1. Cree un nuevo entorno de cómputo que utilice la nueva plantilla de lanzamiento.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años