Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplo: ejecutar operaciones de arranque anticipadas con un boothook de inicio en la nube
Proporcione este script como valor de "userData" en su plantilla de lanzamiento. Para obtener más información, consulte Trabajando con datos de usuario de Amazon EC2 para AWS PC.
Algunas configuraciones deben ejecutarse al principio de la secuencia de arranque, antes de que se inicie el arranque del AWS PCS y antes de que cualquier servicio utilice el hardware. Los casos típicos son los comandos de configuración de la GPU que no pueden surtir efecto mientras los procesos retienen las GPU, como habilitar el modo Multi-Instance GPU (MIG) de NVIDIA, y las operaciones que requieren un reinicio para surtir efecto, como cambiar el modo ECC de la GPU. Reiniciar en esta fase es seguro, ya que el arranque del AWS PCS aún no se ha iniciado. No reinicie más adelante durante el proceso de arranque, por ejemplo, desde un script de acción durante el ciclo de vida de un nodo: si se reinicia allí, se interrumpe la secuencia de arranque del AWS PCS. Para obtener más información, consulte Mejores prácticas para las acciones del ciclo de vida de los nodos en AWS ORDENADORES.
Para crear el gancho de arranque, añada un bloque con el tipo de contenido text/cloud-boothook a sus datos de usuario. El bloque contiene el propio script. Un boothook es el primer enlace disponible en los datos de usuario: lo cloud-init ejecuta tan pronto como procesa el bloque, antes de cloud-config directivas como, por ejemplo, y antes de que el AWS PCS bootcmd bloquee los datos de usuario que registran el nodo. Se ejecuta un boothook en cada arranque, incluido el reinicio que pueda provocar él mismo, por lo que el script debe ser idempotente: compruebe primero el estado actual y omita las tareas que ya se hayan realizado. Para obtener más información, consulte la documentación de cloud-init
El siguiente ejemplo habilita el modo MIG en todas las GPU y crea las instancias MIG en cada arranque. Como aún no se ha iniciado ningún cliente de GPU, el cambio de modo se hace efectivo de inmediato y no es necesario reiniciarlo.
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-boothook; charset="us-ascii" #!/bin/bash if ! nvidia-smi -i 0 -q | grep -A1 'MIG Mode' | grep -q 'Current.*Enabled'; then nvidia-smi -mig 1 fi if [ -z "$(nvidia-smi -L | grep MIG)" ]; then for i in 0 1 2 3 4 5 6 7; do nvidia-smi mig -i $i -cgi 9,14,19,19 -C done fi --==MYBOUNDARY==--
Si la operación indica que es necesario reiniciar, reinicie desde el mismo dispositivo de arranque después del cambio de estado. En el siguiente arranque, las comprobaciones de idempotencia detectan que el trabajo ya se ha realizado, por lo que el nodo continúa con normalidad en el arranque del AWS PCS.