web-dev-qa-db-fra.com

Pourquoi df -h affiche-t-il des informations différentes de fdisk -l

J'essaie de comprendre la différence entre la sortie de fdisk -l et df -h. Si je comprends bien, fdisk montre la taille de la partition et df montre la taille du système de fichiers.

Mon problème est que j'ai un décalage entre la taille de la partition et la taille du système de fichiers.

de fdisk -l, nous pouvons voir que la taille de la partition montée sur /dev/sda5/ est de 797,2 Go.

# fdisk -l
Disk /dev/sda: 894.3 GiB, 960197124096 bytes, 1875385008 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xab99345d

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sda1  *          2048  197509119  197507072  94.2G 83 Linux
/dev/sda2        197511166 1875384319 1677873154 800.1G  5 Extended
/dev/sda5        197511168 1869383679 1671872512 797.2G 83 Linux
/dev/sda6       1869385728 1875384319    5998592   2.9G 82 Linux swap / Solaris

Partition 2 does not start on physical sector boundary.


Disk /dev/sdb: 894.3 GiB, 960197124096 bytes, 1875385008 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

à partir de df, nous pouvons voir que la taille du système de fichiers est de 784 Go.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             32G     0   32G   0% /dev
tmpfs           6.3G  808K  6.3G   1% /run
/dev/sda1        93G   12G   76G  14% /
tmpfs            32G     0   32G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            32G     0   32G   0% /sys/fs/cgroup
/dev/sda5       784G   70M  744G   1% /var/lib/test
tmpfs           6.3G     0  6.3G   0% /run/user/900

J'ai au total 744G d'espace disponible. C'est ok car 5% du système de fichiers (784) est réservé.

résumer:

fdisk -l: 797,2G

df -h: 784

Où sont les 13 Go manquants?

modifier :

J'ai utilisé pxe preseed pour créer les partitions:

d-i partman/alignment select optimal
d-i partman-auto/disk string /dev/sda
d-i partman-auto/expert_recipe string                        \
     boot-root ::                                            \
             500 10000 1000000000 ext4                       \
                     $primary{ } $bootable{ }                \
                     method{ format } format{ }              \
                     use_filesystem{ } filesystem{ ext4 }    \
                     mountpoint{ / }                         \
             .                                               \
             856000 1000 856000 ext4                         \
                     method{ format } format{ }              \
                     use_filesystem{ } filesystem{ ext4 }    \
                     mountpoint{ /var/lib/test }             \
             .                                               \
             64 512 300% linux-swap                          \
                     method{ swap } format{ }                \
             .
d-i partman-auto/method string regular
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

Je lance lsblk. (

#lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 894.3G  0 disk
├─sda1   8:1    0  94.2G  0 part /
├─sda2   8:2    0     1K  0 part
├─sda5   8:5    0 797.2G  0 part /var/lib/test
└─sda6   8:6    0   2.9G  0 part [SWAP]
sdb      8:16   0 894.3G  0 disk

Merci.

3
Kfir

Vous aurez toujours une différence dans la sortie de

~$ Sudo fdisk -l
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda6       378750976 625139711 246388736 117.5G 83 Linux

et

~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda6       116G   61M  110G   1% /media/datam

Dans mon cas ici, j'ai une différence d'environ 1,5 Go, ce qui représente environ 1,3% de la taille de la partition.

Pour déterminer la taille réelle du système de fichiers que vous pouvez utiliser

~$ Sudo tune2fs -l /dev/sda6
Block count:              30798592
Block size:               4096

Nous pouvons voir que le système de fichiers et la partition ont la même taille ici:

Filesystem size is  30798592 × 4096 = 126151032832 > 117.487304688 GiB
Partition size is  246388736 x  512 = 126151032832

De man df:

df displays the amount of disk space available on the file system

Donc df n'affiche pas la taille du système de fichiers, il affiche la taille disponible pour les utilisateurs. Un certain espace dans le système de fichiers est réservé au système de fichiers (par exemple Journal) et n'est pas disponible pour les utilisateurs, donc pas affiché.

Lorsque je calcule avec 1,3%, cela donnera une différence d'environ 10,4 Go pour une partition de 800 Go, c'est à peu près la quantité d'espace qui vous manque, elle n'est pas perdue dans l'espace, c'est une surcharge du système de fichiers.

Remarque: J'ai supprimé la sortie de la commande dans mes exemples pour les lignes pertinentes pour le garder en ordre.

Espace réservé pour root:

L'espace réservé pour root est disponible, mais uniquement pour l'utilisateur root. df affiche la quantité d'espace utilisée, ce qui est déroutant, c'est que df affiche les mêmes valeurs si vous exécutez df as root ou en tant qu'autre utilisateur. Dans la configuration par défaut, 5% de l'espace seront réservés pour root (voir pour les raisons ici ). Il est possible de réduire cette quantité d'espace, ce qui, à mon avis, a du sens pour votre assez grande partition, donc plus d'espace sera disponible pour les autres utilisateurs. N'hésitez pas à réduire l'espace réservé à root à un ou deux pour cent avec

Sudo tune2fs -m X /dev/sda5

Remplacez X par le pourcentage de blocs réservés souhaité. Pas besoin de démonter la partition, cela peut se faire en ligne. Si vous souhaitez augmenter le pourcentage de blocs réservés, vous devez vous assurer qu'il reste suffisamment d'espace libre sur la partition. Le changement prendra effet immédiatement.

3
mook765