Je viens de remarquer qu'aucun des systèmes de fichiers ext {2,3,4} que j'essaie de créer sur un disque dur 500G n'utilise tout l'espace disponible (466G). J'ai également essayé reiser3, xfs, jfs, btrfs et même vfat. Tous créent des fs de taille 466G (comme indiqué par df -h ). Cependant, ext * crée des fs de 459G. La désactivation des blocs réservés augmente l'espace disponible pour l'utilisateur, mais la taille de fs est toujours de 459G.
Il en va de même pour le disque dur 1 To: 932G reiserfs, 917G ext4.
Alors, quelle est cette différence de 1,5%? Pourquoi cela se produit-il et existe-t-il un moyen de faire remplir le volume entier par ext?
UPD: Tous les tests effectués sur la même machine, sur le même disque dur, etc. Peu importe la différence entre le 466G et le marketing 500G. Le problème est qu'il diffère pour différents FS ».
À propos de df - il affiche la taille totale de FS, la taille utilisée et l'espace libre. Dans ce cas, j'ai:
pour reiserfs:
/ dev / sda1 466G 33M 466G 1% / mnt
pour ext4:
/ dev / sda1 459G 198M 435G 1% / mnt
Si je désactive la réservation de bloc racine, 435G passe à 459G - pleine taille de fs (moins 198M). Mais fs lui-même est toujours 459G pour ext4 et 466G pour reiser!
UPD2: Remplir des volumes avec des données réelles via dd:
reiserfs:
fs: ~ # dd if = / dev / zero of = / mnt / 1 dd: запись в «/ mnt / 1»: На устройстве кончилось место 975702649 + 0 записей считано 975702648 + 0 записей написано скопировано 499559755776 байт (500 Go), 8705,61 c, 57,4 MB / c
ext2 avec réservation de blocs désactivée (mke2fs -m 0):
fs: ~ # dd if = / dev / zero of = / mnt / 1 dd: запись в «/ mnt / 1»: На устройстве кончилось место 960356153 + 0 записей считано 960356152 + 0 записей написано скопировано 491702349824 байта (492 Go), 8870,01 c, 55,4 MB / c
Désolé pour le russe, mais je l'ai exécuté dans les paramètres régionaux par défaut et le répéter est trop long. Peu importe, la sortie dd est évidente.
Il s'avère donc que mke2fs crée vraiment un système de fichiers plus petit que les autres mkfs.
LANG=C fooouLC_ALL=C foo