Búsqueda de parámetros de RAID

Cuando hablamos de recuperación de datos desde los RAID, supusimos que ya conocíamos los parámetros del RAID. No obstante, en algunos casos no conocemos los parámetros del RAID que se ha de reconstruir. ¿Cómo podemos encontrar los parámetros necesarios? Los proveedores de RAID pueden ayudarle a establecer los valores por defecto, pero a veces los parámetros están personalizados y ahora no los conocemos. ¿Podría R-Studio ayudarnos en este caso? Sí, podemos utilizar el Editor de texto/hexadecimal para analizar los datos de los componentes del RAID con el objetivo de encontrar sus parámetros. En este artículo le mostraremos cómo hacerlo utilizando un ejemplo de un simple RAID 5 NTFS.

Esta tarea requiere por lo menos de unos conocimientos básicos sobre estructuras de datos de RAID y los sistemas de archivos. En caso de que fuera necesario, puede consultar los siguientes sitios web
RAIDs: http://en.wikipedia.org/wiki/RAID
Lo básico de NTFS: http://en.wikipedia.org/wiki/NTFS
Explicación exhaustiva de NTFS: http://technet.microsoft.com/en-us/library/cc758691.aspx

Así que intentemos encontrar los parámetros necesarios para un simple RAID 5 desconocido.

