Solución de problemas de la instancia de Amazon EC2 mediante la consola serie de EC2 - Amazon Elastic Compute Cloud

Solución de problemas de la instancia de Amazon EC2 mediante la consola serie de EC2

Mediante la consola serie de EC2, puede solucionar problemas de arranque, configuración de red y otros problemas conectándose al puerto serie de la instancia.

Consulte las instrucciones del sistema operativo de su instancia y de la herramienta que configuró en su instancia.

nota

Antes de empezar, compruebe que se cumplen los requisitos previos, incluida la configuración de la herramienta de solución de problemas de su elección.

GNU GRUB (abreviatura de GNU Grand Unified Bootloader, comúnmente conocido como GRUB) es el gestor de arranque predeterminado para la mayoría de los sistemas operativos Linux. Desde el menú GRUB, puede seleccionar en qué núcleo desea arrancar, o modificar las entradas del menú para cambiar la forma en que arrancará el kernel. Esto puede ser útil cuando se solucionan problemas en una instancia que falla.

El menú GRUB se muestra durante el proceso de arranque. No se puede acceder al menú a través de SSH normal, pero se puede acceder a él a través de la consola serie de EC2.

Puede arrancar en modo de usuario único o en modo de emergencia. El modo de usuario único iniciará el kernel en un nivel de ejecución inferior. Por ejemplo, podría montar el sistema de archivos pero no activar la red, dándole la oportunidad de realizar el mantenimiento necesario para corregir la instancia. El modo de emergencia es similar al modo de usuario único, excepto que el núcleo se ejecuta en el nivel de ejecución más bajo posible.

Para arrancar en modo de usuario único
  1. Conéctese a la consola serie de la instancia.

  2. Ejecute el siguiente comando para volver a arrancar la instancia.

    [ec2-user ~]$ sudo reboot
  3. Durante el reinicio, cuando aparezca el menú GRUB, pulse cualquier tecla para detener el proceso de arranque.

  4. En el menú GRUB, utilice las teclas de flecha para seleccionar el núcleo en el que se va a arrancar y presione e el teclado.

  5. Utilice las teclas de dirección para localizar el cursor en la línea que contiene el núcleo. La línea comienza con linux o linux16 en función de la AMI que se utilizó para iniciar la instancia. Para Ubuntu, comienzan con dos líneas linux, que deben modificarse en el siguiente paso.

  6. Al final de la línea, agregue la palabra single.

    A continuación se muestra un ejemplo de Amazon Linux 2.

    linux /boot/vmlinuz-4.14.193-149.317.amzn2.aarch64 root=UUID=d33f9c9a-\ dadd-4499-938d-ebbf42c3e499 ro console=tty0 console=ttyS0,115200n8 net.ifname\ s=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.she\ ll=0 single
  7. Presione Ctrl+X para arrancar en modo de usuario único.

  8. En la solicitud de login, escriba el nombre de usuario del usuario basado en contraseña que configuró anteriormente y, a continuación, presione Entrar.

  9. En la solicitud Password, escriba la contraseña y, a continuación, presione Enter (Entrar).

 

Para arrancar en modo de emergencia

Siga los mismos pasos del modo de usuario único, pero en el paso 6 agregue la palabra emergency en lugar de single.

La clave System Request (SysRq), que a veces se conoce como “magic SysRq”, se puede usar para enviar directamente al kernel un comando, fuera de un shell, y el kernel responderá, independientemente de lo que esté haciendo el kernel. Por ejemplo, si la instancia ha dejado de responder, puede usar la clave SysRq para indicar al kernel que se bloquee o se reinicie. Para obtener más información, consulte la tecla Magic SysRq en Wikipedia.

Puede utilizar comandos SysRq en el cliente basado en el explorador de la consola serie de EC2 o en un cliente SSH. El comando para enviar una solicitud de interrupción es diferente para cada cliente.

Para utilizar SysRq, elija uno de los procedimientos siguientes según el cliente que esté utilizando.

Browser-based client
Para utilizar SysRq en el cliente basado en explorador de consola serie
  1. Conéctese a la consola serie de la instancia.

  2. Para enviar una solicitud de interrupción, pulse CTRL+0 (cero). Si el teclado lo admite, también puede enviar una solicitud de interrupción utilizando las teclas Pausa o Descanso.

    [ec2-user ~]$ CTRL+0
  3. Para ejecutar un comando SysRq, presione la tecla del teclado que corresponda al comando requerido. Por ejemplo, para mostrar una lista de comandos SysRq, presione h.

    [ec2-user ~]$ h

    El h comando genera algo similar al siguiente.

    [ 1169.389495] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems (j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r ) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
