问题:为什么nvme list 和 lsblk 中查看的磁盘空间不同
现象:
nvme list 中查看到的nvme磁盘空间为 7.68T,单在lsblk 中看到的是 7T, 使用mkfs.ext4 /dev/neme0n1 的情况下,为什么显示可用空间是7T,而不是7.68T
原因:
1. 容量计算方式
制造商 vs. 操作系统:硬盘制造商通常使用十进制计算(1 TB = 1000 GB),而操作系统和大多数文件系统使用二进制计算(1 TiB = 1024 GiB)。因此,7.68 TB 在操作系统中显示为略少于 8 TiB
格式化开销:在格式化过程中,文件系统会占用一部分空间用于元数据和其他管理结构,这会导致可用空间减少
2. 文件系统开销
文件系统元数据:ext4
文件系统在创建时会分配一些空间用于存储文件系统的元数据(如 inode 表、块位图等)。这些开销会导致可用空间低于物理容量
3. 保留空间
保留块:ext4
文件系统默认会保留一部分空间(通常是 5%)给超级用户(root),以防止普通用户填满磁盘。您可以通过调整文件系统的保留比例来改变这一行为
查看保留块设置
tune2fs -l /dev/nvme0n1 | grep 'Reserved block count'
在 ext4
文件系统中,默认的块大小通常是 4096 字节(4 KB)。
计算:
- 保留块数:93768324
- 块大小:4096 字节
93768324 * 4096 /1024 /1024 /1024 = 357.69G
取消保留:
tune2fs -m 0 /dev/nvme0n1