20
3 SISTEMAS DE ARCHIVOS ........................................................................................................... 2 3.1. INTRODUCCIÓN ............................................................................................................................ 2 3.2. CARACTERÍSTICAS DE LOS SISTEMAS DE ARCHIVOS ..................................................................... 3 3.3. EL SISTEMA DE ARCHIVOS FAT .................................................................................................... 4 3.4. EL SISTEMA DE ARCHIVOS NTFS.................................................................................................. 7 3.5. LOS SISTEMAS DE ARCHIVOS EXT2 Y EXT3 ................................................................................ 11 BIBLIOGRAFÍA SOBRE SISTEMAS DE ARCHIVOS ....................................................................................... 14 3.6. DESFRAGMENTACIÓN DE LOS SISTEMAS DE ARCHIVOS ............................................................... 15 3.7. BACKUP DE LOS SISTEMAS DE ARCHIVOS ................................................................................... 17 3.8. RECUPERACIÓN DE LOS SISTEMAS DE ARCHIVOS ........................................................................ 19

3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

  • Upload
    others

  • View
    23

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

3 SISTEMAS DE ARCHIVOS ........................................................................................................... 2

3.1. INTRODUCCIÓN ............................................................................................................................ 2 3.2. CARACTERÍSTICAS DE LOS SISTEMAS DE ARCHIVOS ..................................................................... 3 3.3. EL SISTEMA DE ARCHIVOS FAT .................................................................................................... 4 3.4. EL SISTEMA DE ARCHIVOS NTFS .................................................................................................. 7 3.5. LOS SISTEMAS DE ARCHIVOS EXT2 Y EXT3 ................................................................................ 11 BIBLIOGRAFÍA SOBRE SISTEMAS DE ARCHIVOS ....................................................................................... 14 3.6. DESFRAGMENTACIÓN DE LOS SISTEMAS DE ARCHIVOS ............................................................... 15 3.7. BACKUP DE LOS SISTEMAS DE ARCHIVOS ................................................................................... 17 3.8. RECUPERACIÓN DE LOS SISTEMAS DE ARCHIVOS ........................................................................ 19

Page 2: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

2

3 Sistemas de archivos

En este tema se introducirán los sistemas de archivos empleados en los discos duros,

prestando especial atención a la organización de la información en el disco y a las

propiedades que se derivan. Finalmente a nivel de ejemplo se presentan los sistemas de

archivos en disco más empleados en el mundo PC.

Quedan fuera de los objetivos del tema el tratar otros sistemas de archivos, como los

sistemas de archivos de red, CD/DVD, etc.

Hay dispositivos que emplean sistemas de archivos idénticos o similares a los de los discos

duros, como son las memorias extraíbles USB. Por lo tanto, la información proporcionada

también será válida para este tipo de dispositivos.

El conocimiento interno de los sistemas de archivos permitirá llevar a cabo de forma más

eficiente la recuperación de información de discos duros.

3.1. Introducción

En el tema anterior se comentó que los discos duros se particionaban con la intención de

dividir el discos en zonas aisladas unas de otras, denominadas particiones. Cada partición no

es más que un conjunto de sectores consecutivos dentro del disco.

En el caso del PC, hay particiones primarias y particiones extendidas, hasta un máximo de

cuatro en total. Las particiones extendidas son contenedores de unidades lógicas que pueden

entenderse como particiones dentro de las unidades extendidas. Cada partición primaria o

unidad lógica puede albergar un sistema de archivos diferente.

Para que una partición albergue un determinado sistema de archivos es necesario

formatearla. Por ejemplo, Windows utiliza la utilidad format para ello, mientras que Unix

utiliza la utilidad mkfs. Durante el formateo además se suele llevar a cabo una comprobación

de la superficie del disco para desechar sectores defectuosos1.

Desde el punto de vista del sistema operativo cada sistema de archivos es visto como un

volumen. El sistema operativo asocia a cada volumen un identificador único. Por ejemplo,

Windows típicamente asocia una letra a cada volumen2 (A:, C:, etc), mientras que Unix

asocia un nombre de dispositivo a cada volumen (/dev/hda1, /dev/hda2, etc).

Un sistema de archivos no es más que una gran estructura de datos que ocupa la totalidad del

volumen, en la cual se almacenan datos, así como información de localización de estos.

Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3.

Durante el proceso de formateo, la gran estructura de datos que constituye el sistema de

ficheros se inicializa. Una vez una partición ha sido formateada, ésta es accesible para la

lectura y escritura de datos.

Los sistemas operativos suelen disponer de un driver para cada sistema de archivos o familia

de sistemas de archivos, el cual se comunica con el driver asociado al dispositivo hardware

de almacenamiento.

1 En el caso de Windows es la opción por defecto, mientras que en Linux debe especificarse con la opción –c

de la utilidad mkfs.

2 En el caso de sistemas de archivos NTFS, es posible montar el volumen dentro de un subdirectorio, en la línea

de los sistemas de archivos Unix.

Page 3: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

3

La asignación de espacio de almacenamiento dentro de un sistema de archivos no suele

hacerse sector a sector, ya que sería demasiado costosa, sino empleando un número prefijado

de sectores. La unidad mínima de asignación de almacenamiento en el sistema de ficheros

recibe el nombre de cluster. Por ejemplo, en el sistema de archivos NTFS el tamaño del

cluster es típicamente de 8 sectores, esto es, 4 KBytes. Por ejemplo, se asocian dos clusters a

un archivo de 7 KBytes, lo que supone un desperdicio de 1 KByte. Estadísticamente, cada

archivo desperdicia en término medio unos 2 KBytes de la partición NTFS. Se trata de una

cantidad que puede ser relevante cuando hay muchos archivos pequeños, pero poco

importante cuando los archivos son grandes3. Normalmente, la herramienta de formateo

empleada elige el tamaño del cluster en función del tamaño del volumen, salvo que el

usuario especifique su valor.

Debe tenerse en cuenta que al final del volumen puede haber sectores no usados que no

alcanzan el número suficiente para formar un cluster.

Los sistemas de archivos admiten diferentes tamaños de sector, aunque en la práctica todos

ellos emplean sectores de tamaño 512 bytes, pues es el tamaño estándar en los discos duros

empleados en los PCs. Para nosotros el sector tendrá siempre un tamaño de 512 bytes.

3.2. Características de los sistemas de archivos

Aunque todos los sistemas de archivos persiguen el mismo propósito, almacenar archivos,

no todos incorporan la misma funcionalidad ni son igual de eficientes. A continuación,

vamos a resumir las principales características de los sistemas de archivos, las cuales sirven

como base para comparar unos con otros:

Rendimiento. La velocidad de las operaciones de lectura y escritura en el disco no

sólo dependen de aspectos hardware del sistema, como la velocidad del disco, sino

también del sistema de archivos empleado. A la hora de evaluar las mejoras de

rendimiento, debe tenerse en cuenta que estas dependen mucho del tamaño de los

