BTRFS 文件系统大小比我的 HDD 大,但是为什么呢?

BTRFS 文件系统大小比我的 HDD 大,但是为什么呢?

我有一块 18TB 的 HDD。(MG09ACA18TE)

$ df -TH
Filesystem              Type      Size  Used Avail Use% Mounted on    
/dev/dm-7               btrfs      19T   13T  5,8T  69% /mnt/point

$ df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/dm-7               btrfs      17T   12T  5,3T  69% /mnt/point

从手册页中:

   -h, --human-readable
          print sizes in powers of 1024 (e.g., 1023M)

   -H, --si
          print sizes in powers of 1000 (e.g., 1.1G)

怎么可能多出一个结核病呢?


请求的命令:

$ df
Filesystem                1K-blocks        Used  Available Use% Mounted on
/dev/dm-5               17578311680 13643014304 3933951744  78% /mnt/point

$ lsblk -b
NAME                  MAJ:MIN RM           SIZE RO TYPE  MOUNTPOINT
sde                     8:64   0 18000207937536  0 disk  
└─luks-..             253:5    0 18000191160320  0 crypt /mnt/point

答案1

我的测试表明df -H轮数向上。字节大小为 18000191160320,它大于 18000000000000,因此您会看到19T

实际上,数字lsblk -b描述的是块设备。重要的df是文件系统的大小。您的文件系统的大小可能小于 18000191160320 字节,但显然它仍然大于 18000000000000,因此四舍五入后的结果为 19 TB。四舍五入是您在 输出中看到的结果df -H

为了进行比较,这些是我的部分分区/文件系统:

设备 lsblk -b

设备大小(以字节为单位)
df -B 1

文件系统大小(以字节为单位)
df -H

文件系统大小
我的评论
sdc1 12000137413120 12000137412608 13T 不是 12T
sda1 5000980012544 5000980008960 5.1T 不是 5.0T

这同样适用于df -h。18000191160320 B 约为 16.371 TiB,更接近 16 TiB 而不是 17 TiB。然而,它也会像 一样向上舍入。from几乎和 from一样夸大df -h,原因是一样的:该工具会将数字向上舍入。17Tdf -H17Tdf -h19Tdf -H

相关内容