Montar un sistema CentOs 6.X en modo rescue es algo sencillo. Lo decepcionante es que pese a que tras realizar las reparaciones y/o verificaciones de nuestro sistema se niegue a arrancar de modo normal, y nos muestre el fatídico mensaje Kernel Panic – not synching attempting to kill init!
Además, nuestro disco Rescue de Centos 6, no reconoce ninguna partición, ni las de los discos, ni las de LVM. Sin embargo, una vez en la shell, vemos que el sistema tiene visible, las particiones, el volumen y las particiones lógicas.
Es hora de tener una solución a mano para dejar nuestro sistema operativo en producción, pese a este problema.
Contenidos
Información alcance artículo
Esta es una experiencia personal usada en máquinas virtuales basadas en KVM/QEMU con Proxmox como frontend, que es el que usamos en Castris para VPS SSD (Manejados o Unmanaged). En realidad la he probado con distintos sistemas que me permiten tener una interface remota para el manejo de el rescue system.
Sistema CentOs 6 con rescue: Rescue Centos, LVM, Kernel Panic – not syncing attempting to kill init
- El VPS original o servidor con Centos 6.X no arranca. Kernel panic – not synching attempting to kill init!
- El VPS o servidor no tiene un sistema failover. Si hay backups pero supondría un tiempo muy alargado.
- El VPS o servidor arrancado en modo Rescue no reconoce ningún disco (ni las particiones lógicas, ni las de LVM)
Bien, el desastre esta servido. No es algo nuevo, pues este tipo de incidencias si bien no son muy comunes, si son posibles, tanto con VPS, sistemas RAID por soft, por hardware, o otras medidas que creemos nos dejan en posición de estar seguros al 100%. Siempre puede haber un fallo, por eso la necesidad de múltiples sistemas de salvaguarda (backup) o de HA (Alta disponibilidad), algo necesario en cualquier sitio web dedicado al comercio electrónico (tiendas virtuales)
Bien, mientras se restauraba una copia completa (Bare Metal) con el software Backup Manager Server de Idera, y dado el tiempo que iba a tomar (entre 4 y 6 horas) por el tamaño de sus discos, decidimos investigar una salida.
Arranque en modo rescue con Centos 6
Lo primero que debemos hacer es realizar un arranque en modo rescue con el disco de nuestra distribución de linux, Centos con activación de la/s tarjeta/s de red.
Como el Rescue System, no ha reconocido nuestras particiones lógicas ni las de LVM2, entraremos en modo shell sin tratar de montar ningín disco (opción Continuar), para realizar las comprobaciones.
Comprobación y check de los discos
Con fdisk revisaremnos las particiones fisicas y logicas de nuestras unidades
root# fdisk -l | grep /dev/ Disk /dev/vda: 155.7 GB, 155692564480 bytes /dev/vda1 * 3 1018 512000 83 Linux /dev/vda2 1018 301674 151530496 Linux LVM
Activación del LVM Volumen y unidades lógicas
Efectuamos un LVM Scan para encontrar los volúmenes físicos de LVM en el sistema y lo activamos.
root# vgscan Reading volume groups from cache. Found volume group "volmen_name" using metadata type lvm2
Activamos los volúmenes lógicos lvm
root# vgchange -ay
Revisamos, verificamos y montamos las particiones lvm
root# lvscan ACTIVE '/dev/centos/tmp' [2,00 GiB] inherit ACTIVE '/dev/centos/swap' [2,00 GiB] inherit ACTIVE '/dev/centos/root' [55,00 GiB] inherit root# fsck -f /dev//
Una vez revisado necesitaremos montar las particiones lógicas de LVM en el orden de / en adelante. Si queremos realizar alguna acción sobre el /boot lo montaremos también.
root# mkdir /mnt/sysimage root# mount /dev// /mnt/sysimage root# mount /dev/ / /mnt/sysimage/home # El escenario dependerá de como tengas particionado tu sistema
Montaje de unidades de procedimientos, dispositivos y dev y chroot en rescue
Después debemos montar los dispositivos de procedimientos, del sistema y el dev.
root# mount –bind /proc /mnt/sysimage/proc root# mount –bind /dev /mnt/sysimage/dev root# mount –bind /sys /mnt/sysimage/sys
Montamos el sistema enjaulado
root# chroot /mnt/sysimage
Si tratamos de activar SSH veremos que nos quedan otro problema cuando tratemos de conectar, ya que nos faltan los terminales.
root# mount -t devpts devpts /dev/pts
A partir de aquí, dependiendo de las cuestiones que queremos realizar, el sistema estará arriba. Deberemos levantar manualmente los servicios (Apache, correo, mysql, postgresql, etc)
En esta situación el sistema estará arriba y al menos nos permitirá trabajar en producción, mientras preparamos una migración en caliente con algún sistema o servidor nuevo. En nuestro caso, utilizamos nuestro script para cpfailover, que nos permite clonar la máquina en otro servidor con cpanel conservando todos los datos de usuarios, cpanel, mysql, apache, dns, etc. Es casi un clon.
Experiencia personal
El procedimiento me funciono a mi, bajo unas circunstancias, en varias ocasiones, con sistemas que se montaron con las primeras versiones de Centos 6, que me dieron mas de un disgusto. Este tipo de operaciones, en las que el problema está ya implicado en las propias copias de seguridad modo snapshot no es nuevo, y deben recordarnos que un único sistema de backup del tipo clonado de disco, no es suficiente. También es bueno imaginarse este escenario, en un proveedor de VPS cuyo soporte no esta incluido, ya sea por que no lo ofrece, o porque tú elegiste lo económico, y no lo tiene. Casí da miedo. No te la juegues. Invierte en la herramienta adecuada para tu proyecto, como nuestros VPS SSD Manejados, y cuenta con los profesionales que resuelven tus preguntas y problemasEnlaces relacionados
- Creating a New Initial RAM Disk
- SSH server on Debian Rescue
- KERNEL PANIC – NOT SYNCING ATTEMPTED TO KILL INIT FIXED
Imagen original downloaded from Freepik diseñada por StartLine y retocada por Abdelkarim Mateos
Comparte este artículo
Artículo Antiguo
Este artículo tiene más de 2 años. Es muy probable que su contenido este anticuado, aunque pueda ser de utilidad, es conveniente que revises otras informaciones al respecto. Si lo encuentras útil o crees que puede ser actualizado, deja tu comentario con la actualización para poder editarlo y que pueda ser útil a los demás.Comparte este articulo en