Que sont les fichiers fragmentés
Les fichiers fragmentés sont des fichiers auxquels de grandes quantités d'espace sont préallouées, sans occuper la totalité de la quantité du système de fichiers. Ils sont utiles pour réduire le temps et l'espace disque nécessaires à la création de systèmes de fichiers en boucle ou de grandes images de disque pour les invités virtualisés, entre autres choses. Les fichiers fragmentés sont couramment utilisés pour les images de disque, les instantanés de base de données, les fichiers journaux, etc.
Avantage des fichiers clairsemés
L'avantage des fichiers fragmentés est que le stockage n'est alloué qu'en cas de besoin :l'espace disque est économisé et des fichiers volumineux peuvent être créés même s'il n'y a pas suffisamment d'espace libre sur le système de fichiers.
Inconvénient des fichiers clairsemés
L'inconvénient est que les fichiers clairsemés peuvent se fragmenter. Les rapports sur l'espace libre du système de fichiers peuvent être trompeurs et la copie d'un fichier clairsemé avec un programme qui ne les prend pas explicitement en charge peut copier la totalité de la taille non compressée du fichier, y compris les sections clairsemées, principalement nulles, qui ne sont pas sur le disque - perdre les avantages de la propriété sparse dans le fichier.
Nous pouvons voir ce comportement avec le fichier /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
créer des fichiers fragmentés
1. Des fichiers clairsemés peuvent être créés en utilisant le 'dd ' chercher de la commande ".
# 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. Pour voir l'utilisation du disque du fichier avec la commande "ls", nous pouvons utiliser "-s ” :
# ls -lhs sparse_file 0 -rw-r--r--. 1 root root 512M Dec 3 05:51 sparse_file
3. Pour voir la taille apparente du fichier en utilisant "du", nous pouvons utiliser "–apparent-size ” :
# du -h --apparent-size sparse_file 512M sparse_file
Comment copier un fichier fragmenté
La copie d'un fichier sparse avec un programme qui ne les prend pas explicitement en charge peut copier la totalité de la taille non compressée du fichier, y compris le sparse. Ainsi, lorsque vous copiez un fichier fragmenté à l'aide de la commande cp, le fichier de destination est remplacé par un fichier entièrement alloué. Pour copier un fichier fragmenté en conservant la copie de destination en tant que fichier fragmenté, utilisez l'une des commandes ci-dessous.
# cp --sparse=always source_file new_file # rsync --sparse source_file new_file # cpio --sparse # tar --sparse