Para las organizaciones, sus datos son cruciales, y no pueden arriesgarse a perderlos ante un eventual fallo del sistema. Tanto es así, que no se conforman con los sistemas de redundancia de datos, sino que montan sistemas de back up para hacer copias temporales de todos los datos. De esta forma, ante un fallo grave de los sistemas de negocio, se dispondrían de unos datos de back up que permitirían recuperar la actividad, sin perdida significativa de información y sin dañar el negocio.

El soporte empleado por los sistemas de back up son las cintas de magnéticas, que proporcionan un modo de acceso secuencial a los datos. Son por tanto menos versátiles que los discos duros que proporcionan un modo de acceso aleatorio, pero el coste de almacenamiento es más bajo.

Funcionamiento de los sistemas de back up

Los sistemas de back up, realizan una copia temporal de los datos, en un instante concreto. Si posteriormente modificamos esos datos, no tendríamos copia de las modificaciones. Esto habrá que tenerlo muy en cuenta cuando definamos nuestras políticas de back up y la periodicidad con la que realizamos los back up (copias de respaldo). Por ejemplo, si realizamos un back up total todos los lunes, y tenemos un fallo de sistema un viernes, al recuperar los datos volveríamos atrás a los datos que teníamos el lunes, habríamos perdido todas las modificaciones realizadas desde el martes al viernes. En cualquier caso, como podéis imaginar, perder las actualizaciones de algunos datos, el trabajo de algunos días, es asumible frente a perder toda la información y tener que parar el negocio.

Otra característica de los sistemas de back up es que durante el proceso de copia se bloquea el acceso a los datos. Obviamente, se persigue que mientras se esté copiando la información esta no sea modificada. Por ello, las compañías realizan estos procesos a altas horas de la noche, cuando no hay empleados trabajando, en un periodo de tiempo denominado ventana de back up, en el que las distintas aplicaciones de negocio no tienen acceso a los datos.

Cuando resulta impracticable definir una ventana de back up en la que no se pueda acceder a los datos, porque por ejemplo sea absolutamente necesario dar un servicio ininterrumpido, se implementan los denominados back up en “caliente”. En realidad se trata de realizar una copia a un disco intermedio, desde el que más tarde se realizará el back up a cinta sin restricciones de tiempo.

En el caso de datos de muy alta criticidad, en el que no se pueda admitir la perdida de ningún dato. Y por tanto, no podemos retomar el negocio a partir de la última copia de back up. Tenemos la posibilidad de realizar una réplica síncrona entre las dos arquitecturas de datos, la que podríamos llamar de producción con la que están trabajando nuestras aplicaciones y la de respaldo que normalmente estará en una localización remota. En realidad, lo que estaríamos haciendo es copiar los datos en los dos sitios a la vez, según se modifiquen. Una estructura en espejo.

En el caso de que implementáramos una estructura en espejo. Si hubiera un fallo de los datos en local, el centro remoto tendría exactamente todos los datos, excepto aquellos que estuvieran manejando las aplicaciones, que estarían en las caches y todavía no hubieran sido volcados a disco. Es decir, perderíamos los datos no guardados de las sesiones abiertas.

Soporte físico

El soporte físico de almacenamiento empleado para los back up son las cintas magnéticas. Estas proveen un acceso secuencial, van grabando de principio a fin, un dato detrás de otro, no pueden ir a una zona concreta a grabar los datos. Por el contrario, los discos duros si lo permiten, presentan un acceso aleatorio.

Entonces, ¿por qué empleamos cintas como soporte de almacenamiento?. Básicamente porque las cintas proveen una gran capacidad de almacenamiento a un coste inferior al de los discos duros.

Existen unidades de cinta que pueden conectarse directamente a un ordenador y emplearse como un medio de almacenamiento externo más, es decir, como si fuera un disco duro. Pero este tipo de sistemas está en desuso y hoy en día, las cintas se emplean casi exclusivamente para la realización de back up. Además, el proceso de respaldo o de back up, es un proceso de naturaleza secuencial, vamos recorriendo todos los ficheros uno tras otro, haciendo copia de las modificaciones desde el anterior proceso de back up.

En el entorno descrito, la tecnología de cintas dominante es Cartridge system conocida como LTO (Linear Tape Open).

