Почему df -h показывает другую информацию, чем fdisk -l

Я пытаюсь понять разницу между выходными данными fdisk -l и df -h. Как я понимаю, fdisk показывает размер раздела, а df показывает размер файловой системы.

Моя проблема в том, что у меня есть несоответствие между размером раздела и размером файловой системы.

из fdisk -l, мы можем видеть, что размер раздела, установленного на /dev/sda5/, составляет 797,2 ГБ.

# 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

из df мы видим, что размер файловой системы составляет 784 ГБ.

# 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

У меня есть 744G свободного места. Это нормально, потому что 5% файловой системы (784) зарезервированы.

Подвести итог:

fdisk -l: 797,2G

df -h: 784

Где находятся недостающие 13GiB?

edit :

Я использовал pxe preseed для создания разделов:

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

Я запускаю 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

Спасибо.

3
задан 14 August 2019 в 16:03

1 ответ

У Вас всегда будет различие в выводе

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

и

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

В моем случае здесь у меня есть различие приблизительно 1,5 ГБ, которое составляет приблизительно 1,3% размера раздела.

Для определения реального размера файловой системы, можно использовать

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

Мы видим, что файловая система и раздел имеют тот же размер здесь:

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

От man df:

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

Так df не отображает размер файловой системы, он отображает размер, который доступен пользователям. Некоторое пространство в файловой системе резервируется для файловой системы (например, Журнал) и не доступно пользователям, таким образом не отображенным.

Когда я вычислю с 1,3%, это даст различие приблизительно на 10,4 ГБ для раздела на 800 ГБ, это довольно около суммы пространства, которое Вы пропускаете, это не потеряно в пространстве, это - издержки файловой системы.

Примечание: Я разделил вывод команды в своих примерах к соответствующим строкам для хранения этого опрятным.

Пространство зарезервировало для корня:

Зарезервированное место для корня является свободным, но только для пользовательского корня. df дисплеи эта сумма пространства, как используется, запутывающая вещь, это df отображает те же значения, работаете ли Вы df как базируются или как другой пользователь. В конфигурации по умолчанию 5% пространства будут зарезервированы для корня (см. причины здесь). Возможно уменьшить эту сумму пространства, что я думаю, имеет смысл для Вашего довольно большого раздела, таким образом, больше места будет доступно другим пользователям. Не стесняйтесь уменьшать пространство, зарезервированное для корня к одному или двум процентам с

sudo tune2fs -m X /dev/sda5

Замена X с желаемым зарезервированным процентом блоков. Никакая потребность размонтировать раздел, это может быть сделано онлайн. Если Вы хотите увеличить зарезервированный процент блоков, необходимо удостовериться, что достаточно свободного пространства оставляют на разделе. Изменение будет immediatly вступать в силу.

3
ответ дан 1 December 2019 в 16:15

Другие вопросы по тегам:

Похожие вопросы: