martes, 16 de julio de 2013

Mecanismos de recuperación en caso de falla

Es necesario proteger la información alojada en el sistema de archivos, efectuando los resguardos correspondientes, de esta manera se evitan las consecuencias generalmente catastróficas de la pérdida de los sistemas de archivos. Las pérdidas se pueden deber a problemas de hardware, software, hechos externos, etc. 

Manejo de un bloque defectuoso:

Se utilizan soluciones por hardware y por software. 

La solución en hardware:

Consiste en dedicar un sector del disco a la lista de bloques defectuosos. Al inicializar el controlador por primera vez:

o Lee la “lista de bloques defectuosos”.
o Elige un bloque (o pista) de reserva para reemplazar los defectuosos.
o Registra la asociación en la lista de bloques defectuosos.
o En lo sucesivo, las solicitudes del bloque defectuoso utilizarán el de repuesto.

La solución en software:

Requiere que el usuario o el sistema de archivos construyan un archivo con todos los bloques defectuosos.

Se les elimina de la “lista de bloques libres”.
Se crea un “archivo de bloques defectuosos”:

o Está constituido por los bloques defectuosos.
o No debe ser leído ni escrito.
o No se debe intentar obtener copias de respaldo de este archivo.

Respaldos (copias de seguridad o de back-up):

Es muy importante respaldar los archivos con frecuencia. Los respaldos pueden consistir en efectuar copias completas del contenido de los discos (flexibles o rígidos). Una estrategia de respaldo consiste en dividir los discos en áreas de datos y áreas de respaldo, utilizándolas de a pares.

Otra estrategia es el vaciado por incrementos o respaldo incremental, se obtiene una copia de respaldo periódicamente (por ej.: una vez por mes o por semana), llamada copia total.Se obtiene una copia diaria solo de aquellos archivos modificados desde la última copia total; en estrategias mejoradas, se copian solo aquellos archivos modificados desde la última vez que dichos 
archivos fueron copiados.Se debe mantener en el disco información de control como una “lista de los tiempos de copiado” de cada archivo, la que debe ser actualizada cada vez que se obtienen copias de los archivos y cada vez que los archivos son modificados.

Consistencia del sistema de archivos:

Muchos sistemas de archivos leen bloques, los modifican y escriben en ellos después. Si el sistema falla antes de escribir en los bloques modificados, el sistema de archivos puede quedar en un “estado inconsistente”.

La inconsistencia es particularmente crítica si algunos de los bloques afectados son: 

Bloques de directorios.
Bloques de la lista de bloques libres.

La mayoría de los sistemas dispone de un programa utilitario que verifica la consistencia del sistema de archivos:

  • Se pueden ejecutar al arrancar el sistema o por solicitud expresa.
  • Pueden actuar sobre todos o algunos de los discos.
  • Pueden efectuar verificaciones a nivel de bloques y a nivel de archivos.
  • La consistencia del sistema de archivos no asegura la consistencia interna de cada archivo, respecto de su contenido.
  • Generalmente pueden verificar también el sistema de directorios y / o de bibliotecas.

Generalmente los utilitarios utilizan dos tablas: Tabla de bloques en uso y la tabla de bloques libres.Cada bloque debe estar referenciado en una de ellas.
Si un bloque no aparece en ninguna de las tablas se trata de una falla llamada bloque faltante, la cual no produce daños pero desperdicia espacio en disco; se soluciona añadiendo el bloque a la tabla de bloques libres.

También podría detectarse la situación de falla debida a un bloque referenciado dos veces en la tabla de bloques libres; la solución consiste en depurar la tabla de bloques libres.

Una falla muy grave es que el mismo bloque de datos aparezca referenciado dos o más veces en la tabla de bloques en uso; como parte del mismo o de distintos archivos.Si uno de los archivos se borra, el bloque aparecería en la tabla de bloques libres y también en la de bloques en uso.Una solución es que el verificador del sistema de archivos:

o Asigne un bloque libre.
o Copie en el bloque libre el contenido del bloque conflictivo.
o Actualice las tablas afectando el bloque copia a alguno de los archivos.
o Agregue el bloque conflictivo a la tabla de bloques libres.
o Informe al usuario para que verifique el daño detectado y la solución dada.

Otro error posible es que un bloque esté en la tabla de bloques en uso y en la tabla de bloques libres; se soluciona eliminándolo de la tabla de bloques libres.


No hay comentarios:

Publicar un comentario