Changes between Version 2 and Version 3 of ticket565_ImagenesSincronizadas
- Timestamp:
- Apr 1, 2013, 10:00:19 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ticket565_ImagenesSincronizadas
v2 v3 1 1 [[TOC(heading=Índice)]] 2 = Scripts de restauración de imágenes sincronizadas = 2 = Scripts de restauración de imágenes sincronizadas (versión 2) = 3 4 Existen dos versiones de la sincronización de imágenes. La primera está explicada en http://opengnsys.es/wiki/SyncronizeDoc. La segunda sólo modifica los script de línea de comandos y se documenta en esta página. 5 3 6 == Descripción == 4 7 Los script de crear y restaurar imágenes sincronizadas o diferenciales siguen la lógica de los script de crear y restaurar imágenes normales, soportando los mismos protocolos. 5 8 6 De los script de interfaz con la consola hay dos versiones. Los que llaman a estos script acaban en .v2, hay que quitarles el sufijo utilizarlos. 9 La imagen se crea generando un fichero que contiene un sistema de ficheros btrfs vacío, del tamaño de los datos de la imagen. Luego se monta el sistema de ficheros y se sincroniza con los datos que contiene la partición. 7 10 8 Al crear la diferencial se ha incluido un sufijo para el nombre de la imagen como quinto parámetro para que podamos tener varias diferenciales de la misma imagen básica.11 La imagen permite escribir sobre ella, de forma que la segunda vez que se haga se puede sincronizar la ya existente. Podemos configurar si antes de modificar la imagen queremos hacer una copia de seguridad. 9 12 10 La imagen se crea generando un fichero que contiene un sistema de ficheros btrfs vacío, del tamaño de los datos de la imagen. Luego se monta el sistema de ficheros y se sincroniza con los datos que contiene la partición.13 La transferencia con rsync se hace con el servicio rsync iniciado en el servidor. 11 14 12 La imagen permite escribir sobre ella, de forma que la segunda vez que se haga se puede sincronizar la ya existente. Antes de modificar la imagen se le hace una copia con extensión .ant.15 La imagen está comprimida con lzop. Comprime sólo el 20%, hay que seguir probando. 13 16 14 La transferencia con rsync se hace con el servicio rsync iniciado en el servidor. Es necesario aplicar los cambios del branches para configurar el demonio de rsync. 15 16 La imagen está comprimida con lzop. Comprime sólo el 20%, hay que seguir probando. 17 18 === Opciones de rsync === 17 == Opciones de rsync: variables de entorno == 19 18 20 19 Se incluyen variables de entorno con opciones de rsync: … … 22 21 * al restaurar o crear imagen: si se quiere o no que en la transferencia por los datos vayan comprimidos. 23 22 24 == = Variable de time-out ===23 == Variable de time-out == 25 24 26 25 En el proceso de creación de la imagen en el repositorio, el cliente manda la orden pero no obtiene respuesta de cuando acaba. Para evitar que en caso de error el cliente quede esperando indefinidamente se establece un tiempo time-out que se calcula según el tamaño de la imagen. … … 32 31 }}} 33 32 34 === Protocolos === 33 == Protocolos de transferecia, updateCache y md5sum == 34 35 Se ha modificado el script updateCache para que pueda bajarse las imágenes sincronizadas. 35 36 36 37 Para trasferir la imagen desde el repositorio a la cache, la primera vez se pueden usar UNICAST, MULTICAST o TORRENT. Cuando detecta que existe la imagen en cache, la sincroniza con la del repositorio con RSYNC. 37 38 38 === Tamaño mínimo de la imagen. === 39 Cada vez que se monta la imagen, aunque sea en modo lectura se modifica su md5sum. Por lo que no podemos comparar la imagen de cache y la del repositorio. 40 41 == Backup == 42 43 Se puede configurar si al crear la imagen queremos hacer backup de la anterior. Se configura en /etc/opengnsys/cliente/etc/engine.cfg en la variable BACKUP, para las pruebas está a false. 44 45 46 == Tamaño mínimo de la imagen. == 39 47 40 48 El tamaño mínimo de la imagen es 300M debido a que el sistema de ficheros btrfs necesita como mínimo 250M para que se pueda crear. 49 50 == Sintaxis de los script == 51 52 Se han definido los siguientes script y funciones: 53 54 * createBaseImage num_disk num_part [REPO|CACHE] nombre_imagen 55 56 * restoreBaseImage [CACHE|REPO] nombre_imagen num_disk num_part [PROTOCOLO] [opciones_protocolo] 57 58 * createDiffImage num_disk num_part [REPO|CACHE] nombre_imagen_basica nombre_imagen_diferencial. 59 60 * restoreDiffImage [CACHE|REPO] nombre_imagen num_disk num_part [PROTOCOLO] [opciones_protocolo] 61 62 * ogMountImage [CACHE|REPO] nombre_imagen [img|diff] -> la extensión es opcional, por defecto es básica. 63 64 * ogUnmountImage [CACHE|REPO] nombre_imagen [img|diff] -> la extensión es opcional, por defecto es básica. 65 66 == Pruebas desde la consola. == 67 68 Al tener dos versiones de las imágenes sincronizadas, los script de la consola inicialmente llaman a la otra versión. Para cambiar de una versión a otra bastan comentar las primeras líneas de los script. Los script a modificar están en /opt/opengnsys/client/interfaceAdm/ y son: 69 70 * !CrearImagenBasica 71 * !CrearSoftIncremental 72 * !RestaurarImagenBasica 73 * !RestaurarSoftIncremental 74 75 Funcionalidades que no están reflejadas en la consola: 76 77 * Permite hacer la transferencia de los archivos comprimida. → Descomentar en los script de interface la línea #export ogcompress="true" 78 79 * Protocolos de transferecnia: al restaurar desde cache, la primera vez que se trae la imagen desde el repositorio lo puede hacer con multicast, unicast o torrent, las siguientes veces sincronizará la imagen de cache con la del repositorio. → Desde consola se hace con unicast, para probar con otros protocolos hay que hacerlo desde línea de comandos o desde la consola con ejecutar script. 80 81 * Permite hacer copia de seguridad de las imágenes al crearlas → variable de entorno BACKUP en engine.cfg 82 83 Factor de compresión: al crear la imagen se calcula el tamaño del archivo a crear partiendo del tamaño de los datos y multiplicando por un factor de compresión. En las pruebas habría que tomar nota de cuanto ocupan los datos en la partición y en la imagen para poder ajustar mejor este parámetro, se ha visto que para windows y linux difiere, aunque estamos usando el mismo. 41 84 42 85 == TODO. == … … 44 87 1) Seguir probando la compresión. 45 88 46 2) Mensajes de log en la consola y definici on de errores.89 2) Mensajes de log en la consola y definición de errores. 47 90 48 3) Internacionalización ;aparecen nuevos mensaje que hay que incluir en las variables.91 3) Internacionalización: aparecen nuevos mensaje que hay que incluir en las variables. 49 92 50 93 4) Hay que modificar las funciones ogGetImage* para que puedan obtener los datos de las imágenes básicas y diferenciales 51 94 52 5) Falta definir el procedimiento de copia de seguridad. 53 54 6) prioritario: incluir en la consola la definición de las variables de entorno. 95 5) Valorar si hay que incluir en la consola la definición de las variables de entorno o buscar alternativa.