25G /dev/sda6 ext4 パーティションが /data にマウントされます。 、、、を使用してfallocate
ファイルに固定サイズのファイルシステムを作成しようとしていますmkfs.ext4
。mount
fallocate -l 5G /data/new_storage
mkfs.ext4 -E nodiscard /data/new_storage
mkdir /data/new_dir
mount /data/new_storage /data/new_dir
しかし、du
/dataは/data/new_storageが5Gではなく4.9Gを占めることを示しています。mkfs.ext4
これは実行後に発生します。同時にls
、そのファイルは5Gを占有しているそうです。
したがって、新しいファイルシステムは隔離されず、子ファイルシステムが作成された後に親ファイルシステムが完全に満たされると、子ファイルシステムを埋めるとエラーが発生する可能性があります。
loop: Write error at byte offset 2281734144, length 4096.
print_req_error: I/O error, dev loop0, sector 4456512
ext2を使用したときにdu
表示される数量は正確に割り当てられた数量であり、同様の動作でエラーは発生しません。
ext4が無効なログはdu
5Gにもう少し近いですが、それでも5Gと同じではありません。
期待どおりの動作に応じて、20G または 25G の空き領域 (サービス データのために少し少ない空き領域) を持つ 1 つの /dev/sda6 パーティションと 2 番目の 5G ループバック /dev/loop0 パーティション (サービス データのために少し少ない空き領域)があります。少し)。お互い。この動作を達成することは可能ですか?
fstrim
実行される可能性もありますが、これによりファイルにホールパンチングが発生します。fstrim
新しいファイルシステムで実行を完全に無効にすることは可能ですか?