web-dev-qa-db-fra.com

Existe-t-il un moyen de faire en sorte que les systèmes de fichiers ext utilisent moins d’espace pour eux-mêmes sous Linux?

J'ai un tas de disques durs internes et externes que j'utilise sur un système Linux. Je n'ai que des systèmes Linux, alors utiliser un système de fichiers Linux n'aurait de sens que, n'est-ce pas? Cependant, j'utilise actuellement NTFS partout, car cela me donne l'espace le plus utilisable sur les disques durs.

Cependant, je voudrais maintenant passer aux systèmes de fichiers Linux, principalement à cause des autorisations et de la compatibilité (par exemple, je ne parviens pas à redimensionner ma partition NTFS chiffrée par LUKS sous Linux, ne cesse de me dire de chkdsk sous Windows).

Cependant, lorsque j'ai formaté ces disques durs, j'ai essayé différents systèmes de fichiers et chaque système de fichiers Linux, même ext2, qui pour autant que je sache n'a pas de journalisation, a utilisé beaucoup d'espace pour lui-même. Je ne me souviens pas des valeurs exactes, mais c’est au-delà de 100 Go que NTFS m’a apporté davantage sur un disque dur de 2 To, ce qui est beaucoup.

Ma question est donc la suivante: existe-t-il un moyen de faire en sorte que les systèmes de fichiers ext utilisent moins d’espace pour eux-mêmes? Ou existe-t-il un autre système de fichiers (j'ai essayé ext2, ext3, ext4, NTFS et vfat - aucun d'entre eux ne s'est approché de l'espace utilisable que m'offrait NTFS) avec un support Linux parfait et un grand espace utilisable?

J'aimerais savoir comment et pourquoi les systèmes de fichiers (en particulier ext2 qui n'a pas de journalisation) utilisent autant d'espace que NTFS et je ne sais pas où demander. Je préférerais la plupart du temps utiliser ext4 sans journalisation ni quoi que ce soit qui utilise autant d'espace, si c'est possible.

48
confetti

Par défaut, ext2 et ses successeurs réservent 5% du système de fichiers à l'utilisateur root. Cela réduit la fragmentation et réduit le risque que l'administrateur ou les démons appartenant à la racine n'aient plus d'espace pour travailler.

Ces blocs réservés empêchent les programmes ne fonctionnant pas en tant que root de remplir votre disque. Le fait que ces considérations justifient ou non la perte de capacité dépend de l'utilisation du système de fichiers.

Le montant de 5% a été fixé dans les années 1980, lorsque les disques étaient beaucoup plus petits, mais ils ont été laissés tels quels. De nos jours, 1% est probablement suffisant pour la stabilité du système.

La réservation peut être modifiée à l'aide de l'option -m de la commande tune2fs:

tune2fs -m 0 /dev/sda1

Cela définira le pourcentage de blocs réservés à 0% (0 blocs).

Pour obtenir la valeur actuelle (entre autres), utilisez la commande:

tune2fs -l <device> 
94
harrymc

Un autre point dont on n'a pas encore parlé est le nombre d'inodes que vous avez réservés sur votre système de fichiers.

Par défaut, mkfs crée un certain nombre d'inodes qui devraient permettre de placer de très petits fichiers dans votre système de fichiers. Si vous savez que les fichiers seront très volumineux et que vous ne placerez qu'un petit nombre de fichiers sur le système de fichiers, vous pouvez réduire le nombre d'inodes.

Prends soin! Ce nombre (ou le rapport entre l'espace et le nombre d'inodes) ne peut être défini qu'au moment de la création du système de fichiers. Même lors de l'extension du FS, le rapport reste le même.

3
glglgl

si les données que vous avez l'intention de stocker sont compressibles, btrfs monté avec compress=zstd (ou compress-force=zstd) utiliserait probablement beaucoup moins d'espace disque que ext *

  • cela fera que btrfs compressera vos données de manière transparente avant de les écrire sur le disque et les décompressera de manière transparente lors de la lecture. de plus, ext4 pré-alloue tous les inodes lors de la création du système de fichiers, btrfs les crée au besoin, je suppose que cela pourrait économiser de l’espace.
3
hanshenrik