Los parámetros que conocemos son los siguientes:
1. Número de discos: tres
2. Sistema de archivos: NTFS (creado por Windows XP/2003 y luego con la utilización de un Registro de arranque maestro (MBR, Master Boot Record) estándar (bloque de inicio MBR)
3. Tipo: Volumen básico

Los parámetros desconocidos que se han de encontrar son los siguientes:
1. Orden de discos
2. Tamaño de bloque
3. Orden de bloques
4. Desplazamiento de disco

Los discos de RAID están representados en forma de archivos de imagen creados en R-Studio:
Disk1.arc
Disk2.arc
Disk3.arc
Encontrar_los_parametros_de_RAID_Rec1.png
Haga clic en la imagen para aumentarla
Archivos de imagen de los componentes de RAID

Tenga en cuenta que aunque R-Studio haya encontrado un objeto Disk1 en Disk2.arc, esto no quiere decir necesariamente que es el primer disco en el RAID.


Búsqueda del registro de arranque maestro
Primero tenemos que encontrar el MBR para determinar cuál es el desplazamiento de RAID.
1. Abra los tres archivos de imagen uno tras otro en el Editor de texto/hexadecimal.
2. ¡No habilite la escritura para evitar dañar los datos en los objetos que se están editando!
3. Apunte la firma de disco de Windows para cada objeto para poder reconocer más tarde qué ventana del Editor corresponde a cada objeto.
4. Busque el bloque de inicio de MBR. En el cuadro de diálogo Search (Buscar), introduzca 33 C0 8E D0 BC (es un bloque de inicio MBR estándar, pero en algunos casos podría ser diferente) en el campo HEX; luego seleccione From start position (Desde la posición inicial) e introduzca 0 en Search at offset (Búsqueda en el desplazamiento).
5. Haga clic en OK (Aceptar) para iniciar la búsqueda.
Encontrar_los_parametros_de_RAID_2.png
Datos en el cuadro de diálogo Search para iniciar la búsqueda del Registro de arranque maestro (MBR)

Resultados de búsqueda:
Encontrar_los_parametros_de_RAID_Rec2.png
Haga clic en la imagen para aumentarla
Disk1.arc abierto en el Editor de texto/hexadecimal

Encontrar_los_parametros_de_RAID_Rec3.png
Haga clic en la imagen para aumentarla
Disk2.arc abierto en el Editor de texto/hexadecimal. Patrón MBR encontrado.

Encontrar_los_parametros_de_RAID_Rec4.png
Haga clic en la imagen para aumentarla
Disk3.arc abierto en el Editor de texto/hexadecimal. Patrón MBR encontrado.

El resultado consiste en que el Editor de texto/hexadecimal encuentra este patrón en la dirección 00 en Disk2.arc y Disk3.arc; Disk1.arc muestra sólo ceros. Esto quiere decir que el desplazamiento es 0, y Disk1.arc no puede ser el primer disco en el RAID.

Mientras tanto, el Editor reconoce correctamente los patrones de Disk2 y Disco3 como código del cargador de arranque maestro. En nuestro caso, dos discos tienen los mismos datos de MBR en el mismo lugar.

Ahora, como segundo paso, necesitamos encontrar el sector de arranque NTFS
Fíjese en el campo Sectors preceding partition (Sectores que preceden a la partición) en el panel Template (Plantilla
Encontrar_los_parametros_de_RAID_Rec5.png
Haga clic en la imagen para aumentarla
Panel Plantilla para Disk2 y Disk3

En nuestro caso, el sector que precede a la partición es 16,065.

Si este valor es superior a 63, tenemos que dividirlo por N -1 donde N es el número de discos (en nuestro caso, N = 3) y nos da 8,032. Es una posición aproximada para iniciar la búsqueda del sector de arranque NTFS. Iniciaremos la búsqueda desde esta posición para evitar los sectores de arranque NTFS de las anteriores particiones NTFS.

Vaya a ese sector en el Editor y luego busque el patrón de sector de arranque NTFS.
Encontrar_los_parametros_de_RAID_Rec6.png
Haga clic en la imagen para aumentarla
El campo de búsqueda Sectores en el Editor de texto/hexadecimal


En el cuadro de diálogo Search (Buscar), introduzca EB 52 90 4E 54 46 53 20 20 20 20 (el sector de arranque NTFS siempre empieza con estos bytes) en el campo HEX, seleccione From start position (Desde la posición inicial) e introduzca 0 en Search at offset (Búsqueda en el desplazamiento).
Encontrar_los_parametros_de_RAID_6.png
Haga clic en la imagen para aumentarla
Datos en el cuadro de diálogo Search para iniciar la búsqueda del sector de arranque NTFS

El Editor ha encontrado este patrón en el sector 8064 en Disk2 y Disk3.

Ahora seleccione el patrón Boot sector NTFS (Sector de arranque NTFS) en el panel Template.
Encontrar_los_parametros_de_RAID_Rec7.png
Haga clic en la imagen para aumentarla
Disk2.arc abierto en el Editor de texto/hexadecimal. Patrón de sector de arranque NTFS encontrado. Se ha encontrado el mismo patrón en Disk3.arc.

RLos parámetros necesarios que hemos encontrado
Bytes por sector: 512
Sectores por clúster: 8
Número del clúster lógico para el archivo $MFT: 786432

Parámetros encontrados anteriormente:
Desplazamiento de RAID: 0

Ahora tenemos que encontrar en el disco la MFT (tabla maestra de archivos):

1. Intentaremos encontrar un desplazamiento de MFT aproximado desde el inicio de RAID:
El desplazamiento de MFT desde el inicio de la partición en sectores = Número de clúster lógico para el archivo $MFT * Sectores por clúster + desplazamiento de RAID = 786,432*8+0 = 6,291,456
Si el desplazamiento de RAID no es 0, tenemos que añadir el desplazamiento al resultado de la ecuación que aparece más arriba
Inicio de MFT en el primer disco = desplazamiento de MFT desde le inicio de partición en sectores/(N-1) = 6,291,456/2 = 3,145,728

2. Busquemos el inicio de MFT exacto en una posición que sea unos dos mil sectores inferior a este valor. Digamos el sector 3,140,000.
En el cuadro de diálogo Search, introduzca "FILE" en el campo ANSI, luego seleccione From start position (Desde la posición inicial) e introduzca 0 en Search at offset (Búsqueda en el desplazamiento).
Encontrar_los_parametros_de_RAID_8.png
Haga clic en la imagen para aumentarla
Este patrón se encuentra en el sector 10,241,463 en Disk2 y en el sector 3,153,792 en Disk3.

Encontrar_los_parametros_de_RAID_Rec8.png
Haga clic en la imagen para aumentarla
Primer sector de registro de archivo en Disc3. Inicio de bloque de datos.

Importante: La firma FILE termina con 0, lo que significa que el número de registro de archivo no ha sido sobrescrito por un elemento de corrección. Si terminara con * (FILE*), no podríamos seguir con nuestra búsqueda y tendríamos que utilizar otra técnica.

El patrón $.M.F.T. (HEX 24 00 4D 00 46 00 54) indica que es un inicio de MFT válido. Debido a que el sector 3,153,792 es más cercano a nuestro valor esperado de sector 3,145,728 que a sector 10,241,463, podemos suponer que Disk3 es el primer disco en el RAID.

Para seguir, debemos tener en cuenta que un registro de archivo en MFT ocupa dos sectores y que los datos se escriben en RAID 5 de manera sucesiva: un bloque de datos en un disco, luego el siguiente bloque de datos en el siguiente disco y el bloque de paridad en el tercer disco. Podemos mostrar un ejemplo de este esquema en la siguiente tabla…

Primer disco de RAID Segundo disco de RAID Tercer disco de RAID
PD 1 2
3 PD 4
5 6 PD
... en la que los números indican el orden en el que se graban los bloques de datos a sus respectivos discos, y PD significa bloque de "paridad de datos".

(Esta tabla sólo es un ejemplo, en otros casos, el orden de bloques podría ser arbitrario.)

Aquí se indica que los números de registro de archivo en la MFT incrementan por el valor 1 dentro de un bloque de datos. Luego la MFT seguirá en otro disco, donde los números de registro de archivo incrementarán por valor 1 en su bloque de datos respectivo, el tercer disco que contiene el bloque de paridad. Y así sucesivamente.

De modo que para encontrar el tamaño de bloque, nos fijaremos en los números de registro de archivo en este disco para descubrir el lugar en el que ya no se incrementan por el valor 1. Este lugar sería el final de ese bloque de datos. Luego nos fijaremos en otros discos para encontrar el disco y un lugar de ese disco en el que los números de registro de archivo en la MFT de nuevo incrementan por valor 1. Luego veremos otro disco para encontrar el lugar en el que sigue la MFT, y así sucesivamente.

Esta búsqueda se puede realizar al desplazar el texto en el Editor dos sectores hacia abajo.

En Disk 3 el bloque de datos termina en el sector 3,153,919 con el número de registro de archivo 3F 00.

Encontrar_los_parametros_de_RAID_Rec9.png
Haga clic en la imagen para aumentarla
Último registro de archivo en Disk3. El final de bloque de datos se encuentra en el siguiente sector (3,153,919).

Al ver otros discos, podemos observar que esta MFT sigue en Disc1 en el sector 3,153,792 con el número de registro de archivo 40 00 y termina en el sector 3,153,919 con el número de registro de archivo 7F 00. Y así sucesivamente.

Encontrar_los_parametros_de_RAID_Rec10.png
Haga clic en la imagen para aumentarla
El registro de archivo sigue en Disk1. Inicio de bloque de datos.

Encontrar_los_parametros_de_RAID_Rec11.png
Haga clic en la imagen para aumentarla
Último registro de archivo en Disk1. El final del bloque de datos se encuentra en el siguiente sector (3,153,919)

Los resultados finales se muestran en la siguiente tabla:
Disk1 Disk2 Disk3
Sec: 3,153,792 Rec: 40 00
Sec: 3,153,918 Rec: 7F 00
Sec: 3,153,919 Final de cadena
Sec: 3,153,792 No hay registros
Sec: 3,153,918 No hay registros
Sec: 3,153,919: Final de cadena
Sec: 3,153,792 Rec: 00 00
Sec: 3,153,918 Rec: 3F 00
Sec: 3,153,919 Final de cadena
Sec: 3,153,920 Rec: No hay registros
Sec: 3,154,046 Rec: No hay registros
Sec: 3,154,047 Final de cadena
Sec: 3,153,920 Rec: C0 00
Sec: Sec: 3,154,046 Rec: FF 00
Sec: 3,154,047 Final de cadena
Sec: 3,153,920 Rec: 80 00
Sec: 3,154,046 Rec: BF 00
Sec: 3,154,047 Final de cadena
Sec: 3,154,048 Rec: 00 01
Sec: 3,154,174 Rec: 3F 01
Sec: 3,154,175 Final de cadena
Sec: 3,154,048 Rec: 40 01
Sec: Sec: 3,154,174 Rec: 7F 01
Sec: 3,154,175 Final de cadena
Sec: 3,154,048 Rec: No hay registros
Sec: 3,154,174 Rec: No hay registros
Sec: 3,154,175 Final de cadena
No hay registros significa que es un bloque de paridad.

Encontrar_los_parametros_de_RAID_Rec12.png
Haga clic en la imagen para aumentarla
Ejemplo de un sector de paridad

Al ver la tabla que aparece más arriba, podemos deducir los siguientes parámetros:

Orden de discos:
El primer disco de RAID es Disk3.arc
El segundo disco de RAID es Disk1.arc
El tercer disco de RAID es Disk2.arc

Desplazamiento: 0
Tamaño de las bandas: 128 sectores o 65,536 KB (64 KB)
Orden de bandas: (PD significa paridad de datos)

Primer disco de RAID Segundo disco de RAID Tercer disco de RAID
1 2 PD
3 PD 4
PD 5 6

Ahora podemos crear en R-Studio un RAID de estas características
Encontrar_los_parametros_de_RAID_Rec13.png
Haga clic en la imagen para aumentarla
Objeto RAID 5 creado en R-Studio

R-Studio ha encontrado un sistema de archivos válido en el RAID (Partition 1))

Haga doble clic en Partition 1 para enumerar sus archivos:
Encontrar_los_parametros_de_RAID_Rec14.png
Haga clic en la imagen para aumentarla
Estructura de carpetas/archivos encontrada por R-Studio

R-Studio muestra una estructura de carpetas/archivos valida lo que indica una buena señal. Para finalmente verificar que hemos creado el RAID con los parámetros correctos, podemos previsualizar el archivo. El archivo para la vista previa debe ser más grande que el tamaño de bloque * (Número de discos -1). En nuestro caso, es trata de 128 KB.
Encontrar_los_parametros_de_RAID_Rec15.png
Haga clic en la imagen para aumentarla
Vista previa de archivo Picture 236.jpg

La vista previa del archivo se ha realizado con éxito. Hemos creado un RAID con los parámetros correctos.

© Copyright 2000-2016 R-Tools Technology Inc.