Storage
新創建的 XFS 文件系統顯示已使用 78 GB
我們有一個 12 TB 的 RAID 6 陣列,它應該設置為帶有XFS文件系統的單個分區。在創建新文件系統時,它說它有 78 GB 正在使用,但驅動器上沒有文件。
[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
我做錯什麼了嗎?這是設計使然嗎?
看起來文件系統日誌只佔用了大約 2 GB,我不知道還有什麼可以使用該空間。
[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
這是一個戴爾 FX2,具有四個 FC430 計算節點和兩個 FD332 儲存節點,執行 Red Hat Enterprise Linux 8 ( Ootpa )。
對於 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 文件系統上的“已用”空間為 78G、12G 或低至 33M,具體取決於您在 mkfs 時啟用的元數據功能。