我正在使用 Xubuntu 17.04。
我遇到了一个问题,我试图将一个分区(使用 Gparted)复制到一个更大的硬盘上,以替换我要复制的那个硬盘。复制工作正常,但当我调整分区大小以填充新驱动器的额外空间时,它也会按比例增加使用数据的大小。具体来说,新旧驱动器的大小分别为 931.51GB 和 5.46TB。调整大小后,使用的数据从 15.79GB 增加到 88.86GB。
知道为什么会发生这种情况吗?
答案1
这只是猜测,但可能至少部分原因是保留空间在增长。许多 Linux 文件系统(包括 Ubuntu 默认的 ext4fs)都允许留出一定比例的文件系统(默认情况下为 5%,如果我没记错的话)供使用root
。其想法是,如果普通用户用文件填满分区,root
他们可以登录并在修复尝试中创建文件。
也就是说,5.46 TB 的 5% 是 273 GB,而观察到的“已用”空间却比这少得多,只有 89 GB。因此,如果真是这样,那么保留空间肯定比默认值少得多,否则我记错默认值了。
提供有关如何确定已用空间的详细信息可能会有所帮助。例如,您是从 GParted 的窗口读取此信息,还是使用df
等。有时工具会给出截然不同的估计值,因为它们测量的是不同的东西,因此了解哪些工具提供了估计值会让熟悉这些工具的人知道发生了什么。
答案2
元数据
有元数据(用于管理分区中的文件系统),并且文件系统在更大的分区中将需要更多的元数据。
当你阅读手册时,你会了解到有哪些类型的元数据
man mkfs.ext4
描述文件系统的选项ext4
,但其他文件系统具有类似的元数据,至少是部分元数据。
以下段落描述了元数据的一些方面。通常您不必担心这些选项,您可以使用文件系统的标准设置,它就可以工作。如手册中所述,元数据的大小将随分区和文件系统的大小而变化。
关于元数据
packed_meta_blocks[= <0 to disable, 1 to enable>]
Place the allocation bitmaps and the inode table at the beginning
of the disk. This option requires that the flex_bg file system
feature to be enabled in order for it to have effect, and will
also create the journal at the beginning of the file system. This
option is useful for flash devices that use SLC flash at the
beginning of the disk. It also maximizes the range of contiguous
data blocks, which can be useful for certain specialized use
cases, such as supported Shingled Drives.
-i bytes-per-inode
Specify the bytes/inode ratio. mke2fs creates an inode for
every bytes-per-inode bytes of space on the disk. The larger
the bytes-per-inode ratio, the fewer inodes will be created.
This value generally shouldn't be smaller than the blocksize of
the filesystem, since in that case more inodes would be made
than can ever be used. Be warned that it is not possible to
change this ratio on a filesystem after it is created, so be
careful deciding the correct value for this parameter. Note
that resizing a filesystem changes the numer of inodes to main‐
tain this ratio.
-N number-of-inodes
Overrides the default calculation of the number of inodes that
should be reserved for the filesystem (which is based on the
number of blocks and the bytes-per-inode ratio). This allows
the user to specify the number of desired inodes directly.
-j Create the filesystem with an ext3 journal. If the -J option is
not specified, the default journal parameters will be used to
create an appropriately sized journal (given the size of the
filesystem) stored within the filesystem. Note that you must be
using a kernel which has ext3 support in order to actually make
use of the journal.
不是元数据,而是取决于文件系统的大小
-m reserved-blocks-percentage
Specify the percentage of the filesystem blocks reserved for the
super-user. This avoids fragmentation, and allows root-owned
daemons, such as syslogd(8), to continue to function correctly
after non-privileged processes are prevented from writing to the
filesystem. The default percentage is 5%.