SSH client
Para usar SysRq en un cliente SSH
  1. Conéctese a la consola serie de la instancia.

  2. Para enviar una solicitud de interrupción, pulse ~B (tilde, seguido de mayúsculas B).

    [ec2-user ~]$ ~B
  3. Para ejecutar un comando SysRq, presione la tecla del teclado que corresponda al comando requerido. Por ejemplo, para mostrar una lista de comandos SysRq, presione h.

    [ec2-user ~]$ h

    El h comando genera algo similar al siguiente.

    [ 1169.389495] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems (j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r ) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
    nota

    El comando que utiliza para enviar una solicitud de interrupción puede ser diferente dependiendo del cliente SSH que esté utilizando.

La capacidad de la Consola de administración especial (SAC) de Windows proporciona una forma de solucionar problemas de una instancia de Windows. Al conectarse a la consola serie de la instancia y usar SAC, puede interrumpir el proceso de arranque e iniciar Windows en modo seguro.

nota

Si habilita SAC en una instancia, los servicios de EC2 que dependen de la recuperación de contraseñas no funcionarán desde la consola de Amazon EC2. Los agentes de lanzamiento de Windows en Amazon EC2 (EC2Config, EC2Launch v1 y EC2Launch v2) dependen de la consola serie para ejecutar diversas tareas. Esas tareas no se ejecutan correctamente cuando se habilita SAC en una instancia. Para obtener más información sobre los agentes de lanzamiento de Windows en Amazon EC2, consulte Configuración de su instancia de Windows de Amazon EC2. Si habilita SAC, podrá desactivarlo más adelante. Para obtener más información, consulte Desactivar SAC y el menú de inicio.

Utilizar SAC

Para utilizar SAC
  1. Conéctese a la consola serie.

    Si SAC se ha habilitado en la instancia, la consola serial muestra el mensaje SAC>.

    El mensaje SAC se muestra en la consola serie.
  2. Para mostrar los comandos SAC, ingrese ? y, a continuación, pulse Enter (Intro).

    Resultado previsto

    Ingrese un signo de interrogación para mostrar los comandos de SAC.
  3. Para crear un canal de símbolo del sistema (como cmd0001 o cmd0002), ingrese cmd y, a continuación, pulse Enter (Ingresar).

  4. Para ver el canal del símbolo del sistema, pulse ESC y, a continuación, TAB.

    Resultado previsto

    El canal del símbolo del sistema.
  5. Para cambiar de canal, pulse simultáneamente ESC+TAB+número de canal. Por ejemplo, para cambiar al canal cmd0002 (si se ha creado), pulse ESC+TAB+2.

  6. Escriba las credenciales requeridas por el canal del símbolo del sistema.

    El símbolo del sistema que requiere credenciales.

    El símbolo del sistema es el mismo intérprete de comandos con todas las funciones que obtiene en un escritorio, pero con la excepción de que no permite la lectura de caracteres que ya se produjeron.

    Un intérprete de comandos con todas las características.

PowerShell también se puede utilizar desde el símbolo del sistema.

Tenga en cuenta que es posible que deba establecer la preferencia de progreso en modo silencioso.

PowerShell en el símbolo del sistema.

Usar el menú de inicio

Si la instancia tiene habilitado el menú de inicio y se reinicia después de conectarse a través de SSH, debería ver el menú de arranque, como se indica a continuación.

El menú de arranque del símbolo del sistema.

Comandos del menú Reiniciar

ENTER (INTRO)

Inicia la entrada seleccionada del sistema operativo.

TAB

Cambia al menú Herramientas.

ESC

Cancela y reinicia la instancia.

ESC seguido de 8

Equivalente a presionar F8. Muestra opciones avanzadas para el elemento seleccionado.

Tecla ESC + flecha izquierda

Vuelve al menú de inicio inicial.

nota

La tecla ESC por sí sola no lo lleva de vuelta al menú principal porque Windows está esperando a ver si hay una secuencia de escape en curso.

Opciones de arranque avanzadas.

Desactivar SAC y el menú de inicio

Si habilita SAC y el menú de inicio, podrá desactivar estas funciones más adelante.

Utilice uno de los métodos siguientes para desactivar SAC y el menú de inicio en una instancia.

PowerShell
Para desactivar SAC y el menú de inicio en una instancia de Windows
  1. Conéctese a la instancia y realice los siguientes pasos desde la línea de comandos elevada de PowerShell.

  2. En primer lugar, desactive el menú de inicio cambiando el valor a no.

    bcdedit /set '{bootmgr}' displaybootmenu no
  3. A continuación, desactive SAC cambiando el valor a off.

    bcdedit /ems '{current}' off
  4. Aplique la configuración actualizada reiniciando la instancia.

    shutdown -r -t 0
Command prompt
Para desactivar SAC y el menú de inicio en una instancia de Windows
  1. Conéctese a la instancia y realice los siguientes pasos desde el símbolo del sistema.

  2. En primer lugar, desactive el menú de inicio cambiando el valor a no.

    bcdedit /set {bootmgr} displaybootmenu no
  3. A continuación, desactive SAC cambiando el valor a off.

    bcdedit /ems {current} off
  4. Aplique la configuración actualizada reiniciando la instancia.

    shutdown -r -t 0