GNU/Linux >> Linux の 問題 >  >> Linux

ext4 パーティションで 40 億ファイルの制限を超えた場合はどうなりますか?

おそらく、「デバイスに空き容量がありません」というエラーのようなものが表示されるでしょう:

# truncate -s 100M foobar.img
# mkfs.ext4 foobar.img
Creating filesystem with 102400 1k blocks and 25688 inodes
---> number of inodes determined at mkfs time ^^^^^
# mount -o loop foobar.img loop/
# touch loop/{1..25688}
touch: cannot touch 'loop/25678': No space left on device
touch: cannot touch 'loop/25679': No space left on device
touch: cannot touch 'loop/25680': No space left on device

そして実際には、「40億ファイル」よりもずっと早くこの制限に達します。 df -h の両方でファイルシステムを確認してください と df -i どれだけのスペースが残っているかを調べます。

# df -h loop/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0       93M  2.1M   84M   3% /dev/shm/loop
# df -i loop/
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/loop0      25688 25688     0  100% /dev/shm/loop

この例では、ファイルが平均して 4K サイズでない場合、inode スペースがストレージ スペースよりもはるかに早く不足します。別の比率を指定することも可能です (mke2fs -N number-of-inodes または -i bytes-per-inode または -T usage-type /etc/mke2fs.conf で定義されているとおり ).


制限に達すると、その後のファイル作成の試みは ENOSPC で失敗します 、ターゲット ファイル システムに新しいファイルを格納する余地がないことを示します。

あなたが説明したシナリオでは、通常、制限に達すると転送が中止されます。


Linux
  1. Linuxターミナルを使用して、コンピューターにあるファイルを確認します

  2. Ext4ファイルシステムのオフセットを見つける方法は?

  3. `touch`コマンドの正当な使用法は何ですか?

  1. 7zip、Xz、Gzip、Tarなど—違いは何ですか?

  2. VPSに割り当てられている帯域幅制限を超えた場合はどうなりますか?

  3. Linux で開いているファイルの最大数の制限は何ですか?

  1. fdisk の dos 互換性フラグとは何ですか?

  2. /etc/hosts のサイズ制限は?

  3. Linux /boot パーティションの推奨サイズは?