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
これは、4つのFC430計算ノードと2つのFD332ストレージノードを備え、Red Hat Enterprise Linux 8(Ootpa)を実行する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
を使用して、12を超えるさまざまなファイルシステムのオーバーヘッドをテストすることで、その結果を得ました。
12TBスペースの0.5%は60GBなので、予想される使用量にかなり近いようです。彼の数は0.5%より少し高いはずだったと思いますが、四捨五入されていると思います。