XFS 파일 시스템 과 함께 단일 파티션으로 설정되는 12TB RAID 6 어레이가 있습니다. 새 파일 시스템을 만들 때 사용중인 용량은 78GB이지만 드라이브에 파일이 없습니다.
[root@i00a ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 11M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sdb3 154G 3.9G 150G 3% /
/dev/sdb2 1014M 153M 862M 16% /boot
/dev/sdb1 599M 6.7M 593M 2% /boot/efi
/dev/sdc1 187G 1.6G 185G 1% /var
tmpfs 6.3G 0 6.3G 0% /run/user/0
/dev/sda1 11T 78G 11T 1% /export/libvirt
내가 뭐 잘못 했어요? 의도적으로 설계된 것입니까?
파일 시스템 로그가 약 2GB를 차지하는 것처럼 보이며 공간을 사용할 수있는 다른 것을 파악할 수 없습니다.
[root@i00a ~]# xfs_info /export/libvirt/
meta-data=/dev/sda1 isize=512 agcount=11, agsize=268435455 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=2929458688, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
파티션 정보 :
[root@irb00a ~]# parted /dev/sda1
GNU Parted 3.2
Using /dev/sda1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: Unknown (unknown)
Disk /dev/sda1: 12.0TB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0.00B 12.0TB 12.0TB xfs
이것은 Red Hat Enterprise Linux 8 ( Ootpa )을 실행하는 4 개의 FC430 컴퓨팅 노드와 2 개의 FD332 스토리지 노드가있는 Dell FX2입니다 .
답변
XFS의 경우 빈 파일 시스템 “사용 된 크기”는 표시된 df -h
메타 데이터 기능에 따라 크게 달라지는 것 같습니다 mkfs.xfs
.
빈 12TB 파일로 테스트 :
# truncate -s 12TB xfstest.img
기본 설정 (현재 ArchLinux 시스템) :
# mkfs.xfs xfstest.img
meta-data=xfstest.img isize=512 agcount=11, agsize=268435455 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=0
data = bsize=4096 blocks=2929687500, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# mount -o loop xfstest.img loop/
# df -h loop/
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 11T 12G 11T 1% /dev/shm/loop
# umount loop/
사용 reflink=1
:
# mkfs.xfs -m reflink=1 -f xfstest.img
meta-data=xfstest.img isize=512 agcount=11, agsize=268435455 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=2929687500, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# mount -o loop xfstest.img loop/
# df -h loop/
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 11T 78G 11T 1% /dev/shm/loop
crc=0
, reflink=0
: 사용 하기 (어떤 이유로 finobt=0
, sparse=0
)
# mkfs.xfs -m reflink=0 -m crc=0 -f xfstest.img
meta-data=xfstest.img isize=256 agcount=11, agsize=268435455 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0, sparse=0, rmapbt=0
= reflink=0
data = bsize=4096 blocks=2929687500, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# mount -o loop xfstest.img loop/
# df -h loop/
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 11T 33M 11T 1% /dev/shm/loop
한마디로 :
# df -h loop/
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 11T 78G 11T 1% /dev/shm/loop (reflink=1, crc=1)
/dev/loop0 11T 12G 11T 1% /dev/shm/loop (reflink=0, crc=1)
/dev/loop0 11T 33M 11T 1% /dev/shm/loop (reflink=0, crc=0)
따라서 새로운 12TB 파일 시스템의 “사용 된”공간은 mkfs 시간에 사용 가능한 메타 데이터 기능에 따라 78G, 12G 또는 33M 정도로 낮습니다.
답변
모든 파일 시스템에는 자체 내부 데이터 구조에 대한 오버 헤드가 있습니다. 이 내부 정보는 파일 시스템이 미래에 파일과 디렉토리를 작성하고 모든 것이 할당 된 위치를 추적하는 데 사용됩니다. 이 데이터를 통칭하여 “메타 데이터”라고합니다. 파일 시스템의 데이터에 대한 데이터입니다. 메타 데이터는 공간을 차지하지만 사용자 데이터는 아니기 때문에 오버 헤드로 간주됩니다. 이 오버 헤드는 파일 시스템 사용으로 인한 피할 수없는 부작용입니다.
이 블로그 게시물 에 따르면 XFS는 전체 디스크 공간의 약 0.5 %의 오버 헤드를가집니다. (이 게시물은 2009 년부터 작성되었지만 크게 변경 될 이유는 없습니다.) 그는를 사용하여 수십 가지가 넘는 파일 시스템의 파일 시스템 오버 헤드를 테스트함으로써 그 결과를 얻었습니다 guestfish
.
12TB 공간의 0.5 %는 60GB이므로 예상 사용량과 거의 비슷합니다. 그의 숫자는 0.5 %보다 약간 높아야했지만 반올림 한 것 같습니다.