Ir al contenido principal

Modo Rescate

Hay veces en que un servidor se vuelve inaccesible a través de SSH debido a una red rota, una mala instalación, una mala configuración, una actualización del kernel, malas reglas de firewall, etc. Cuando no puedes acceder a tu servidor (no tienes la contraseña de root o el servidor no arranca) puedes usar nuestro Modo Rescate, que carga una imagen vanilla de Alpine Linux en la RAM de tu servidor.

Si SÍ tiene la contraseña root de su servidor y su clave SSH, debería utilizar nuestra consola Serial Over SSH.

Requisitos

Red de capa 3 - Para que podamos cargar el sistema operativo Rescue en su servidor, éste debe ser accesible en una dirección IP. Por lo tanto, su servidor debe estar en un modo de red de Capa 3 o Híbrido. Si su servidor se encuentra actualmente en una configuración de Capa 2 pura, deberá convertirlo a un modo de red de Capa 3 o Híbrido para poder utilizar el modo Rescue.

Claves SSH - Para acceder al servidor después de que arranque en el SO Rescue debe disponer de una clave SSH válida. El SO Rescue utiliza las claves públicas SSH que están asociadas a su servidor cuando lo aprovisionó inicialmente.

Partición raíz - Dependiendo del tipo de operaciones de reparación o recuperación que necesite realizar, necesitará la ubicación de la partición raíz del sistema operativo original. La mejor forma de encontrar esta información es antes de necesitar el modo de rescate, desde el propio sistema operativo. Por ejemplo, en Ubuntu puede encontrar la partición raíz con df -h.

Arranque en Modo Rescate

Para entrar en el Modo Rescate, puede encontrarlo en la página principal Overview de su servidor. Haga clic en Acciones del servidor, y seleccione Rescue OS en el menú desplegable.

Rescue OS in the Server Actions Menu

Esto reinicia el servidor, carga la imagen Rescue OS Alpine Linux en la RAM y, a continuación, arranca el servidor en Alpine Linux. La dirección IPv4 pública del servidor sigue siendo la misma.

Una vez que el servidor haya arrancado, puede utilizar SSH como root utilizando claves SSH autorizadas. Si previamente había utilizado SSH para conectarse al servidor, es posible que reciba una advertencia de que la clave de host ha cambiado, y para eliminar la clave de host de su archivo de hosts conocidos en la máquina local antes de poder conectarse.

ssh root@<server_ip_address>

Cuando haya iniciado sesión SSH correctamente en el servidor, verá la introducción del sistema operativo Rescue y el símbolo de línea de comandos.

,------. ,--. ,--.
| .---' ,---. ,--.,--.`--',--,--, `--',--. ,--.
| `--, | .-. || || |,--.| \,--. \ `' /
| `---.' '-' |' '' '| || || || | / /. \
`------' `-| | `----' `--'`--''--'`--''--' '--'
`--'
===============================================
OS Rescue Environment
Commit: dd4b2268 (main) BuildNo: unknown
===============================================
Based on Alpine Linux 3.18.4

Use "apk" package manager for additional utilities.
See docs at http://wiki.alpinelinux.org
localhost:~#

Montaje de la partición raíz original

Para solucionar muchos problemas, necesita montar la partición raíz del SO original. Si aún no sabe dónde está la partición raíz del SO original, puede intentar adivinarlo. A menudo, es dev/sda3 o dev/sdc3. En algunos servidores puede estar en dev/mdxxx donde xxx es el número del dispositivo md.

Los ejemplos de esta página montan de dev/sda3 a /mnt.

mount -t ext4 /dev/sda3 /mnt

Una vez que haya montado con éxito una partición, cd a la misma.

cd /mnt

Ejecute ls para ver el sistema de archivos del SO original.

localhost:/mnt# ls

Este ejemplo es de Ubuntu 20.04.

bin home libx32 opt sbin tmp
boot lib lost+found proc snap usr
dev lib32 media root srv var
etc lib64 mnt run sys

Si ha accedido correctamente a la partición raíz, puede repararla.

Casos de uso común y reparaciones

Restablecer la contraseña raíz

En los casos en que normalmente puede SSH en su servidor y no puede utilizar la consola SOS/OOB porque ha olvidado o no ha guardado la contraseña de root, puede restablecerla a través del modo de rescate.

Después de montar el sistema de archivos raíz en /mnt, podemos utilizar chroot para cargar el sistema de archivos montado y utilizar directamente el comando passwd para modificar la contraseña raíz existente.

chroot /mnt /bin/bash
>
passwd

Recuperación de archivos

Si el servidor ya no puede arrancar en el SO original y necesita recuperar algún archivo importante, puede utilizar scp del Modo Rescate para moverlos a otro lugar.

Así, si tiene una carpeta de demostración ubicada en una carpeta /demo de su directorio personal, puede utilizar scp para guardarla en su máquina local.

scp -r root@<server_ip_address>:/mnt/home/demo /User/Downloads

Redimensionar o añadir particiones

Por defecto, la unidad de arranque tendrá una partición raíz que utiliza todo el espacio de la unidad. Algunos servidores tienen unidades adicionales sin formatear, pero si necesita crear varias particiones en la misma unidad de arranque, puede entrar en el modo de rescate para reducir la partición raíz y crear otras nuevas.

El proceso para hacer esto puede diferir dependiendo del sistema de archivos que utilice pero si utiliza un SO con ext4 como Ubuntu, puede utilizar resize2fs y gdisk para redimensionar su sistema de archivos/partición y crear otros adicionales.

Vale la pena señalar que el archivo de configuración cloud-init por defecto en nuestras imágenes tiene habilitados los módulos growpart y resizefs que redimensionarán su partición raíz a su tamaño máximo de unidad si sólo reduce la partición pero no crea otras adicionales. Si desea evitar este comportamiento, puede editar el archivo de configuración cloud-init que se encuentra en /etc/cloud/cloud.cfg para eliminar los módulos -growpart y -resizefs. Una vez que guarde el archivo, cloud-init no debería intentar redimensionar la partición cada vez que arranque el SO.

Paquetes adicionales para Alpine Linux

Es posible que a la imagen Alpine Linux utilizada para el Modo Rescate le falten paquetes necesarios para operaciones especiales. Por ejemplo, para ejecutar fsck necesita instalar el paquete e2fsprogs.

apk add e2fsprogs

Tras una instalación satisfactoria, puede ejecutar fsck en sda1, por ejemplo.

fsck.ext4 -f -y /dev/sda1

Es posible que necesite otros paquetes, como zfs si está formateando una partición con un sistema de archivos distinto de ext4. Puede encontrar todos los paquetes disponibles para instalar en el [directorio de paquetes de Alpine Linux.

Volver al sistema operativo original

Para volver al sistema operativo original, basta con reiniciar el servidor.

De Alpine Linux:

Para reiniciar Alpine Linux, utilice el comando reboot.

reboot

Desde la consola:

Para reiniciar su servidor desde su página Overview, haga clic en Acciones del servidor, y seleccione Reiniciar en el desplegable.

Rebooting a Server from the Console

Una vez que el servidor haya terminado de reiniciarse desde cualquiera de los dos procesos, volverá a arrancar en su sistema operativo original.

¿Fue útil esta página?