archivos involucrados. Por lo general, los sistemas de archivos más modernos suelen

incorporar mejoras de rendimiento.

Fiabilidad. Algunos sistemas de archivos son más tolerantes a fallos que otros. Por

ejemplo, hay sistemas de archivos que incluyen copias de seguridad de las estructuras

de datos clave del sistema de archivos, detectan clusters defectuosos que son

remapeados a clusters libres y llevan a cabo un registro de transaccciones4

(journaling). La inclusión de registro de transacciones suele tener un pequeño

impacto negativo sobre el rendimiento, pues la escritura en el archivo de registro

tiene un coste temporal.

Limitaciones de tamaño. Todos los sistemas de archivos tienen limitaciones en

cuanto al tamaño máximo del sistema de archivos soportado, máximo tamaño de

archivos, máximo número de caracteres en el nombre de archivos, etc.

3 La elección del tamaño del cluster por parte del sistema operativo es importante desde el punto del

rendimiento y la eficiencia de almacenamiento.

4 La mayor parte de las operaciones sobre disco requieren varias etapas. Por ejemplo, el borrado de un archivo

requiere eliminar la entrada de directorio correspondiente y además liberar los clusters usados de la lista

correspondiente. Si el sistema cae nada más eliminar la entrada de directorio, se pierde la consistencia del

sistema de archivos. Llevando un registro de transacciones, la transacción se puede completar cuando el

sistema arranque de nuevo y se compruebe la consistencia del sistema de archivos.

Page 4: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

4

Encriptación. En algunos sistemas de archivos la información en el disco se puede

guardar de forma encriptada, lo que dificulta la obtención de información del disco

duro por parte de otras personas. La encriptación de los sistemas de archivos5 se lleva

a cabo normalmente por software, por lo que afecta negativamente al rendimiento del

sistema. La clave de encriptación suele guardarse en el sistema de archivos

encriptada mediante una clave del usuario.

Compresión. Algunos sistemas de archivos permiten la compresión de archivos de

forma transparente al usuario. De nuevo, esto afecta negativamente al rendimiento

del sistema.

Metadatos que incorpora. Los sistemas de archivos no sólo almacenan archivos

(datos), sino también información acerca de los archivos (metadatos). Ejemplo de

metadatos son las fechas de creación de archivos, fechas de último acceso y las listas

de control de acceso.

Cuotas. Permiten establecer límites sobre la capacidad del sistema de archivos

empleada por usuarios o grupos de usuarios.

3.3. El sistema de archivos FAT

Se trata un sistema de archivos muy simple en su esencia, empleado ya desde los primeros

PCs. Actualmente se puede encontrar en tres versiones: FAT12, FAT16 y FAT32. FAT12 se

emplea típicamente en disquetes, mientras que FAT16 y FAT32 en discos duros y memorias

USB extraíbles. La diferencia básica entre los sistemas de archivos FAT12, FAT16 y FAT32

es el número de bits empleados para identificar los clusters del disco. FAT12 emplea 12 bits

y FAT16 16 bits. La implementación actual de FAT32 emplea sólo 28 de los 32 bits

disponibles. El máximo número de clusters es algo inferior a 212

= 4K para FAT12, 216

=

64 K para FAT16 y 228

= 256 M clusters para FAT32, pues hay clusters reservados.

En el caso de los disquetes de 1,44 Mbytes, el cluster coincide con el sector. En el caso de

los discos duros que emplean formato FAT16 o FAT32, el tamaño del cluster suele depender

del tamaño del volumen. No obstante, según la especificación de Microsoft, en ningún caso

el tamaño del cluster puede ser superior a 32 Kbytes (64 sectores). Por ejemplo, en el caso

de FAT16 esto plantea un límite de (216

x 64 x 512) = 2 Gbytes.Por ejemplo, una memoria

USB de 8 Gbytes y con una única partición, no debería emplear el sistema de archivos

FAT16, pues no sería posible acceder a los últimos 6 Gbytes. En su lugar, debería emplearse

el sistema de archivos FAT32.

La organización de la información en un volumen FAT depende de si se trata de un volumen

FAT12, FAT16 o FAT32, tal como se muestra en la figura.

5 Los PCs portátiles modernos tienen la posibilidad de llevar a cabo encriptación hardware, pero ésta suele

hacerse de forma global para todos los accesos al disco duro.

Page 5: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

5

El volumen FAT se divide en varias zonas consecutivas:

Reserved Area. Se trata de una zona que define el punto de entrada al sistema de

archivos así como sus parámetros. En el caso de un volumen FAT12 o FAT16 tiene

un tamaño de 1 sector, es decir, coincide con el sector de arranque. En el caso de un

volumen FAT32 puede tomar cualquier valor positivo, especificado en el sector de

arranque. El área reservada contiene los siguientes sectores:

o Sector de arranque, ubicado en el primer sector del volumen. Está dividido en

los siguientes campos:

Salto al código de arranque (bytes 0h a 2h).

Cadena de texto que identifica el SO o fabricante (bytes 3h a Ah).

BIOS Parameter Block (BPB). Describe la geometría del volumen y

características básicas del sistema de archivos (bytes Bh a 59h).

Código de arranque (bytes 5Ah a 1FDh).

Firma 55AAh (bytes 1FEh y 1FFh).

o FSInfo Sector. Se trata de un sector que especifica el número de clusters

libres así como información para buscar el próximo cluster libre6. Esta

característica está presente sólo en el sistema de archivos FAT32.

o Backup del sector de arranque. Se almacena en el sector 6 y contiene una

copia del primer sector, por si éste se estropea. Esta característica está

presente sólo en el sistema de archivos FAT32.

A continuación se muestra un ejemplo de sector de arranque FAT32.

6 Típicamente incluye el índice del último cluster que ha sido asignado.

Page 6: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

6

0000 EB 58 90 4D 53 44 4F 53 35 2E 30 00 02 10 24 00 .X.MSDOS5.0...$.

0010 02 00 00 00 00 F8 00 00 3F 00 FF 00 3F 00 00 00 ........?...?...