Cinta de backup: LTO (Linear Tape Open)

Hoy en día, las unidades de cinta de los grandes centros de back up, se manejan con robots. En realidad constan de un brazo mecánico que manipula las cintas, las selecciona, introduce o extrae, de las distintas unidades de cinta.

Tipos de copia de seguridad

Podemos distinguir fundamentalmente tres tipos de copias de seguridad:

Copia de seguridad Normal

Sencillamente copiamos todos los archivos que se seleccionen, es una copia de seguridad completa. En todos los archivos copiados, se desactiva el bit de Archivo.

Este tipo de copias se emplea como base para posteriormente realizar únicamente copias de seguridad de los archivos modificados. Lógicamente, si tenemos que recuperar los datos, primero restauraríamos la copia de seguridad normal, y luego las copias de seguridad con los archivos que hubieran sido modificados.

Copia de seguridad  Incremental

Copiamos los archivos que han sido modificados desde la última copia de seguridad y desactivamos e bit de Archivo. Es decir, marcamos el archivo como no modificado.

Copia se seguridad Diferencial

Como en la Incremental, copiamos los archivos que han sido modificados, es decir, los que tienen el bit de Archivo activo. Sin embargo en este caso, no desactivamos el bit de Archivo.

Cabe preguntarse que sentido tiene la copia de seguridad Diferencial, teniendo ya la Incremental. La respuesta se obtiene cuando se analiza el proceso de recuperación de los datos en el caso de que tuviéramos un desastre y tuviéramos que tirar de back up. En el caso de estar realizando copias de seguridad Incremental, primero tenemos que restaurar la copia normal y luego todas las copias Incrementales. Además, tendremos que hacerlo en su orden correcto, empezando por la más antigua. Por el contrario, si estuviéramos realizando copia de seguridad Diferencial, restauraríamos la copia normal y luego la Diferencial.

Con la copia Diferencial, manejamos sólo una copia incremental, ya que al no desactivar el bit de archivo al hacer la copia, vamos a ir copiando siempre lo que se haya modificado con respecto a la copia normal. El inconveniente es que esta copia Diferencial cada vez ira siendo mayor y se tardará más tiempo en hacerla, llegando un momento en que será necesario hacer una copia normal nueva.

Políticas de back up

Comentado antes, si estamos manejando datos muy críticos y no podemos perder ni un byte, vamos a utilizar estructuras en espejo. Es decir, tendremos una política de back up en la que vamos a copiar todo por duplicado. Pero claro, esto es carísimo y, si estamos manejando gran cantidad de datos, puede incluso resultar prácticamente imposible.

Así pues, asumamos que no podemos copiar todo en todo momento. Tenemos entonces que definir cuando vamos a realizar nuestras copias y como van a ser estas. Pero para definir nuestras políticas de back up, tenemos que saber cuales son los ficheros modificados desde la última copia de back up, y de esta forma copiar solo esos.

Para saber que ficheros han sido modificados, habrá que marcar a estos de alguna manera, en el momento que son modificados. Y habrá que quitar dicha marca en el momento que hagamos la copia de seguridad. Con esta simple lógica, en la próxima copia de back up, comprobando el estado de dicha marca, sabremos si un fichero fue o no modificado desde la última copia de seguridad. Esta marca es un atributo de cada archivo, conocido como el bit de Archivo.

Finalmente, para planificar nuestra política de back up, tendremos que tener en cuenta la criticidad de los datos y la variabilidad de estos.

Aquí os dejo un ejemplo con dos posibles estrategias de copia de seguridad (con periodicidad semanal).

Cuadro ejemplo de políticas de backup

Partimos de una copia de seguridad normal que  realizamos cada lunes. En una fila muestro las copias que habría que realizar en el caso de usar una estrategia de copias incrementales. Obsérvese que necesitamos 6 cintas. Y en otra fila, muestra la estrategia de copias Diferenciales, en la que reutilizamos la misma cinta todos los días, sólo necesitamos una cinta.

NOTA:

Este post es parte de la colección “Arquitectura de Datos” que reproduce los apuntes de la clase que imparto sobre el tema en ESIC. Puedes ver el índice de esta colección aquí.