ext4 和 XFS 分割區中為 inode 保留的空間差異

ext4 和 XFS 分割區中為 inode 保留的空間差異

我正在我們的一台伺服器中格式化幾個 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要安裝的另一個邏輯磁碟區/monitoringXFS使用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"

相關內容