jueves, 7 de abril de 2011

Obtener el offset para montar un disco formateado en HP MediaVault

Este post está directamente extraído de un artículo de Steven Pritchard. Un disco montado en un HP MediaVault MV2010 tiene formato reiserfs pero éste no comienza al inicio del disco sino que el sistema de ficheros se ubica tras un offset. El procedimiento para averiguarlo consiste en localizar una cadena de texto en el dispositivo que indica el inicio. La cadena a localizar es "ReIsErFs", "ReIsEr2Fs" ó "ReIsEr3Fs".

Para localizarla se puede utilizar el programa hexedit.

# sudo apt-get install hexedit

Suponiendo que tenemos conectado el disco duro en /dev/sdb

# hexedit /dev/sdb

Pulsar el tabulador para cambiar al campo de visualización ASCII, pulsar / para buscar e introducir la cadena a buscar, en nuestro caso "ReIsErFs"

El editor hexedit indica en la última línea la posición u offset donde la cadena ha sido encontrada. Por ejemplo, en 0x2685A034. Por tanto, el inicio del superbloque estará ubicado en 0x2685A000. Ahora ya tenemos el offset donde se encuentra la cadena, el inicio del sistema de ficheros estará situado 64K antes.

Para montar el sistema de ficheros:

# losetup -o $[646291456 - 65536] /dev/loop0 /dev/sdb
# mkdir /mnt/tmp
# mount -r -t reiserfs /dev/loop0 /mnt/tmp

El sistema de ficheros quedará accesible en /mnt/tmp

Montar automáticamente un disco duro del hp media vault mv2010

Después de averiarse completamente la placa base del HP Media Vault MV2010 que utilizaba con servidor NAS, he decidido configurar una máquina emachines EL1200 con Ubuntu 10.10 como servidor NAS.

Para poder utilizar el disco duro del media vault tal cual, es decir, sin formatearlo y sin perder los datos que contenía, debemos montarlo con un offset diferente (para averiguarlo seguir el procedimiento descrito en la página de Steven Pritchard)

Así pues, los pasos a seguir son:
  1. Conectar el disco duro en un canal SATA y observar en dmesg dónde ha quedado instalado, en mi caso en /dev/sdb
  2. Averiguar el offset empleando el método descrito en el link.
  3. Crear un directorio que servirá de punto de montaje:
    #mkdir /mnt/nevera
  4. Modificar /etc/fstab para que el dispositivo se monte automáticamente, editar con:
    #sudo nano /etc/fstab
    Y añadir la siguiente línea:
/dev/sdb      /media/nevera      reiserfs      rw,loop,offset=5120006144,auto,nodev,sync,user    0     0
    los valores están separados por tabulador

Puedes comprobar que se automontará con:
#sudo mount -a