wiki:SyncronizeFormatoImg
Last modified 4 years ago Last modified on 12/07/12 14:31:35

Formato de archivo y sistema de fichero de las imágenes sincronizadas

Requisitos

Las primeras pruebas se han realizado con imágenes tipo squashfs, nos viene bien porque en un sistema de archivos comprimido pero al ser de sólo lectura

cuando creemos una imagen por segunda vez hemos de crearla completa. para enviar la imagen a la cache habría que mandarla completa.

Necesitamos un sistema de fichero que permita escribir, sea comprimido y podamos aumentar el tamaño del archivo inicial.

Al crear la imagen queremos guardar una copia de seguridad:

copiaremos el archivo actual de la imagen con la extensión .ant sincronizaremos el archivo de la imagen con los nuevos datos.

Al pasar la imagen a la cache la primera vez se pasará completa y en las posteriores se sincronizará la que haya en el repositorio.

Primera aproximación

Creo la imagen:

Creo el archivo:

dd if=/dev/zero of=base.img bs=1048576 count=TAMAÑO_Mb

Formateo el sistema de ficheros de la imagen:

Asociamos el archivo de la imagen a un dispositivo loop.

losetup -f
 /dev/loop0
losetup /dev/loop0 base.img 

Formateo el dispositivo

mkfs.ext4 -b 4096 -L ImagenBase  /dev/loop0

Desvinculo el fichero del dispositivo

losetup -d /dev/loop0

Para probarlo monto la imagen y listo el contenido.

mount base.img mount/ -o loop
ls mount/
lost+found

Redimensinando la imagen:

Aumento el tamaño del archivo:

sudo truncate --size=+Tamaño_aumentoM base.img

Extender sistema de ficheros Vinculo la imagen a un dispositivo y redimensiono el sistema de ficheros que contiene para que ocupe todo el archivo:

losetup /dev/loop0 base.img 
resize2fs -f /dev/loop0 

Sistemas de ficheros

Mirando los distintos tipos de sistemas de ficheros comprimidos encontramos:

  • compFUSEd (overlay transparent read-write compression, FUSE based)
  • FuseCompress (overlay transparent read-write compression, FUSE based)