Oracle Linuxデバイスに残りのスペースがありません。

Oracle Linuxデバイスに残りのスペースがありません。

私のOracle Linuxシステムでは、デバイスに余分なスペースがないと文句を言います。ディスク使用率とinode使用率を確認するためにいくつかのコマンドを実行しました。これが正しいかどうか教えてくれる人はいますか? dev/sda2にはinodeがまったくないようです。

[fatty@oralinux ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.8G     0  1.8G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  206M  1.7G  12% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/vda2        15G   13G  1.6G  90% /
/dev/vda1       497M  328M  169M  66% /boot
tmpfs           370M     0  370M   0% /run/user/0
tmpfs           370M     0  370M   0% /run/user/1001
[fatty@oralinux ~]$
[fatty@oralinux ~]$
[fatty@oralinux ~]$ df -i
Filesystem     Inodes IUsed  IFree IUse% Mounted on
devtmpfs       468704   352 468352    1% /dev
tmpfs          472674     1 472673    1% /dev/shm
tmpfs          472674  9146 463528    2% /run
tmpfs          472674    15 472659    1% /sys/fs/cgroup
/dev/vda2           0     0      0     - /
/dev/vda1      512000   369 511631    1% /boot
tmpfs          472674     1 472673    1% /run/user/0
tmpfs          472674     1 472673    1% /run/user/1001
[fatty@oralinux ~]$
[ ~]$ lsblk --fs 
NAME        FSTYPE    LABEL     UUID                    MOUNTPOINT 
sr0         iso9660   cidata    2018-08-31-20-55-08-00 
vda 
├─vda1      xfs       /boot     c9cf52e1-ca900          /boot
└─vda2      btrfs     btr_pool  0d127ec75de7            /

答え1

lsblk --fs出力によると、ファイルシステム/dev/vda2が含まれますbtrfs

必要に応じて自動的にinodeを作成し、利用可能なディスク容量に加えてinodeの数に制限がない最新のファイルシステムです。これは、inodeの数をただ追跡することがbtrfsファイルシステムタイプにとって実質的な意味を持たないので、すべてのinode統計クエリに対してすべて0を返す理由です。

XFSファイルシステム(ディスク装置/bootのファイルシステムなど/dev/vda1)も要求に応じてinodeを生成できますが、ファイルシステムの作成時に合計ファイルシステム容量の割合として表示される制限が設定されます。デフォルトの制限はファイルシステム容量の25%をinodeとして受け入れます。これは小さなファイルが多いことを意味します。 XFS をルートファイルシステムとして使用するシステムでは、次のコマンドを使用してimaxpctこの制限を確認できます。xfs_info

# xfs_info /
meta-data=/dev/mapper/vgsys-root isize=512    agcount=4, agsize=488192 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=1952768, imaxpct=25     <--- Here!
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

したがって、XFSファイルシステムでは、inode統計は非常に特別な状況では重要ですが、それでも意味があります。 XFSファイルシステムの現在のinodeの合計数に達し、その数がまだこの値に設定されているパーセンテージ制限よりも小さく、imaxpct使用可能なディスク容量がある場合、XFSファイルシステムの合計inodeの数は自動的に増加します。 。

ただし、XFSファイルシステムは通常ファイル数が非常に制限されているため、この質問が適用される唯一の方法は、誤って多くの/boot小さなファイルをコピーした場合ですが、今はそうではありません。/bootこんなふうに馬です。

実際の「デバイスに残りのスペースがありません」エラー

あなたのdf -h合計df -i出力は私にとっては大丈夫です。しかし、btrfs彼らはいつも物語全体を話すわけではありません。btrfs-progsシステムで使用されているバージョンに応じて、btrfsファイルシステムで使用可能なディスク容量に関する追加情報を提供できる2つのコマンドがあります。

btrfs-progs3.18 以前のバージョンの場合:

btrfs fi df /

btrfs-progsバージョン 3.18 以降の場合:

sudo btrfs fi usage /

btrfsLVMとソフトウェアRAIDの機能を基本的に含む複雑なファイルシステムであるため、ディスク容量の割り当ては、既存のコマンドが表すdfよりも複雑になる可能性があります。

詳しくはBTRFS Wikiをご覧ください。 https://btrfs.wiki.kernel.org/index.php/FAQ#or_My_filesystem_is_full.2C_and_I.27ve_put_almost_nothing_into_it.21

上記のbtrfs関連のコマンドがルートファイルシステムに実際にスペースがないことを示している場合は、このWebページが役に立ちます。

https://ohthehugemanatee.org/blog/2019/02/11/btrfs-out-of-space-emergency-response/

デフォルトでは、必要な書き込み操作の時間と量を最小限に抑えるbtrfs balance start /オプションを使用して実行できます。-dusage=<some percentage value>ただし、BTRFSに空き容量がない場合、このコマンドは実行できません。この場合、まずファイルシステムを別のディスクデバイスに拡張する必要があるかもしれません。

関連情報