0020 1D 91 11 01 2A 22 00 00 00 00 00 00 02 00 00 00 ....*".......... 0030 01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0040 80 00 29 F1 9E 5E 5E 4E 4F 20 4E 41 4D 45 20 20 ..)..^^NO NAME 0050 20 20 46 41 54 33 32 20 20 20 33 C9 8E D1 BC F4 FAT32 3..... 0060 7B 8E C1 8E D9 BD 00 7C 88 4E 02 8A 56 40 B4 08 {......|.N..V@.. 0070 CD 13 73 05 B9 FF FF 8A F1 66 0F B6 C6 40 66 0F ..s......f...@f. 0080 B6 D1 80 E2 3F F7 E2 86 CD C0 ED 06 41 66 0F B7 ....?.......Af.. 0090 C9 66 F7 E1 66 89 46 F8 83 7E 16 00 75 38 83 7E .f..f.F..~..u8.~ 00A0 2A 00 77 32 66 8B 46 1C 66 83 C0 0C BB 00 80 B9 *.w2f.F.f....... 00B0 01 00 E8 2B 00 E9 48 03 A0 FA 7D B4 7D 8B F0 AC ...+..H...}.}... 00C0 84 C0 74 17 3C FF 74 09 B4 0E BB 07 00 CD 10 EB ..t.<.t......... 00D0 EE A0 FB 7D EB E5 A0 F9 7D EB E0 98 CD 16 CD 19 ...}....}....... 00E0 66 60 66 3B 46 F8 0F 82 4A 00 66 6A 00 66 50 06 f`f;F...J.fj.fP. 00F0 53 66 68 10 00 01 00 80 7E 02 00 0F 85 20 00 B4 Sfh.....~.... .. 0100 41 BB AA 55 8A 56 40 CD 13 0F 82 1C 00 81 FB 55 [email protected] 0110 AA 0F 85 14 00 F6 C1 01 0F 84 0D 00 FE 46 02 B4 .............F.. 0120 42 8A 56 40 8B F4 CD 13 B0 F9 66 58 66 58 66 58 [email protected] 0130 66 58 EB 2A 66 33 D2 66 0F B7 4E 18 66 F7 F1 FE fX.*f3.f..N.f... 0140 C2 8A CA 66 8B D0 66 C1 EA 10 F7 76 1A 86 D6 8A ...f..f....v.... 0150 56 40 8A E8 C0 E4 06 0A CC B8 01 02 CD 13 66 61 [email protected] 0160 0F 82 54 FF 81 C3 00 02 66 40 49 0F 85 71 FF C3 [email protected]..

0170 4E 54 4C 44 52 20 20 20 20 20 20 00 00 00 00 00 NTLDR ..... 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 01A0 00 00 00 00 00 00 00 00 00 00 00 00 0D 0A 43 61 ..............Ca 01B0 6E 6E 6F 74 20 73 74 61 72 74 2E 20 20 52 65 6D nnot start. Rem 01C0 6F 76 65 20 6D 65 64 69 61 2E FF 0D 0A 44 69 73 ove media....Dis 01D0 6B 20 65 72 72 6F 72 FF 0D 0A 50 72 65 73 73 20 k error...Press 01E0 61 6E 79 20 6B 65 79 20 74 6F 20 72 65 73 74 61 any key to resta 01F0 72 74 0D 0A 00 00 00 00 00 AC CB D8 00 00 55 AA rt............U.

Root Directory. Se trata del directorio raíz del volumen. Si el sistema de archivos es

FAT12 o FAT16 se encuentra fuera del área de datos, justo después de las FATs y su

tamaño se especifica en el BIOS Parameter Block (BPB). Si el sistema de archivos es

FAT32 se encuentra dentro del área de datos y el cluster de comienzo se especifica

también en el BPB. En cualquier caso, cada una de sus entradas tiene un tamaño de

32 bytes.

FAT Area. Esta área suele contener dos FATs. La segunda FAT es una réplica de la

primera, la cual pasa a emplearse cuando la primera resulta inservible. Cada FAT es

una tabla con entradas de 12, 16 ó 32 bits, dependiendo del tipo de sistema de

archivos FAT. Cada entrada de la FAT almacena un número de cluster que indica

típicamente el siguiente cluster de datos del archivo o directorio. Hay valores

especiales de cluster que indican un cluster defectuoso, un cluster reservado, un

cluster libre, o un finalizador para indicar el final del archivo o directorio. Cada

directorio y archivo, excepto el directorio raíz, tiene asociado un cluster inicial,

definido por su entrada dentro del directorio padre que lo contiene.

Data Area. Contiene todos los datos y metadatos de los archivos y directorios del

volumen. Los clusters de esta área se numeran comenzando por el 2. En el caso de

los volúmenes FAT32, el cluster 2 se emplea como primer cluster del directorio raíz,

salvo que éste sea defectuoso, en cuyo caso suele elegirse el siguiente7.

Un directorio no es más que un archivo especial cuyos datos se organizan en entradas. Cada

una de las entradas de directorio tiene un tamaño de 32 bytes, en las cuales se almacena el

7 El hecho de que el directorio raíz no tenga que ubicarse en unos sectores fijos es útil en presencia de sectores

defectuosos. Además le permite crecer o decrecer en función del número de entradas necesarias, como

cualquier otro archivo o directorio.

Page 7: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

7

nombre de un archivo/subdirectorio, número de su primer cluster y otro tipo de metadatos,

como fecha de creación, tamaño8, etc.

La figura muestra un ejemplo de ubicación del archivo /dir1/file1.txt en un sistema de

archivos FAT32.

Los nombres de directorios FAT están formados a los sumo por 8 caracteres ASCII, mientras

que los nombres de archivos FAT están formados a lo sumo por 8+3 caracteres ASCII, 8

para el nombre y 3 para la extensión.

En una revisión posterior de los sistemas de archivos FAT se añadió un nuevo tipo de

entrada de directorio que permite emplear nombres de archivo y directorio largos de hasta

255 caracteres Unicode de 16 bits.

3.4. El sistema de archivos NTFS

Los sistemas de archivos FAT son muy sencillos y no proporcionan ninguna de las

características de los sistemas de archivos modernos, tales como journaling, cuotas, control

de acceso, etc. Su única ventaja es la velocidad en volúmenes pequeños. A día de hoy los

sistemas de archivos FAT se emplean solamente en memorias USB y tarjetas de memoria

FLASH9.

Microsoft con la introducción del sistema operativo Windows NT, precursor de las versiones

actuales de Windows, introdujo un nuevo sistema de archivos denominado NTFS. Pocos

años después se convirtió en el sistema de archivos para discos duros estándar en todas las

versiones de Windows. Uno de los problemas actuales de este sistema de archivos es que

8 El tamaño máximo del archivo es de 4 GBytes, pues la entrada de directorio especifica el tamaño con 4 bytes.

9 Dispositivos de electrónica de consumo como móviles, cámaras de fotos, grabadores de TDT, reproductores

de DVD, etc., permiten la conexión de memorias USB y tarjetas de memoria exclusivamente con sistemas de

archivos FAT. La razón es que al tratarse de un sistema de archivos tan sencillo, se simplifica y abarata

enormemente el hardware de acceso al mismo.

Page 8: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

8

Microsoft, su creador, no ha publicado una especificación completa de dicho sistema de

archivos, sino sólo ciertas partes del mismo10

.

La idea clave del sistema de archivos NTFS es que los metadatos se almacenan también en

archivos. Por lo tanto, las estructuras de control del sistema de archivos no están

almacenadas en lugares prefijados, sino que al ser archivos, pueden ubicarse en cualquier

lugar del disco, como cualquier otro archivo. La única excepción es el punto de entrada al

sistema de archivos, definido en archivo $Boot, ubicado al principio del volumen.

