我正在我们的一台服务器中格式化几个 60G 逻辑卷 (vg01-logs
和)。vg01-monitoring
这些分区将保存大量小文件,因此我希望它们的索引节点数量超过默认数量。
root@mercury20:/root : lvs /dev/mapper/vg01-logs /dev/mapper/vg01-monitoring
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
logs vg01 -wi-ao---- 60.00g
monitoring vg01 -wi-ao---- 60.00g
要vg01-logs
安装在 上/logs
。我使用 (bytes-per-inode) 选项对其进行格式化ext4
以-i 1024
创建最大数量的 inode,正如预期的那样,分区在格式化后有 62914560 个 inode。
mkfs.ext4 -i 1024 /dev/vg01/logs
后期格式化和安装:
root@mercury20:/root : tune2fs -l /dev/mapper/vg01-logs | egrep 'Inode count|Inode size'
Inode count: 62914560
Inode size: 256
root@mercury20:/root : df -h /logs
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg01-logs 45G 61M 42G 1% /logs
现在,挂载分区后,df -h
输出这个60G逻辑卷分区的大小为45G。 IE。 15G没了。由于 inode 的大小为 256 字节,而 15G 为62914560*256
字节,那么该空间 (15G) 是否是为 inode 创建保留的,因此在df
输出中丢失了?
vg01-monitoring
要安装的另一个逻辑卷/monitoring
已XFS
使用mkfs.xfs
默认选项进行格式化。创建的分区具有与分区相同数量的 inode (62914560) ext4
,但在这里,格式化和安装后,df -h
显示的驱动器大小为原始 60G。没有丢失15G。xfs_info
显示该 XFS 分区中 inode 的大小为 256 字节,与 中的相同ext4
。
root@mercury20:/root : mkfs.xfs -f /dev/mapper/vg01-monitoring
root@mercury20:/root : df -h /monitoring
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg01-monitoring 60G 33M 60G 1% /monitoring
root@mercury20:/root : xfs_info /dev/mapper/vg01-monitoring
meta-data=/dev/mapper/vg01-monitoring isize=256 agcount=4, agsize=3932160 blks
这是我的问题:
1)在第一种情况下,即分区情况ext4
,我的假设是否df -h
显示可用空间仅为 45G,因为 60G 中的 15G 是为 inode 保留的,正确吗?
2)如果我的上述假设是正确的,那么为什么XFS分区显示60G而不是45G?这是否意味着仅当创建 inode 时,XFS 才会将 inode 消耗的大小显示为“已使用”?这意味着,尽管 XFS 显示 60G 可用,但两个驱动器上用户数据的有效空间将为 45G?
操作系统是 SUSE Linux Enterprise Server 12 (x86_64)。
root@mercury20:/root : cat /etc/os-release
NAME="SLES"
VERSION="12-SP1"
VERSION_ID="12.1"