xfs 파일 시스템에서 내 인상은 다음과 같습니다.
# xfs_info /dev/mapper/rootvg-root
meta-data=/dev/sda1 isize=512 agcount=16, agsize=1285043 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=19730834, imaxpct=25
= sunit=64 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=5119, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
imaxpct=25
- 파일 시스템 inode가 차지할 수 있는 공간의 비율입니다.
isize=512
- 각 단일 inode의 크기(바이트)
그래서 아래 설정을 보면 다음과 같습니다.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-root 80G 42G 38G 51% /
# df -hi
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/rootvg-root 1.3M 27K 1.3M 1% /
내 inode 수가 최대 130만 개에 불과하다는 것이 어떻게 가능합니까? 각 inode가 512바이트라면 inode가 차지할 수 있는 전체 디스크 공간(완전히 사용된 경우)은 665MB에 불과하다는 의미입니다. 80GB의 25%는 20GB이므로 그보다 훨씬 더 많은 inode가 있을 것으로 예상됩니다.
mkfs.xfs에는 inode 수를 결정하는 옵션이 없으며 각 inode의 크기와 inode가 차지할 수 있는 파일 시스템의 비율만 표시됩니다.
내가 여기서 놓친 아이디어가 있습니까? 이는 rhel 7 및 xfs 파일 시스템용입니다.
답변1
기존 Unix 파일 시스템과 달리 XFS는 모든 inode를 동시에 할당하지 않습니다 mkfs
. 대신, 제한에 도달할 때까지 요청 시 새로운 inode를 생성합니다 imaxpct
. 이는 사용되지 않은 inode의 "낭비된" 디스크 공간을 최소화합니다.
기본 제한이 사용하기에 적합하지 않은 경우 imaxpct
파일 시스템이 마운트되어 활성화되어 있는 동안 유틸리티 옵션을 사용하여 -m
이를 조정할 수 있습니다.xfs_growfs
이것의 부작용은 파일 시스템이 실제로 제한에 도달할 만큼 충분한 inode를 생성할 이유가 있을 때까지 파일 시스템에서 사용 가능한 최대 inode 수를 Inodes
값이 반영하지 않는다는 것입니다 .df -i
imaxpct