next up previous
Next: Restore Up: Dump Previous: Dump

Proceso de Dump al detalle

En esta sección se describen los cuatro pasos principales que se dan en el proceso de realización de un comando Dump de Kfs.

PASO 1

Lo primero que hace el proceso de Dump es calcular el tamaño de la partición que vamos a mandar bloque a bloque al servidor de backups.

Para sacar el tamaño usamos una función que nos ofrece el controlador de dispositivos de almacenamiento de Kfs y sacamos la cantidad de bytes que forman la partición. Una vez que tenemos el tamaño este es usado para poder sacar el numero de bloques que han de mandarse.

El calculo del numero de bloques a mandar es sencillo teniendo en cuenta que es dividir el tamaño de la partición en bytes ya obtenido entre el tamaño de bloque en bytes también.

PASO 2

Marcamos todos los bloques que tenemos en memoria con el flag de Bdump, como ya se explico al comienzo del capitulo. Estos bloques ya están en la memoria y no serán traídos por tanto a esta durante el proceso de backups.

Debemos poner a todos el flag, indicando que no han sido copiados todavía,ya que no se ha empezado a mandar ningún bloque al servidor de backups.

PASO 3

En este paso, todo esta preparado para comenzar el proceso de Dump. Lo que se debe de hacer en este punto es inicializar las variables y vaciar la estructura de urgencias de números de bloques de anteriores backups que pudieran haber quedado en ella.

Kfs, al haber sido modificado, esta interactuando con una nueva estructura de datos, la estructura de urgencias. Esa estructura no es mas que una cola de números de bloques que han de ser copiados con prioridad a los que están siendo copiados secuencialmente, ya que son requeridos para escritura. Al principio del Dump esta estructura lógicamente esta vacía.

Luego se van a ir sacando bloques uno a uno de la particion de Kfs, desde el primero al ultimo, para llevarlos a memoria y enviarlos Kfs desde ahí al servidor de backups que esta guardando la partición.

El servicio de backups que se ha implementado es el que se encarga del control de todo el proceso de Dump al igual que del proceso de restore. Tiene varias tareas que se pueden englobar en tres principales, las cuales tiene que realizar a la vez:

  1. Ir pidiendo bloques de la partición que serán mandados al servidor de backups.

  2. Controlar la actividad de las peticiones que le llegan a SRV (servidor de las peticiones de ficheros a Kfs mediante 9P). Esta tarea es complicada ya que tiene que decidir si se puede dejar actuar a las peticiones que llegan o si por el contrario deben atenderse de alguna manera especial, acelerando su tratamiento.

  3. Mandar a la estructura de urgencias los bloques que sea necesario adelantarlos al proceso normal de copiado porque son pedidos para escritura cuando todavía no se ha hecho el dump de esos bloques.

PASO 4

En este paso de van a mandar uno a uno los bloques de la partición al servidor para completar un backup.

Este paso lleva bastante tiempo ya que las cantidades de datos que se manejan hoy en día son muy voluminosas.


next up previous
Next: Restore Up: Dump Previous: Dump
Jesus Vergara igual 2001-10-16