Saltar al contenido
TURNKEYGNU / LINUX
AplicacionesDocumentaciónBlogCapturas de pantallaGitHubTurnKey Hub
文Español
EnglishEspañol中文日本語PortuguêsDeutsch
Home/Amazon EC2 / TurnKey Hub - Arreglar problemas de arranque de grub / recuperar contraseña de raíz

Documentación

Amazon EC2 / TurnKey Hub - Arreglar problemas de arranque de grub / recuperar contraseña de raíz

En una VM (o instalación de metal desnudo), puede utilizar un ISO en vivo para corregir muchos problemas de grub, kernel y otros problemas relacionados (por ejemplo, acceso a raíz perdido). Pero en AWS que no es una opción. Sin embargo, es posible adjuntar el volumen raíz de un servidor, a otro servidor, dándole un ambiente algo similar para arreglar muchos problemas grub, boot y relacionados. Esta página ofrece una visión general de cómo hacerlo a través de la consola Hub, AWS y una sesión SSH.

Pasos específicos - incluyendo comandos

Uso las etiquetas de servidor OLD y NEW para denotar el servidor original (broken) y el nuevo servidor temporal respectivamente.

Estos pasos deben hacerse dentro de la consola 'Hub' o 'AWS' como se señala. Los comandos se deben realizar dentro de una shell en su servidor NEW (a través de una sesión SSH).

  1. Hub: Iniciar un servidor NEW dentro del misma zona de disponibilidad que el servidor roto. Esto puede ser cualquier appliance o tamaño, por ejemplo un t2.micro Core estaría bien - pero debe estar en la misma zona de disponibilidad!
  2. Hub: Detén el servidor OLD.
  3. Consola AWS: Una vez que OLD se haya detenido, desprenda el volumen de la raíz.
  4. Consola AWS: Adjuntar el volumen raíz (OLD) a NEW (como volumen secundario). Cuando se le pide punto de montaje, use /dev/sdf.
  5. Inicie sesión en NEW vía SSH: Utilice los siguientes comandos para configurar un chroot y entre en él:
# check that the OLD server volume is attached as /dev/xvdf:
gdisk -l /dev/xvdf

# Assuming OLD server volume is /dev/xvdf, mount it and chroot in:
mkdir /mnt2
mount /dev/xvdf2 /mnt2
mount --bind /dev /mnt2/dev
mount --bind /proc /mnt2/proc
mount --bind /sys /mnt2/sys
chroot /mnt2
  1. SSH - Realizar la(es) fijación(es) en chroot: Asumiendo que eso sucede sin errores, ahora estás dentro del chroot de tu volumen de servidor OLD. Lo que haces después dependerá de qué número estás buscando abordar. Observo algunas posibles correcciones que son relevantes para los problemas de arranque, así como restablecer la contraseña raíz:
# optional: update kernel
apt-get update
apt-get install linux-image-$(dpkg --print-architecture)
apt-get install linux-image-$(uname -r)

# optional: regenerate initramfs (will be run automatically if the kernel is updated)
update-initramfs -u

# Note: as part of the initramfs regeneration process (whether via updating the
# kernel, or manually regenerating) it is expected and normal to see the
# following errors/warnings:
#
# /usr/share/initramfs-tools/scripts/casper-bottom/25autologin: 13: .: Can't open /scripts/casper-functions
# /usr/share/initramfs-tools/scripts/casper-bottom/25singleuser_shell: 6: .: Can't open /scripts/casper-functions
# /usr/share/initramfs-tools/scripts/casper-bottom/25ssh_emptypw: 6: .: Can't open /scripts/casper-functions

# To avoid adding grub boot entries for the host machine (i.e. the NEW server), disable the OS prober
# (note os-prober has no value other than on dual boot machines)
chmod a-x /etc/grub.d/30_os-prober

# reinstall grub2
grub-install --boot-directory=/boot /dev/xvdf
update-grub

# reset root password
passwd root

# add a public SSH key
echo "_keytype_ _public_key_data_ _email_" >> /root/.ssh/authorized_keys
# IMPORTANT: replace "_keytype_ _public_key_data_ _email_" with the contents of your public key.
# email is optional but highly recommended
# También puedes hacer otras cosas como registros de verificación o instalar paquetes adicionales como se desee.
  1. SSH - Volumen OLD desmontable: Espero que todo haya funcionado bien y no hayas recibido ningún error. Suponiendo que así, salga de chroot y desmonte todo:
# exit and tidy up
exit
umount /mnt2/dev
umount /mnt2/proc
umount /mnt2/sys
umount /mnt2
  1. Consola AWS: Unttach OLD volumen raíz de NEW, y reajustar al servidor original (OLD). Especifique el punto de acceso como /dev/xvda.
  2. Hub: Bota OLD - dedos cruzados que ahora arranca! Si es tan grande! Si no, repetir pasos 2-8 probar algunos pasos diferentes dentro de la chroot (Paso 6).
TURNKEYGNU / LINUX

Controla tu infraestructura sin empezar desde cero.

Explorar TurnKey
Acerca deDocumentaciónPreguntas frecuentesBlogGitHub
Libre y de código abiertoSeguro de forma predeterminadaListo para desplegar