Sistemas de copias de seguridad

Para las organizaciones, sus datos son cruciales, y no pueden arriesgarse a perderlos ante un eventual fallo de los sistema de almacenamiento. Tanto es así, que no se conforman con los sistemas de redundancia de datos, sino que implementan sistemas de copias de seguridad, que realizan copias temporales de los datos en soportes adicionales. De esta forma, ante un fallo grave de los sistemas de negocio, se dispondrían de unos datos de respaldo que permitirían recuperar la actividad, sin perdida significativa de información y sin dañar el negocio.

El soporte más habitual empleado por estos sistemas son las cintas 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.

Los sistemas de copias de seguridad, realizan una copia temporal de los datos, en un instante concreto. Es decir, es una foto fija de los datos que tenemos en un instante. 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 copias de seguridad y la periodicidad con la que realizamos las copias de respaldo. Por ejemplo, si realizamos un copia de seguridad 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, 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 copias de seguridad 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 (el término inglés para denominar las copias de seguridad), 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 las denominados copias de seguridad 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, porque no sea posible recuperar la actividad de negocio a partir de la última copia de seguridad. 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, empleando una estructura en espejo (mirroring).

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 las copias de seguridad 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 copias de seguridad. Además, el proceso de copia de los datos, es un proceso de naturaleza secuencial, vamos recorriendo todos los ficheros uno tras otro, haciendo copia de las modificaciones desde el anterior proceso de copia de seguridad.

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

Unidad para copia de seguridad
Unidad para copia de seguridad

El bit de archivo

Antes de empezar a explicar como funcionan en la práctica las copias de seguridad, hay que introducir el concepto del bit de archivo. Este es un bit de información asociado a un fichero, que indica si un fichero ha sido modificado.

¿Cómo se emplea este bit para las copias de seguridad? Cuando un fichero se modifica, se marca en el bit de archivo, y cuando se realiza una copia de seguridad del mismo, se quita la marca en el bit de archivo. Se puede decir que en el primer caso se activa el bit de archivo y en el segundo se desactiva, en cualquier caso, lo que se consigue es saber si el fichero ha sido modificado desde la última copia de seguridad. Si no hubiera sido modificado, significa que ya tenemos una copia de seguridad de dicho fichero.

Este concepto es fundamental para entender los distintos tipos de copias de seguridad que existen y poder planificar las estrategias de copias de seguridad de los datos.

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 el 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, 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 las copias de seguridad. 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 copias de seguridad

Como he 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 copias de seguridad 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 imposible en la práctica.

Así pues, asumamos que no podemos copiar todo en todo momento. Tenemos entonces que definir cuando vamos a realizar nuestras copias de seguridad y cómo van a ser estas. Pero para definir estas políticas, tenemos que saber cuales son los ficheros modificados desde la última copia, y esta información es la que nos proporciona el bit de archivo.

Combinando los distintos tipos de copias de seguridad, definimos la política de copias que mejor se adapte a la cantidad y variabilidad de los datos. Aquí os dejo un ejemplo con dos posibles estrategias de copia de seguridad (con periodicidad semanal).

Estrategias de copias de seguridad
Estrategias de copias de seguridad

En la primera fila, se indican los ficheros que se han ido modificando cada día. El primer día, comenzamos realizando una copia de seguridad normal, copia que realizaríamos 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.

Este ejemplo sirve para mostrar la diferencia entre la utilización de copias incrementales y diferenciales, pero no estamos teniendo en cuenta la cantidad de datos que estemos manejando. Para entenderlo mejor, os dejo el siguiente ejercicio.

Ejercicio de copias de seguridad

Somos los encargados de realizar las copias de respaldo en una compañía y tenemos que calcular las cintas que vamos a necesitar para llevar a cabo las copias de respaldo semanales, para poder indicar al departamento de compras cuantas cintas tiene que comprarnos.

Para ello, disponemos de la siguiente información:

  1. Los ficheros de los que queremos hacer copia de seguridad, son los siguientes con sus respectivos tamaños en MB
ficherosTamaño en MB
f13
f220
f38
f411
f52
f64
f77
f89
f94
f106
Tamaño de los ficheros
  1. Nuestra estimación de los ficheros que serán modificados a lo largo de la semana:
LunesMartesMiércolesJuevesViernesSábadoDomigo
f1-f3f4-f5-f10f10f1-f6f7-f9f3-f7-f10f1
Ficheros modificados a lo largo de la semana
  1. La política de copias de respaldo que vamos a seguir es una copia total al principio de la semana y copia diferencial diaria. Esta política nos viene impuesta por la variabilidad de los datos.
  2. La capacidad de una cinta para la copia de respaldo es de 30 MBytes

PREGUNTA: Con estos datos, ¿Cuántas cintas tenemos que pedir al departamento de compras para poder realizar las copias de respaldo de una semana?

SOLUCIÓN: Para resolver el problema, nos llevamos los datos a un Excel donde manejar fácilmente los números. El resultado de nuestro cuadro sería:

LunesMartesMiércolesJuevesViernesSábadoDomingo
Ficheros
modificados
f1-f3f4-f5-f10f10f1-f6f7-f9f3-f7-f10f1
Copia
total (MB)
74
Copia total
(#Cintas)
3
Copias
diferenciales
(MB)
11303034454545
Copias
diferenciales
(#Cintas)
1112222
Resultado del ejercicio de copias de seguridad

Donde puede apreciarse que tendríamos que pedir 5 cintas al departamento de compras, 3 para la copia total de todos los lunes, y 2 más para las copias diferenciales de la semana.

NOTA:

Este post es parte de la colección “Sistemas de acceso y almacenamiento de datos”. Puedes ver el índice de esta colección aquí.