Usar el sistema de rescate de Linux

En este artículo le mostramos cómo utilizar el sistema de rescate de su Servidor Dedicado de IONOS.

El sistema de rescate (Rescue System) es una herramienta importante para diagnosticar y reparar la instalación del sistema.

Nota: descubra cómo iniciar su servidor en el sistema de rescate aquí.

Mostrar particiones

Puede usar el comando df para mostrar su sistema de archivos:

df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/ram0 31729 26640 5089 84% /

En el sistema de rescate, puede particionar el disco duro interno o corregir ajustes incorrectos. Esta es la partición predeterminada del disco duro de su servidor root:

A tener en cuenta: el siguiente ejemplo muestra una sesión de rescate en servidores root con software raid. Para servidores con hardware raid, la salida de fdisk -l puede diferir.

fdisk -l
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 123 987966 fd Linux raid autodetect
/dev/sda2 124 367 1959930 82 Linux swap / Solaris
/dev/sda4 368 30401 241248105 5 Extended
/dev/sda5 368 976 4891761 fd Linux raid autodetect
/dev/sda6 977 3409 19543041 fd Linux raid autodetect
/dev/sda7 3410 4018 4891761 fd Linux raid autodetect
/dev/sda8 4019 30401 211921416 fd Linux raid autodetect

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 123 987966 fd Linux raid autodetect
/dev/sdb2 124 367 1959930 82 Linux swap / Solaris
/dev/sdb4 368 30401 241248105 5 Extended
/dev/sdb5 368 976 4891761 fd Linux raid autodetect
/dev/sdb6 977 3409 19543041 fd Linux raid autodetect
/dev/sdb7 3410 4018 4891761 fd Linux raid autodetect
/dev/sdb8 4019 30401 211921416 fd Linux raid autodetect

Disk /dev/md8: 217.0 GB, 217007456256 bytes
2 heads, 4 sectors/track, 52980336 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md8 doesn't contain a valid partition table

Disk /dev/md7: 5009 MB, 5009047552 bytes
2 heads, 4 sectors/track, 1222912 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md7 doesn't contain a valid partition table

Disk /dev/md6: 20.0 GB, 20012007424 bytes
2 heads, 4 sectors/track, 4885744 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md6 doesn't contain a valid partition table

Disk /dev/md5: 5009 MB, 5009047552 bytes
2 heads, 4 sectors/track, 1222912 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md5 doesn't contain a valid partition table

Disk /dev/md1: 1011 MB, 1011548160 bytes
2 heads, 4 sectors/track, 246960 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md1 doesn't contain a valid partition table

Si la salida de fdisk no produce una lista, puede haber un problema con el controlador, los discos duros o el cableado. En este caso, póngase en contacto con la Atención al Cliente.

Análisis del sistema de archivos

Primero, debe realizar una comprobación del sistema de archivos en sus particiones de Linux para corregir cualquier error en la estructura de archivos. Tenga en cuenta que las particiones no deben montarse, ya que de lo contrario puede producirse una pérdida de datos.

fsck -f /dev/md1

La salida de una estructura de fichero no defectuosa tiene este aspecto:

fsck 1.40-WIP (07-Apr-2007)
e2fsck 1.40-WIP (07-Apr-2007)
/: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/: ***** FILE SYSTEM WAS MODIFIED *****
/: 7628/123648 files (0.5% non-contiguous), 83136/246960 blocks

No es necesario comprobar md5, md6 y md7, ya que son XFS. Si desea comprobarlos de todos modos, puede usar el comando rescue:~# xfs_check /dev/mdX. Si recibe un mensaje de error, monte y desmonte la partición y vuelva a realizar la comprobación:

xfs_check /dev/md5
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed. Mount the filesystem to replay the log, and unmount it before
re-running xfs_check. If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
mount /dev/md5 /mnt
umount /dev/md5
xfs_check /dev/md5

Si la comprobación no se ejecuta correctamente de nuevo, la partición se puede reparar con xfs_repair. Tenga en cuenta que la opción -L puede provocar la pérdida total de datos. Por lo tanto, siempre debe crear primero una copia de seguridad.

xfs_repair -L /dev/mdx

Montar el disco duro interno

Ahora puede montar el disco duro interno en el directorio /mnt:

mount /dev/md1 /mnt

A tener en cuenta: si su Servidor Dedicado es un Servidor Cloud Dinámico, el comando para montar el disco duro interno es el siguiente:

mount /dev/sda1 /mnt 

Acceder a la lista de sistemas de archivos

Para ver los sistemas de archivos disponibles, se debe acceder a la lista correspondiente (fstab):

cat /mnt/etc/fstab
/dev/md1 / ext3 defaults 1 1
/dev/sda2 none swap sw
/dev/sdb2 none swap sw
/dev/vg00/usr /usr xfs defaults 0 2
/dev/vg00/var /var xfs defaults,usrquota 0 2
/dev/vg00/home /home xfs defaults,usrquota 0 2
devpts /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /tmp tmpfs defaults 0 0

Montar los sistemas de archivos

