lunes, 1 de octubre de 2012

Errores de Superbloques en Linux (super-blocks)


 En esta ocasion estamos redactando en vivo desde la computadora de los hechos... !WOW!

Resulta que tengo instalada una computadora (solo la caja, sin monitor, ni teclado, ni raton) para fines de utilizarla como servidor para descargas (Descargas Directas, Torrents, etc.) y almacenamiento de las informaciones que comparto con mi familia, y porque no, algun amigo que llegue y me dice que necesita tal o cual documento.

El tutorial que utilice de guia para instalar lo necesario esta aqui: Parte1 Parte2 Adicional1 Adicional2 Adicional3 

En el dia de hoy resulta que, a consecuencia de los apagones de electricidad de los que padece la zona donde vivo, el disco del sistema presenta un error de 'wrong super-block' o algo asi durante el inicio de Linux. Lo que de verdad provocaba problemas es que para poder completar el proceso de inicio, hay que hacer dos cosas: 1) introducir la contrasena de root y ejecutar comandos que reparen el error o 2) presionar Ctrl + D para completar el inicio, pero como mencione en principio, esta PC no tiene teclado ni raton ni monitor, por lo que hubo que salir corriendo para armar todo esto y comenzar el proceso que les detallo a continuacion (citado textualmente del site donde lo copie):

Lo primero revisa los siguientes enlaces que tienen información sobre el problema que te esté ocurriendo:

* Damaged Superblock
http://www.brunolinux.com/04-The_File_System/Damaged_Superblock.html

* Data recovery technique from corrupted ext2/ext3 filesystem having bad superblock
http://aniraj.blogspot.com/2006/05/data-recovery-technique-from-corrupted.html

A grandes rasgos vienen a decir que: un superbloque o superblock, es un bloque especial que contiene entre otras cosas un "magic number" para identificar el sistema de ficheros, geometria, estadisticas y informacion del 'tunning'. Debido a que este dato es muy importante, normalmente en ext2 y ext3 se guarda un backup del superblock disperso por el disco, tienes algo mas informacion en:

http://www.cyberciti.biz/tips/understanding-unixlinux-filesystem-superblock.html


La parte "buena" es que no necesariamente es tenido por que perder datos, puede que únicamente el superblock esté dañado, si es así puedes probar a recuperarlo de unas de esas copias, ejemplo: 1) Ejecutar "mke2fs -n /dev/hda6" para saber donde estan las copias de seguridad del superblock:

  # mke2fs -n /dev/hda6
  Respaldo del super bloque guardado en los bloques:
  32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, (..)

2) Reintentar un chequeo especificando a e2fsck que use un superblock diferente del 0 (cualquier de los que nos dio mke2fs -n):

  # e2fsck -B 4096 -b 32768 /dev/hda6

3) Si finalmente queremos sustituir el superblock por el de backup utilizar la opcion "-S" de mke2fs. Si el método recuperar el superbloque no te funciona, prueba a montar la partición del siguiente modo, ejemplo:

  # mount -t ext2 -o ro,errors=recover,errors=continue /dev/sdb1 /mnt

Si esto tampoco funciona, y estás seguro de que el fichero "disk-0.img" contiene un sistema de ficheros, y no una imagen de un disco (que podría tener mas de una partición), entonces tendrás que tirar de alguna aplicación tipo "dd_rescue" o similar para tratar de recuperar el contenido, un simple 'dd' para empezar a probar:

  # dd if=/dev/sdb3 of=/sdb3-backup/image/backup

Espero que esta información te sirva de algo y puedes recuperar esa información, suerte :-)

Saludos!

--
Santi Saez
http://woop.es

El enlace que te lleva al origen de esta publicacion es este. En mi caso solo fue necesario aplicar el paso 1 y 2, y pude sacar la informacion que necesitaba, pero muy lamentablemente el sistema no logro recuperarse. Espero que en su caso logren mejores resultados.

0 comentarios:

Publicar un comentario

 
;