La estructura de datos clave del sistema de archivos NTFS es la MFT (Master File Table).

Se trata de un archivo de nombre $MFT que contiene al menos una entrada por cada archivo

y directorio del sistema. La ubicación del archivo MFT está definida en el archivo $Boot.

El volumen NTFS está dividido en las zonas mostradas en la figura.

$Boot Datos

NTFSCopia del

sector de

arranque

La zona de datos incluye todos los archivos NTFS excepto el archivo $Boot.

Al final del volumen NTFS se deja una copia del primer sector del volumen, pues en caso de

pérdida, el volumen sería inaccesible.

El archivo $Boot es el único archivo NTFS ubicado en una posición fija dentro del volumen.

Está formado por los 16 primeros sectores del volumen. El primero de sus sectores es el

sector de arranque del volumen NTFS, el cual coincide con el primer sector del cluster 0.

Por lo tanto, el archivo $Boot comienza en el cluster 0.

Durante el arranque desde la partición NTFS, el sector de arranque anterior es cargado en

memoria y se lleva a cabo un salto a la primera posición en memoria del sector. En la

primera posición se encuentra una instrucción de salto que produce el salto a la posición la

primera instrucción del Initial Program Loader (IPL). El IPL es el fragmento de código que

comienza en la posición 0054h y termina en la posición 01FDh del sector de arranque. Su

misión es cargar el archivo ntldr en el caso de Windows XP, o el bootmgr en el caso de

Windows Vista, el cual arranca el sistema operativo11

. Esto requiere la lectura previa de la

MTF, para localizar el directorio raíz del sistema de archivos NTFS y así poder localizar el

archivo ntldr (o bootmgr) y cargarlo en memoria. Debido a la complejidad de acceso al

sistema de ficheros NTFS, el IPL carga en memoria los 15 sectores siguientes12

, los cuales

constituyen la extensión del IPL, y prosigue la ejecución. En un momento dado de su

ejecución, el IPL carga en memoria el archivo ntldr (o bootmgr) y le transfiere el control.

10

En la actualidad uno de los grupos de desarrollo de Linux está trabajando en obtener la máxima información

posible sobre la especificación NTFS, para completar el driver NTFS de Linux. http://www.linux-ntfs.org

11 Esta situación es la que se tiene cuando se formatea empleando herramientas de Windows XP o Vista.

Empleando herramientas de terceros podría cargarse otro archivo diferente o incluso no existir código de

arranque si no es necesario arrancar desde el volumen.

12 Los últimos 15 sectores constituyen la extensión del IPL (aunque en la práctica sólo se usan los 5 primeros).

Los 16 sectores en total forman parte del archivo $Boot del sistema de ficheros NTFS.

Page 9: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

9

Al final del sector de arranque se encuentra la firma 55AAh. La figura muestra un ejemplo

de sector de arranque del volumen.

0000 EB 52 90 4E 54 46 53 20 20 20 20 00 02 08 00 00 ëRミNTFS ..... 0010 00 00 00 00 00 F8 00 00 3F 00 FF 00 3F 00 00 00 .....ø..?...?...

0020 00 00 00 00 80 00 80 00 FD 25 9C 00 00 00 00 00 ....€.€.ý%œ.....

0030 04 00 00 00 00 00 00 00 5F C2 09 00 00 00 00 00 ........_Â......

0040 F6 00 00 00 01 00 00 00 5E EE 3A D8 12 3B D8 98 ö.......^î:Ø.;ؘ

0050 00 00 00 00 FA 33 C0 8E D0 BC 00 7C FB B8 C0 07 ....ú3ÀŽÐ¼.|û¸À.

0060 8E D8 E8 16 00 B8 00 0D 8E C0 33 DB C6 06 0E 00 ŽØè..¸..ŽÀ3ÛÆ...

0070 10 E8 53 00 68 00 0D 68 6A 02 CB 8A 16 24 00 B4 .èS.h..hj.ËŠ.$.´

0080 08 CD 13 73 05 B9 FF FF 8A F1 66 0F B6 C6 40 66 .Í.s.¹..Šñf.¶Æ@f

0090 0F B6 D1 80 E2 3F F7 E2 86 CD C0 ED 06 41 66 0F .¶Ñ€â?÷â†ÍÀí.Af.

00A0 B7 C9 66 F7 E1 66 A3 20 00 C3 B4 41 BB AA 55 8A ·Éf÷áf£ .ôA»ªUŠ

00B0 16 24 00 CD 13 72 0F 81 FB 55 AA 75 09 F6 C1 01 .$.Í.r.•ûUªu.öÁ.