Ahora monte los sistemas de archivos y cambie al sistema situado en ellos:

mount /dev/vg00/usr /mnt/usr
mount /dev/vg00/var /mnt/var
mount /dev/vg00/home /mnt/home
for f in proc sys dev ; do mount --bind /$f /mnt/$f ; done
# Así se montan los sistemas de archivos /proc, /sys y /dev con un comando en /mnt

Imágenes sin LVM hasta diciembre de 2010

Para imágenes sin Logical Volume Manager (LVM) en las tarifas del servidor hasta diciembre de 2010, debe montar el disco duro interno en el directorio /mnt y cambiar directamente al sistema en él:

mount /dev/md1 /mnt
mount /dev/md5 /mnt/usr
mount /dev/md6 /mnt/var
mount /dev/md7 /mnt/home

Cambiar al entorno chroot

Después de montar las particiones, puede cambiar al sistema instalado en los discos duros mediante chroot. El directorio /mnt es entonces el sistema de archivos root para el shell y todos los programas que se inician desde él.

Después cambiar a chroot, /mnt se convierte en /, /mnt/var/log se convierte en /var/log, etc. Esto significa que algunos programas del sistema normal también funcionan, ya que el punto de referencia / corresponde al sistema normal.

chroot /mnt

Ahora tiene acceso a su sistema completo y puede reparar y/o configurar su sistema de servidor root.

pwd
/
ll
total 112
drwxr-xr-x 2 root root 4096 Jun 15 17:05 bin
drwxr-xr-x 4 root root 4096 Jun 15 17:07 boot
drwxr-xr-x 10 root root 12288 Jun 15 17:05 dev
drwxr-xr-x 75 root root 4096 Jun 30 06:32 etc
drwxr-xr-x 6 root root 66 Jun 30 12:25 home
drwxr-xr-x 9 root root 4096 Jul 2 2008 lib
drwx------ 2 root root 49152 Jun 15 17:07 lost+found
drwxr-xr-x 2 root root 4096 Sep 22 2007 mnt
drwxr-xr-x 4 root root 4096 Jul 2 2008 opt
drwxr-xr-x 2 root root 4096 Jul 9 2008 proc
drwx------ 10 root root 4096 Jun 16 13:35 root
drwxr-xr-x 3 root root 4096 Jun 19 10:13 sbin
drwxr-xr-x 2 root root 4096 Jun 15 16:52 srv
drwxr-xr-x 2 root root 4096 Aug 14 2008 sys
drwxrwxrwt 2 root root 4096 Jun 15 17:07 tmp
drwxr-xr-x 12 root root 141 Jun 15 17:05 usr
drwxr-xr-x 17 root root 4096 Jun 15 17:07 var
lrwxrwxrwx 1 root root 12 Jun 15 17:05 vmlinuz -> boot/vmlinuz
lrwxrwxrwx 1 root root 16 Jun 15 17:05 vmlinuz.old -> boot/vmlinuz.old

Funcionamiento provisional de los servicios del servidor en el entorno chroot

También puede iniciar algunos servicios de servidor a través de los scripts start/stop que se encuentran en /etc/init.d/ del sistema chroot.

Puede iniciar el sistema de base de datos MySQL con /etc/init.d/mysql start, por ejemplo. Después de terminar el trabajo, detenga los servicios de nuevo con el argumento stop en lugar de start. Para MySQL sería /etc/init.d/mysql stop.

A tener en cuenta: no todos los servicios de servidor pueden ser operados en el entorno chroot. El sistema de rescate tampoco debe reemplazar un sistema normal que funcione. Sólo debe iniciar los servicios del servidor en el entorno chroot con fines de reparación.

Desmontar los sistemas de archivos y finalizar la sesión de mantenimiento

Una vez que haya terminado de mantener su servidor root, salga del entorno chroot y desmonte los sistemas de archivos en orden inverso.

A tener en cuenta: un reinicio con sistemas de archivos montados puede llevar a la pérdida de datos.

exit
umount /mnt/home
umount /mnt/var
umount /mnt/usr
umount /mnt

Prueba de memoria

La prueba de memoria memtest86 también se instala en el sistema de rescate, con el que puede comprobar la memoria principal instalada en su servidor.

Tenga en cuenta que el propio sistema de rescate ya utiliza una cierta cantidad de la memoria principal. Por lo tanto, esta memoria ocupada no se puede comprobar con memtest86.

memtest all
[...]
_

Cambiar el modo de inicio a "modo normal"

No olvide cambiar el modo de inicio de su servidor root a modo normal en el menú de configuración antes del próximo reinicio. El cambio se realiza en pocos minutos.

Reiniciar el servidor

Es mejor reiniciar el servidor root a través del shell que activar un reset a través de la herramienta de recuperación desde el menú de configuración. Así que simplemente cambie el modo de inicio a través de la herramienta de recuperación y reinicie el servidor a través del shell con shutdown:

shutdown -rn now
shutdown: sending all processes the TERM signal...
Connection to suempresa.es closed by remote host.
$ _