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
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.
Datos en el cuadro de diálogo Search para iniciar la búsqueda del Registro de arranque maestro (MBR)
Resultados de búsqueda:
Haga clic en la imagen para aumentarla
Disk1.arc abierto en el Editor de texto/hexadecimal
Haga clic en la imagen para aumentarla
Disk2.arc abierto en el Editor de texto/hexadecimal. Patrón MBR encontrado.
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)
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.
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).
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.
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).
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.
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 |
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 |
Primer disco de RAID | Segundo disco de RAID | Tercer disco de RAID |
1 | 2 | PD |
3 | PD | 4 |
PD | 5 | 6 |