00C0 74 04 FE 06 14 00 C3 66 60 1E 06 66 A1 10 00 66 t.þ...Ãf`..f¡..f

00D0 03 06 1C 00 66 3B 06 20 00 0F 82 3A 00 1E 66 6A ....f;. ..‚:..fj

00E0 00 66 50 06 53 66 68 10 00 01 00 80 3E 14 00 00 .fP.Sfh....€>...

00F0 0F 85 0C 00 E8 B3 FF 80 3E 14 00 00 0F 84 61 00 .…..è³.€>....„a.

0100 B4 42 8A 16 24 00 16 1F 8B F4 CD 13 66 58 5B 07 ´BŠ.$...‹ôÍ.fX[.

0110 66 58 66 58 1F EB 2D 66 33 D2 66 0F B7 0E 18 00 fXfX.ë-f3Òf.·...

0120 66 F7 F1 FE C2 8A CA 66 8B D0 66 C1 EA 10 F7 36 f÷ñþŠÊf‹ÐfÁê.÷6

0130 1A 00 86 D6 8A 16 24 00 8A E8 C0 E4 06 0A CC B8 ..†ÖŠ.$.ŠèÀä..̸

0140 01 02 CD 13 0F 82 19 00 8C C0 05 20 00 8E C0 66 ..Í..‚..ŒÀ. .ŽÀf

0150 FF 06 10 00 FF 0E 0E 00 0F 85 6F FF 07 1F 66 61 .........…o...fa

0160 C3 A0 F8 01 E8 09 00 A0 FB 01 E8 03 00 FB EB FE Ã ø.è.. û.è..ûëþ

0170 B4 01 8B F0 AC 3C 00 74 09 B4 0E BB 07 00 CD 10 ´.‹ð¬<.t.´.»..Í.

0180 EB F2 C3 0D 0A 41 20 64 69 73 6B 20 72 65 61 64 ëòÃ..A disk read

0190 20 65 72 72 6F 72 20 6F 63 63 75 72 72 65 64 00 error occurred.

01A0 0D 0A 4E 54 4C 44 52 20 69 73 20 6D 69 73 73 69 ..NTLDR is missi

01B0 6E 67 00 0D 0A 4E 54 4C 44 52 20 69 73 20 63 6F ng...NTLDR is co

01C0 6D 70 72 65 73 73 65 64 00 0D 0A 50 72 65 73 73 mpressed...Press

01D0 20 43 74 72 6C 2B 41 6C 74 2B 44 65 6C 20 74 6F Ctrl+Alt+Del to

01E0 20 72 65 73 74 61 72 74 0D 0A 00 00 00 00 00 00 restart........

01F0 00 00 00 00 00 00 00 00 83 A0 B3 C9 00 00 55 AA ........ƒ ³É..Uª

Las posiciones 0003h a 000Ah definen una etiqueta de texto que identifica el sistema de

archivos o fabricante, en este caso NTFS. Esta etiqueta resulta muy útil para buscar una

partición NTFS que ha sido eliminada y así poder recuperarla. Las posiciones 0183h a

01FDh incluyen mensajes de error del IPL. Las posiciones 1FEh y 1FFh contienen la firma

55AAh. Las posiciones 000Bh a 0053h contienen el BIOS Parameter Block (BPB), el cual

describe la geometría de la partición y características básicas del sistema de archivos NTFS,

como es la ubicación del archivo $MFT.

El archivo de sistema $MTF es la pieza clave del sistema de archivos NTFS, pues indica

donde se ubican los archivos y los directorios. Cada archivo o directorio tiene al menos una

entrada en la MFT. El tamaño de estas entradas se especifica en el sector de arranque del

volumen, aunque en la práctica son siempre de tamaño 1Kbyte.

Toda la información administrativa del sistema de archivos se almacena en unos archivos

denominados archivos de metadatos. Las primeras entradas de la MFT están reservadas para

estos archivos. Los archivos de metadatos ordenados a partir de su índice en la MTF,

comenzando por el índice 0 son: $MFT, $MFTMirr, $LogFile, $Volume, $AttrDef, .

(directorio raíz), $Bitmap, $Boot, $BadClus$, $Secure, $Upcase y $Extend.

Como se puede observar, el archivo $MFT tiene la entrada 0 dentro de la MFT (es decir, la

MFT se describe a si misma a través de dicha entrada). La entrada 5 se corresponde con el

directorio raíz. La entrada $Extend se corresponde con un directorio empleado para poder

añadir más archivos de metadatos. En la práctica incluye los archivos de metadatos $Objid y

$Quota.

Page 10: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

10

Cada entrada de la MFT tiene una estructura como la de la figura:

Cada entrada de la MFT comienza con una cabecera. Cabe destacar que al principio de dicha

cabecera se encuentra el texto “FILE” para cualquier archivo o directorio13

. A continuación

de la cabecera vienen los atributos, los cuales son estructuras de datos que almacenan un tipo

de datos específico. Prácticamente todo son atributos, desde el nombre de un archivo, fecha

de creación e incluso su contenido. Cada atributo tiene una cabecera que lo identifica y un

contenido justo después. Cuando todos los atributos no caben en la entrada de la MFT, lo

cual es habitual, la cabecera indica los clusters en los que se encuentra.

El archivo $MFT comienza con un tamaño inicial y crece progresivamente según se van

creando nuevos archivos y directorios. Los clusters al lado de la MFT son los últimos en

asignar, para evitar la fragmentación de la MFT cuando esta crece.

El archivo $MFTMirror contiene una copia de las primeras entradas de la MFT, en la

práctica, las 4 primeras entradas: $MFT, $MFTMirr, $LogFile y $Volume. Suele ubicarse en

el centro del volumen para poder ser accedido en caso de que el archivo $MFT esté corrupto

o inaccesible.

El archivo $LogFile contiene el registro de las transacciones llevadas a cabo en el disco.

El archivo $Volume contiene información sobre el volumen, como por ejemplo la etiqueta.

El archivo $AttrDef contiene información sobre los atributos, tales como sus nombres, sus

identificadores y sus tamaños.

El archivo $Bitmap contiene información sobre el estado de cada cluster. Dispone de un bit

para cada cluster que indica si está asignado o no.

El archivo $Badclus contiene una lista con los clusters defectuosos.

El archivo $Secure contiene información de seguridad y control de acceso a los archivos y

directorios.

El archivo $Upcase contiene la versión mayúscula de cada carácter Unicode.

El archivo $Objid contiene una lista de atributos de un cierto tipo empleados en el volumen.

El archivo $Quota lleva la contabilidad de las cuotas de disco.

13

La excepción ocurre cuando se ejecuta la utilidad chkdsk y ésta detecta una incoherencia, marcando la

entrada como “BAAD” (inválida).

Page 11: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

11

3.5. Los sistemas de archivos Ext2 y Ext3

Se trata de los sistemas de archivos más empleados en Linux. Ext3 es básicamente un

sistema de archivos Ext2 al que se le ha añadido un registro de transacciones. Nos

referiremos a ellos de forma genérica como Ext.

La organización de un volumen Ext se muestra en la figura.

Los primeros 1024 bytes del volumen están reservados. Pueden contener el código de

arranque del volumen cuando el sistema operativo arranca desde el volumen14

.

El resto del volumen se divide en bloques de igual tamaño. El concepto de bloque es análogo

al concepto de cluster de los sistemas de archivos FAT y NTFS.

Los bloques se organizan en grupos, conteniendo todos ellos el mismo número de bloques,

excepto el último que puede ser más pequeño. Cada bloque se referencia con un número,

siendo el bloque cero el primer bloque justo después de los sectores de arranque.

El superbloque tiene un tamaño de 1024 bytes (aunque muchos de estos bytes no los usa) y

contiene los parámetros del sistema de archivos. Es análogo al BIOS Parameter Block de los

sistemas de archivos FAT y NTFS. El superbloque contiene información como el tamaño del

bloque, el número de bloques del sistema, nombre del volumen, fecha y hora en la que se

montó por última vez el volumen, etc.

La tabla de descriptores de grupo es una tabla de tamaño 1 bloque situada después del

superbloque, la cual comienza siempre en un bloque nuevo. Por lo tanto, puede haber

sectores que no se usan entre el superbloque y la tabla de descriptores de grupo. La tabla de

descriptores de grupo contiene una entrada de 32 bytes por cada grupo de bloques en el

volumen (aunque sólo se usan los 18 primeros bytes). Cada una de estas entradas

proporciona:

Número de bloque de comienzo del bitmap de bloques (4 bytes),

Número de bloque de comienzo del bitmap de inodos (4 bytes)

14

Hay volúmenes arrancables que no incluyen código de arranque. En estos casos el arranque suele hacerse

directamente desde el MBR o a través de un gestor de arranque, fuera del volumen.

Page 12: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

12

Número de bloque de comienzo de la tabla de inodos (4 bytes)

Número de bloques que aún no han sido asignados en el grupo (2 bytes).

Número de inodos que aún no han sido asignados en el grupo (2 bytes).

Número de directorios en el grupo (2 bytes).

Todos los grupos tienen una copia del superbloque y de la tabla de descriptores de grupo al

comienzo del grupo15

. Las copias del superbloque no son exactamente idénticas, pues hay

información temporal que se almacena en el primer superbloque y no se actualiza en los

otros. Además hay un campo en el superbloque que identifica el grupo en el cual se

encuentra y por lo tanto es diferente para el superbloque de cada grupo.

La contabilidad de los bloques que han sido asignados dentro de cada grupo se lleva a cabo

con el bitmap de bloques. Cada bit del bitmap indica si un bloque del grupo ha sido asignado

o no. El bit 0 de su primer byte está asociado al bloque 0, el bit 7 de su primer byte al bloque

7, el bit 0 de su segundo byte al bloque 8 y así sucesivamente. El bitmap de bloques

comienza justo después de la tabla de descriptores del grupo y tiene un tamaño de 1 bloque.

En la práctica, el número de bloques en un grupo coincide con el número de bits en el bitmap

de bloques, es decir, se obtiene multiplicando por 8 el tamaño del bloque en bytes16

.

Para comprender el funcionamiento del bitmap de nodos y la tabla de inodos es necesario

conocer el concepto de inodo.

Cada archivo y directorio en el sistema tiene asociado un inodo almacenado en la tabla de

inodos de un grupo. El inodo es una estructura de datos (metadatos) típicamente de 128

bytes17

. El inodo contiene toda la información necesaria sobre un archivo o directorio, salvo

el nombre y los datos que contiene. Por ejemplo, define los permisos, la fecha de creación,

direcciones a los bloques de datos, etc.

Cada inodo puede almacenar 12 punteros directos a bloques de datos, así como un puntero

de simple indirección, un puntero de doble indirección y un puntero de triple indirección. Si

un archivo o directorio requiere 12 bloques o menos se emplean los doce punteros directos.

Si por ejemplo un archivo requiere más de 12 bloques de datos, puede usarse 1 puntero de

simple indirección que apunta a un bloque que almacena punteros directos de bloques. La

figura muestra gráficamente los conceptos de indirección.

Cuando alguno de los punteros del inodo toma el valor cero, se supone que la información

del bloque o bloques asociados es cero. Esto resulta muy útil en el caso de archivos con

muchos ceros consecutivos (sparse files) o archivos que han sido creados con un cierto

tamaño pero no han sido escritos.

15

La excepción está cuando se emplea la característica sparse superblock del sistema de archivos, en cuyo

caso, sólo alguno de los grupos contiene una copia del superbloque y de la tabla de descriptores de grupo.

16 Esto facilita la localización de las copias del superbloque cuando falla la lectura del primer superbloque.

17 Si se emplea la versión dinámica de Ext2/Ext3 el tamaño del inodo puede ser variable.

Page 13: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

13

Los directorios no son más que archivos especiales que almacenan listas de entradas en sus

bloques de datos. Cada entrada contiene un número de inodo, la longitud de la entrada, la

longitud del nombre, el nombre del archivo y opcionalmente el tipo de archivo. La figura

muestra un ejemplo simplificado de directorio

En la figura anterior puede observarse además como hay dos entradas del directorio que

apuntan al mismo inodo. A esto se le conoce como hard link. Básicamente consiste en tener

dos nombres para el mismo archivo o directorio18

.

Una vez ha sido explicado el concepto de inodo se puede entender en que consiste la tabla de

inodos de un grupo y su bitmap.

La tabla de inodos comienza en el bloque indicado en el descriptor del grupo y tiene un

tamaño especificado en el superbloque. Cada una de sus entradas es un inodo que hace

referencia a un archivo o directorio. Las primeras entradas de la tabla están reservadas. Por

ejemplo, la entrada número 2 contiene el inodo del directorio raíz.

18

Symbolic links o soft links son simplemente archivos que contienen dentro de sus datos el nombre de

otro archivo o directorio.

Page 14: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

14

El bitmap de inodos tiene un tamaño de 1 bloque y funciona de forma análoga al bitmap de

bloques. Cada entrada de la tabla de inodos tiene asociado un bit que se activa cuando la

entrada es usada o se trata de una entrada reservada.

Finalmente, comentar que Ext3 para llevar a cabo el registro de transacciones emplea un

archivo cuyo inodo es típicamente el número 8, aunque se puede especificar en el

superbloque.

Bibliografía sobre sistemas de archivos

Se recomienda el siguiente libro:

“File System Forensic Analysis” by Brian Carrier. Addison Wesley Professional, 2005.

ISBN: 0-32-126817-2

Todas las figuras del sistema de archivos FAT y la de la entrada MFT en los sistemas de

archivos NTFS fueron extraídas del libro anterior.

Sobre los sistemas de archivos FAT, la fuente más completa es

“FAT32 File System Specification”, Version 1.03, 2000. Microsoft Corporation.

http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx

Sobre NTFS http://www.linux-ntfs.org

Sobre Ext2 http://www.nongnu.org/ext2-doc/ext2.html

Page 15: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

15

3.6. Desfragmentación de los sistemas de archivos

La fragmentación de los sistemas de archivos afecta negativamente a su rendimiento, es

decir, disminuye la velocidad de lectura y escritura de los mismos. La figura muestra un

ejemplo muy sencillo que nos permite observar la diferencia de rendimiento en el acceso en

a un archivo.

Cluster 12345Cluster 12346

Cluster 12347

Fichero sin fragmentación

Cluster 12345

Cluster 76829

º

Fichero con fragmentación

Cluster 54235

Fichero que requiere 3 clusters

Para acceder al archivo en ausencia de fragmentación se necesita en término medio:

1xTiempo de búsqueda + 1xTiempo de latencia rotacional + 3xTiempo de transferencia de 1 sector

Para acceder al archivo con fragmentación se necesita en término medio:

3xTiempo de búsqueda + 3xTiempo de latencia rotacional + 3xTiempo de transferencia de 1 sector

Puesto que en la práctica el tiempo de transferencia es mucho menor que el tiempo de

búsqueda y de latencia rotacional, resulta que el tiempo de lectura es casi el triple en el caso

del archivo fragmentado.

La fragmentación del sistema de archivos depende de muchos factores, especialmente de los

siguientes:

Porcentaje de ocupación del sistema de archivos.

Algoritmo de ubicación de archivos en los clústeres libres.

Tamaño de los archivos.

Número de operaciones de borrado de archivos.

Tamaño del cluster.

La fragmentación de archivos es especialmente importante en el caso de archivos que se

usan con mucha frecuencia, como son los archivos de paginación o metadatos de acceso muy

frecuente. Por ejemplo, cualquier operación de lectura o escritura de un archivo requiere

acceder al archivo $MTF en el caso de un sistema de archivos NTFS. Si este archivo

estuviese muy fragmentado el rendimiento del sistema de archivos se resentiría

Page 16: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

16

notablemente19

.

La fragmentación del sistema de archivos es inevitable, aunque ciertas políticas pueden

reducir su alcance. Por ejemplo, conviene separar los archivos del sistema, asociados al

sistema operativo, de archivos de datos del usuario, especialmente si estos cambian muy a

menudo o son borrados muy a menudo. Por ejemplo, en los sistema operativos Windows, es

habitual que cada usuario tenga un directorio en “C:\Documents and Settings”, donde se

almacena todo tipo de información de configuración relativa al usuario, así como

información temporal de todo tipo. Si el sistema operativo necesita crear archivos del

sistema o ampliar el tamaño de archivos de sistema existentes, estos pueden resultar

fragmentados. En este sentido, es mejor la política seguida en muchos sistemas de archivos

bajo Unix, pues toda la información del usuario se guarda en un directorio “/home” ubicado

en una partición diferente de la partición del sistema operativo.

La fragmentación de un sistema de archivos puede reducirse notablemente con el empleo de

desfragmentadores, los cuales asignan nuevos clusters a los archivos para conseguir reducir

su fragmentación. En cualquier caso, está claro que la desfragmentación resulta más difícil

en sistemas de archivos casi llenos que en sistemas de archivos casi vacíos.

Hay una serie de características de los desfragmentadores que deben ser tenidas en cuenta:

La posibilidad de desfragmentar el sistema de archivos durante el funcionamiento

normal del sistema. Es lo que se conoce como desfragmentación online. Esto mejora

la disponibilidad del sistema y es imprescindible en servidores.

La posibilidad de llevar a cabo desfragmentación offline. Hay ficheros del sistema

que no se puede desfragmentar online. Por ejemplo, los archivos de paginación o el

archivo $MFT en el caso de los sistemas de archivos NTFS.

La automatización del proceso de fragmentación. Por ejemplo, resulta interesante

poder programar la desfragmentación para que tenga lugar de forma periódica y

transparente a los usuarios del sistema.

El impacto sobre el rendimiento mientras tiene lugar la desfragmentación. Hay

desfragmentadores que permiten ajustar el impacto sobre el sistema o emplear

momentos de poca actividad.

La posibilidad de gestión centralizada del proceso de desfragmentación. Es el caso de

desfragmentadores empresariales, que son gestionados de forma centralizada. Por

ejemplo, desde un equipo de control puede gestionarse el proceso de

desfragmentación de todos los equipos de una empresa.

19

Ésta es la razón por la cual se reserva un gran número de clusters consecutivos al final del $MTF durante el

proceso de formateo de un sistema de archivos NTFS, “cubriéndose las espaldas” ante futuros crecimientos del

sistema de archivos.

Page 17: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

17

3.7. Backup de los sistemas de archivos

El objetivo de la copia de seguridad (backup) es recuperar datos perdidos en caso de desastre

o borrado accidental. En ocasiones también se llevan a cabo copias de seguridad del software

de sistema, para poder restablecer su funcionamiento en el mínimo tiempo posible después

de un desastre.

Cada administrador e incluso cada usuario de un computador debería implementar una

política de backup adecuada. El objetivo de este apartado es proporcionar conceptos

generales, sin pretender ser muy exhaustivos.

A continuación se describen las copias de seguridad atendiendo a diferentes factores:

Grado de automatización.

Una de las características fundamentales de cualquier política de backup es su

automatización. La experiencia muestra que este tipo de operaciones deben ser llevadas a

cabo con la mínima participación humana. En caso contrario, pueden realizarse

incorrectamente o simplemente no realizarse por olvido o despreocupación.

Características del soporte empleado.

Hay varias características del soporte a destacar: fiabilidad, capacidad, coste y tiempo de

recuperación. El soporte debe ser fiable, por lo que debemos tener cuidado con soportes de

corta vida, entre los que se encuentran los discos ópticos. En cuanto al tiempo de

recuperación, no es lo mismo recuperar los datos desde un disco duro que desde unidades de

cinta.

Separación física de los datos y su backup.

A poder ser, deben estar alejados lo máximo posible. Si guardamos la copia de seguridad de

nuestros datos en soportes ubicados en la misma estancia que el computador que contiene los

datos, si se incendia la estancia perdemos los datos. De igual forma, si dejamos la copia de

seguridad en otro computador en una estancia del mismo edificio y se produce una subida de

tensión, se pueden estropear tanto el equipo con los datos como con el backup. Cuando la

empresa tiene varias sedes separadas geográficamente, lo mejor es hacer una copia de

seguridad remota, aprovechando el ancho de banda de las redes actuales. También hay

empresas que proporcionan servicios de copia de seguridad remota.

Hay que tener cuidado con sistemas de archivos ubicados en discos duros montados en

RAID. Aunque diferentes esquemas RAID pueden mejorar sensiblemente la fiabilidad del

sistema y permitir la recuperación de datos ante fallos de los discos, los discos duros en

RAID están muy cerca unos de otros, por lo que se pueden estropear varios de estos discos a

la vez.

Combinación de soportes.

El empleo de dos tipos de soportes nos puede dar una seguridad extra. Por ejemplo, si la

copia de seguridad se encuentra sobre el disco duro de un computador remoto de la empresa

y todos los computadores de la empresa son atacados por un virus y se borran tanto los datos

como su copia, nos encontramos sin nada. Una solución a este problema es combinar por

ejemplo una copia de seguridad automática y diaria sobre el disco duro de un computador

remoto con una copia manual semanal sobre soportes extraíbles. Si se dispone de un número

limitado de medios extraíbles, estos pueden rotarse.

Page 18: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

18

Modelo de repositorio.

El coste de la copia de seguridad aumenta con el tamaño de ésta. Además, si la empresa lleva

a cabo una copia de seguridad con cierta frecuencia, por ejemplo dos veces al día, las

sucesivas copias de seguridad contendrán casi la misma información. Para enfrentarse a este

problema de crecimiento desmesurado del espacio requerido por las copias de seguridad

suelen emplearse diferentes estrategias:

Full (completa). Cada copia de seguridad es una copia de todo el sistema de archivos.

Se emplea en contadas ocasiones por el elevado coste de almacenamiento que

supone. Se emplea típicamente para la clonación del sistema de archivos en el que se

almacena el sistema operativo, para una rápida recuperación o replicación. Durante la

vida del sistema se llevan a cabo este tipo de copias cuando se llevan a cabo grandes

cambios en la instalación del sistema, para así poder recuperarlo rápidamente.

Full + Incremental (completa + incremental). Se lleva a cabo una copia de seguridad

completa y a continuación se copian sólo los archivos que han sido creados o

modificados. Además, se marcan los archivos que han sido borrados. El problema es

que la reconstrucción es costosa y puede requerir el procesamiento de cientos o miles

de incrementos.

Full + Differential (completo + diferencial). Evita el problema de la larga

reconstrucción, haciendo que después del backup inicial completo, cada backup

almacene las diferencias completas con respecto al backup inicial. La reconstrucción

requiere sólo el backup completo y la última diferencia pero se requiere más espacio

para hacer el backup.

Mirror (Espejo). La copia de seguridad coincide exactamente con los datos. No hay

incrementos. Lo habitual es que la copia se sincronice con los datos con una cierta

frecuencia, por ejemplo una vez al día, aunque hay sistemas que permiten una

sincronización continua. El principal problema es que se pierden cambios que se

hayan hecho anteriormente. Este es el caso de que se haya borrado accidentalmente

un archivo y la copia de seguridad sea posterior al momento del borrado.

Mirror+Reverse Incrementals (espejo e incrementos hacia atrás). Es similar a la

técnica anterior, pero se guardan además los últimos cambios llevados a cabo en el

sistema de archivos. Por ejemplo, en un directorio pueden guardarse los últimos

archivos borrados y modificados, los cuales son eliminados por orden de antigüedad

una vez se sobrepasa una cierta capacidad. Éste mecanismo es en muchos casos el

más apropiado, pues tenemos directamente el estado final del sistema de archivos, así

como todos los archivos borrados y las diferentes versiones de los archivos

modificados.

Copia de seguridad de metadatos.

Para la recuperación rápida del estado de un sistema después de la pérdida de datos también

es necesario en muchos casos la recuperación de metadatos, como son los sectores de

arranque y las tablas de particiones. La copia de estos datos requiere el empleo de

herramientas específicas.

Procesamiento de la copia de seguridad.

En ocasiones, puede resultar interesante la compresión de los datos para el ahorro de espacio

de almacenamiento. El inconveniente es el incremento en el tiempo necesario para llevar a

cabo la copia de seguridad y especialmente, el tiempo necesario para recuperar los datos

Page 19: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

19

desde la copia. En otras ocasiones, también se decide por la encriptación de los datos, para

evitar el acceso a los mismos por personas no autorizadas. La encriptación debería aplicarse

especialmente cuando la copia de seguridad se almacena en una ubicación remota.

3.8. Recuperación de los sistemas de archivos

La información de este apartado está destinada fundamentalmente a aquellos que no han

llevado a cabo una política de backup adecuada y se encuentran con la pérdida de datos.

Nos centramos fundamentalmente en la recuperación de archivos en discos duros, aunque la

información proporcionada es útil para otro tipo de soportes, como son los discos ópticos.

Puede ocurrir que de repente un disco duro en su totalidad o alguno de sus sistemas de

archivos no sea accesible, o que hayamos borrado accidentalmente alguno de los archivos.

¿Qué podemos hacer?

Cuando no se puede acceder a un disco duro, lo primero es identificar si se trata de un

problema hardware o de un problema lógico. En el primer caso, puede ocurrir que el BIOS

no detecte el disco, o que sí lo detecte pero acceda incorrectamente al mismo. En este caso,

las herramientas software de recuperación de archivos son inútiles. Si después de comprobar

todo el sistema llegamos a la conclusión de que el problema hardware reside en el disco, sólo

tenemos dos posibilidades de recuperación:

Encontrar una controladora integrada en disco compatible con la original, cambiarla

y “cruzar los dedos” para que el problema sea en la controladora.

Enviar el disco a una empresa especializada para la recuperación de la información.

Hay muchas empresas de este tipo que permitirán recuperar gran parte de la

información20

, pero con un coste económico importante.

Vamos a suponer que el hardware del disco está en perfectas condiciones y que elproblema

reside en la información que almacena. Veamos a continuación diferentes situaciones y su

solución.

MBR corrupto.

Si se trata de un disco duro desde el cual el sistema operativo arranca, ocurrirá que este

dejará de arrancar. En el caso de un disco duro de datos, lo normal es que “desaparezcan”

una o varias particiones con sus consiguientes sistemas de archivos. La recuperación del

MBR es relativamente simple, empleando en primer lugar un MBR genérico obtenido de

otro sistema similar y recreando a continuación la tabla de particiones. Para obtener la tabla

de particiones pueden emplearse herramientas que buscan los sectores de arranque de

sistemas de archivos conocidos. Una vez localizan el sector de arranque, conocen el sector

de inicio de la partición. Además, este sector de arranque suele contener en uno de sus

campos el tamaño del sistema de archivos, lo que define el último sector de la partición. La

búsqueda de sectores de arranque se basa en la firma 55AAh al final del mismo y la

aparición de ciertas cadenas de caracteres y datos característicos.

20

Si el disco funciona mal y hace ruidos extraños, cuanto más tiempo pase en funcionamiento, menos cantidad

de información se recuperará. Los ruidos son un síntoma de alguna rotura mecánica que literalmente puede

machacar la superficie magnética de los discos a velocidades del orden de 10000 rpm.

Page 20: 3 SISTEMAS DE ARCHIVOS sistema operativo.pdf · Sistemas de archivos de disco duro típicos en el mundo PC son FAT32, NTFS, Ext2 y Ext3. Durante el proceso de formateo, la gran estructura

José María López López

Dpto. De Informática de la Universidad de Oviedo

20

Formateo o borrado accidental del sistema de archivos

Un formateo del sistema de archivos hace desaparecer aparentemente todos los archivos del

mismo. Sin embargo, los archivos siguen estando allí. En este caso la recuperación de

archivos se basa fundamentalmente en la localización de los directorios dentro del disco, los

cuales nos permitirán llegar a los archivos que contienen. Los archivos ubicados en el

directorio raíz son más difíciles de recuperar, pues el directorio raíz se incializa durante el

proceso de formateo.

Cuando se borra un archivo, no se escribe ceros en los clusters que ocupa. Simplemente se

modifica la lista de clusters libres, añadiendo los clusters del archivo, y se elimina la

entrada del archivo dentro del directorio que lo contenía. Sin embargo, la información sigue

en el disco hasta que una nueva escritura en el disco sobrescriba alguno de sus clusters. Por

lo tanto para la recuperación de archivos borrados lo mejor es no llevar a cabo ninguna

escritura sobre el disco, o incluso mejor, arrancar el ordenador desde un soporte extraible,

hacer una imagen del sistema de archivos sobre un disco duro externo y trabajar sobre dicha

imagen en otro ordenador, evitando así las escrituras llevadas a cabo por ciertas aplicaciones

o el sistema operativo.

La localización de archivos borrados depende en gran medida del sistema de archivos

empleado. No obstante, hay técnicas generales basadas en información clave del archivo,

como puede ser su cabecera. Por ejemplo, los archivos JPEG tienen una cabecera predefinida

que puede ayudar a localizarlos en un disco borrado.

Infección de virus y similares

Si se dispone de un antivirus actualizado sobre CD/DVD arrancable o dispositivo USB, debe

arrancarse desde cualquiera de ellos. Si no es ese el caso, debe conectarse el disco a otro

ordenador con antivirus actualizado, bien sea como disco duro externo o interno. Es muy

importante tener desactivada la opción de ejecución automática en el ordenador que

incluye el antivirus, pues en caso contrario puede resultar infectado.

En cualquier caso, un sistema en el que ya ha entrado un virus puede estar comprometido

incluso después de su eliminación.