¿Qué son los archivos dispersos?
Los archivos dispersos son archivos que tienen grandes cantidades de espacio preasignado, sin ocupar la totalidad del espacio del sistema de archivos. Son útiles para reducir la cantidad de tiempo y espacio en disco involucrados en la creación de sistemas de archivos en bucle o imágenes de disco grandes para invitados virtualizados, entre otras cosas. Los archivos dispersos se usan comúnmente para imágenes de disco, instantáneas de bases de datos, archivos de registro, etc.
Ventaja de los archivos dispersos
La ventaja de los archivos dispersos es que el almacenamiento solo se asigna cuando realmente se necesita:se ahorra espacio en disco y se pueden crear archivos grandes incluso si no hay suficiente espacio libre en el sistema de archivos.
Desventajas de los archivos dispersos
Las desventajas son que los archivos dispersos pueden fragmentarse. Los informes de espacio libre del sistema de archivos pueden ser engañosos y copiar un archivo disperso con un programa que no los admita explícitamente puede copiar todo el tamaño del archivo sin comprimir, incluidas las secciones dispersas, en su mayoría cero, que no están en el disco, lo que pierde los beneficios. de la propiedad dispersa en el archivo.
Podemos ver este comportamiento con el archivo /var/log/lastlog.
# ls -lh /var/log/lastlog -rw-r--r--. 1 root root 286K Dec 3 04:50 /var/log/lastlog # du -sh /var/log/lastlog 12K /var/log/lastlog
crear archivos dispersos
1. Los archivos dispersos se pueden crear usando el 'dd ‘comando’s ‘buscar ‘ opción.
# dd if=/dev/zero of=sparse_file bs=1 count=0 seek=512M 0+0 records in 0+0 records out 0 bytes (0 B) copied, 0.000213705 s, 0.0 kB/s
# ls -hl sparse_file -rw-r--r--. 1 root root 512M Dec 3 05:51 sparse_file
# du -sh sparse_file 0 sparse_file
2. Para ver el uso del disco del archivo con el comando "ls", podemos usar "-s ” opción:
# ls -lhs sparse_file 0 -rw-r--r--. 1 root root 512M Dec 3 05:51 sparse_file
3. Para ver el tamaño aparente del archivo usando "du", podemos usar "–aparent-size ” opción:
# du -h --apparent-size sparse_file 512M sparse_file
Cómo copiar un archivo disperso
Copiar un archivo disperso con un programa que no los admita explícitamente puede copiar todo el tamaño del archivo sin comprimir, incluido el disperso. Entonces, cuando copia un archivo disperso usando el comando cp, el archivo de destino se cambia a un archivo completamente asignado. Para copiar un archivo disperso manteniendo la copia de destino como un archivo disperso, use cualquiera de los siguientes comandos.
# cp --sparse=always source_file new_file # rsync --sparse source_file new_file # cpio --sparse # tar --sparse