Archivos Dispersos en Sistemas de Archivos Windows, Linux y MacOS
Este artículo hablará de los archivos dispersos. Contaremos sobre sus puntos fuertes y débiles, qué sistemas de archivos soportan dichos archivos. También, cómo crear o convertirlos de normales.
- La diferencia entre archivos comprimidos y dispersos
- Ventajas y desventajas
- Crear un archivo escaso en Windows
- Cómo crear un archivo disperso en Linux
- Cómo aumentar
- Archivos dispersos en ApFS
- Recuperación de este tipo de datos
- Conclusión
- Preguntas y respuestas
- Comentarios
Sparse son archivos especiales que utilizan el sistema de archivos de forma más eficiente, no permiten que el Sistema de Archivos ocupe el espacio libre del disco del medio cuando las particiones no están llenas. Es decir, el “espacio vacío” sólo se utilizará cuando sea necesario. La información vacía en forma de ceros se almacenará en el bloque de metadatos FS. Por lo tanto, los archivos dispersos ocupan inicialmente menos volumen de medios que su volumen real.
Este tipo es compatible con la mayoría de los sistemas de archivos: BTRFS, NILFS, ZFS, NTFS, ext2, ext3, ext4, XFS, JFS, ReiserFS, Reiser4, UFS, Rock Ridge, UDF, ReFS, APFS, F2FS.
Todos estos Sistema de Archivos soportan plenamente este tipo, pero al mismo tiempo no proporcionan acceso directo a sus funciones mediante su interfaz estándar. Sus propiedades sólo pueden gestionarse mediante comandos en la línea de comandos.
La diferencia entre archivos comprimidos y dispersos
Todos los sistemas de archivos que he nombrado anteriormente también admiten la función de compresión estándar. Ambas herramientas tienen el beneficio de ahorrar espacio en el disco, pero logran ese objetivo de diferentes maneras. La principal desventaja de utilizar la compresión es que puede disminuir el rendimiento del sistema al realizar operaciones de lectura/escritura. Porque utilizará recursos adicionales para descomprimir o comprimir los datos. Pero algunos productos de software no admiten la compresión.
Ventajas y desventajas
La mayor ventaja de los archivos dispersos es que el usuario puede crear archivos de gran tamaño que ocupan muy poco espacio de almacenamiento. El espacio de almacenamiento se asigna automáticamente a medida que se escriben datos en él. Los archivos grandes dispersos se crean en un tiempo relativamente corto porque el sistema de archivos no necesita asignar espacio de disco por adelantado para escribir ceros.
Las ventajas sólo están limitadas por las aplicaciones que las soportan. Si una aplicación no tiene la capacidad de reconocerlos o utilizarlos, los guardará en su estado original -sin comprimir-, lo que no aportará ninguna ventaja. También hay que tener cuidado con ellos, porque un archivo de pocos megabytes puede crecer repentinamente hasta varios gigabytes cuando las aplicaciones no compatibles lo copian en su destino.
Otra desventaja es que no se puede copiar o crear un archivo de este tipo si su tamaño nominal supera el espacio libre disponible (o los límites de tamaño de cuota impuestos a las cuentas de usuario). Por ejemplo, si el tamaño original (con todos los bytes nulos) es de 500 MB y hay un límite de cuota de 400 MB para la cuenta de usuario utilizada para crearlo. Esto causará un error incluso si el espacio real que ocupa en el disco es de sólo 50MB.
En cuanto a las unidades que almacenan estos datos, también son propensas a la fragmentación, ya que el sistema de archivos escribirá datos en archivos dispersos según sea necesario. Con el tiempo, esto puede conducir a la degradación del rendimiento. Además, es posible que algunas utilidades de gestión de discos no muestren con precisión la cantidad de espacio libre disponible. Cuando el sistema de archivos está casi lleno, esto puede conducir a resultados inesperados. Por ejemplo, pueden producirse errores de “desbordamiento de disco” cuando los datos se copian sobre una parte existente que se ha marcado como escasa.
Ventajas | Desventajas |
---|---|
Uso eficiente del espacio en disco, ya que los archivos ocupan solo los bloques realmente utilizados | Pérdida de datos potencial si el disco se llena, ya que el archivo puede quedar parcialmente escrito |
Aumento de la velocidad de creación de archivos grandes | No todos los sistemas de archivos admiten archivos dispersos |
Ahorro de espacio al trabajar con copias de seguridad y archivos grandes | El uso de archivos dispersos puede provocar la fragmentación de los datos en el disco |
Capacidad para crear y asignar rápidamente grandes cantidades de espacio en disco | El monitoreo del uso real del espacio en disco puede ser más complicado |
Compatible con muchos sistemas operativos y plataformas de virtualización | Requiere una gestión más cuidadosa del espacio en disco para evitar problemas |
Crear un archivo escaso en Windows
Para hacer eso en el sistema operativo Windows utilizaremos la línea de comandos. Busque cmd y ejecútelo como administrador.
Windows utiliza fsutil (utilidad del sistema de archivos) para gestionar dichos datos. Cuando se ejecuta crear, por defecto, el archivo se crea como siempre. Ve a la carpeta donde quieres crearla y escribe:
fsutil file createnew sparse-file 1000000000
Donde sparse-file – es el nombre, y su tamaño en bytes al final.
Para configurar el archivo como "escaso", introduzca:
fsutil sparse setflag sparse-file
Para eliminar esta bandera, ejecute el siguiente comando:
fsutil sparse setflag sparse-file 0
Y para asignar el atributo de nuevo:
fsutil sparse setflag sparse-file
Revisamos:
fsutil sparse queryflag sparse-file
El atributo por sí mismo aún no supone un ahorro de espacio en disco. Para ello, es necesario particionar un área vacía que se liberará dentro.
Para marcar un área vacía, introduzca:
fsutil sparse setrange sparse-file 0 1000000000
Al final, el desplazamiento y la longitud se especifican en bytes. En mi caso de cero a 1GB.
Para establecer un archivo totalmente disperso, especifique el volumen completo. Si es necesario, puede ampliar el archivo especificando un valor mayor aquí.
Para asegurarse de que el archivo tiene este atributo, ejecute layout
fsutil file layout sparse-file
Este atributo puede establecerse en cualquier archivo. Simplemente ejecute este comando con su nombre y establezca el tamaño que desee.
En las propiedades del archivo creado anteriormente se puede ver que con un tamaño de 1GB. el archivo ocupa 0 bytes en el disco.
Este conjunto de comandos es adecuado para todos los sistemas de archivos de Windows que admiten este tipo de datos (NTFS, ReFS и т.д.).
Cómo crear un archivo disperso en Linux
En Linux, el proceso de creación de este tipo de datos es un poco más fácil, ya que hay varios comandos para crearlos. Este conjunto es adecuado para todos los sistemas de archivos de Linux.
Aquí puede utilizar el comando dd, truncate.
El primer comando es el siguiente:
dd if=/dev/zero of=file-sparse bs=1 count=0 seek=2G
Donde file-sparse – es el nombre, y su tamaño se especifica al final, se puede establecer en bytes, megabytes, etc.
El segundo comando es más sencillo, tiene el siguiente aspecto:
truncate -s2G file-sparse
Donde el valor s indica el tamaño seguido del nombre.
En comparación con Windows, en Linux cuando se crea un archivo de este tipo con uno de los comandos, será "sparse" por defecto.
Para convertir lo normal en disperso, hay un comando separado:
cp --sparse=always ./025.jpg ./0251.jpg
Donde 025.jpg es el nombre de la normal.
0251.jpg – el segundo nombre del disperso.
Cómo aumentar
Si desea ampliar un archivo existente, utilice el primer comando, cambiando aquí el nombre y especificando el tamaño deseado.
dd if=/dev/zero of=025.jpg bs=1 count=0 seek=2G
Esto aumentará su tamaño a 2 GB.
Para comprobar el tamaño, ejecute el siguiente comando:
du -h --apparent-size 025.jpg
Archivos dispersos en ApFS
De hecho, este conjunto de comandos también es adecuado para el sistema de archivos de apple , ApFS, ya que Linux y MacOS utilizan la arquitectura del núcleo de Unix en su núcleo, ambos proporcionan acceso a los comandos de Unix y de la membrana Bash.
Ejecute el terminal y ejecute cualquiera de los comandos que utilicé en Linux.
En MacOS Catalina sólo funciona el primer comando, y el tamaño debe especificarse en bytes, de lo contrario el comando dará un error.
sudo dd if=/dev/zero of=sparse_APFS bs=1 count=0 seek=1000000000
El sistema de archivos ApFS crea archivos dispersos por defecto si se cumplen ciertas condiciones, por lo que se puede utilizar la opción:
dd if=/dev/zero of=187.jpg bs=1 count=0 seek=500000000
Fijemos el tamaño, por ejemplo, en 500Mb, en MacOS el tamaño debe especificarse en bytes.
En las propiedades puedes ver que su tamaño ha aumentado a 500 Mb.
Recuperación de este tipo de datos
¿Si borraste o formateaste accidentalmente tu disco con datos importantes y se quedó escaso? Utilice Hetman Partition o RAID Recovery para restaurarlos. Nuestro programa soporta este tipo de archivos en todos los sistemas operativos y sistemas de archivos que se muestran en este vídeo. Descargue, instale y ejecute el programa, escanee los medios.
Como puede ver, el programa encuentra fácilmente los archivos dispersos existentes y eliminados y muestra su contenido. Al abrir el archivo en el editor HEX se puede ver que está completamente lleno de ceros.
El programa ha encontrado datos previamente borrados en el disco con sistemas de archivos NTFS, REFS, BtrFS, Ext3, Ext4 y ApFS. Sólo queda hacer clic en el botón Restaurar.
Cuando el proceso haya terminado, todos los datos que necesitas estarán en la carpeta especificada. Comprueba las propiedades, los archivos se restauran en su totalidad.
Conclusión
Antes de utilizar esta funcionalidad en cualquier sistema operativo, es crucial que conozcas todas sus ventajas y desventajas. Conocer estas características le permitirá evitar posibles problemas en el futuro.