为什么我的新 ext4 文件系统的大部分已标记为已使用?

为什么我的新 ext4 文件系统的大部分已标记为已使用?

我刚刚在 ubuntu 系统上使用 3 个 4TB 驱动器(目标为 8TB 空间)创建了一个新的 raid 5 阵列。虽然我在开始时遇到了一些问题,但我相信我已经正确设置了它,并且我已经使用整个阵列在其上创建了一个 ext4 文件系统作为单个分区。当我在 gparted 中查看它时,它报告

大小:7.28 TiB(这是正确的 - 我知道 TB 和 TiB 之间的区别)
已使用:117 GiB
未使用:7.16 TiB

如果我跑sudo df -h我会得到

Filesystem      Size  Used Avail Use% Mounted on
/dev/md0        7.2T   51M  6.8T   1% /home/brad/raid

这又是一个不同的尺寸。可用的比大小少了400G,但这里使用的只有51M!

我的问题是,这是此时的预期输出,还是表明出现了问题?如果是预期的,那么 gparted 上报告的已用空间是什么在使用?

如果有人想看的话,这里是输出cat /proc/mdstat

md0 : active raid5 sdb1[0] sdd1[3] sdc1[1]
      7813772288 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [=>...................]  recovery =  7.2% (283321088/3906886144) finish=2181.8min speed=27679K/sec

unused devices: <none>

和来自sudo fdisk -l

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ac78f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   472330239   236164096   83  Linux
/dev/sda2       472332286   488396799     8032257    5  Extended
/dev/sda5       472332288   488396799     8032256   82  Linux swap / Solaris

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 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
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdc: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 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
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

WARNING: GPT (GUID Partition Table) detected on '/dev/sdd'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdd: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 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
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

WARNING: GPT (GUID Partition Table) detected on '/dev/sde'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sde: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1               1  1953525167   976762583+  ee  GPT

Disk /dev/md0: 8001.3 GB, 8001302822912 bytes
2 heads, 4 sectors/track, 1953443072 cylinders, total 15627544576 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

嗯,最后关于 /dev/md0 不包含有效分区表的部分很有趣。

答案1

/dev/md0 没有分区表的问题与您的问题无关。您明确表示您在原始设备上创建了文件系统

我使用整个阵列在其上创建了一个 ext4 文件系统作为单个分区

因此,您没有分区表是有道理的,因为您没有对空间进行分区。这不是问题,但请确保您永远不会将分区表写入该分区,因为您将破坏文件系统的开头并失去对数据的访问权限。

至于你的其他分区,我看到 fdisk 抱怨磁盘有 GPT,并建议你使用gdisk而不是fdisk.从输出中很难看出什么fdisk

现在回答你的首要问题,空间在哪里?

/dev/md0        7.2T   51M  6.8T   1% /home/brad/raid

你的 ~400 GB 去哪儿了?这进入了文件系统开销。 ext4 文件系统预先分配它需要存储的所有元数据,以分配系统上的每个 inode,此外,在这么大的卷上,您将拥有大量 fs 超级块的副本,并且将分配大量块文件系统日志。这里没有什么需要修复或更改的,并且文件系统元数据的大小在 ext[234] 文件系统中不会随着时间的推移而增长。如果您不喜欢那么多的文件系统开销,那么唯一真正的选择是调整 inode 大小或使用不同的文件系统。

相关内容