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파일 시스템에서 사용 가능한 디스크 공간에 대한 추가 정보를 제공할 수 있는 두 가지 명령이 있습니다.

btrfs-progs3.18 이전 버전의 경우 :

btrfs fi df /

btrfs-progs버전 3.18 이상의 경우 :

sudo btrfs fi usage /

btrfsLVM 및 소프트웨어 RAID의 기능을 기본적으로 포함하는 복잡한 파일 시스템이므로 디스크 공간 할당이 df기존 명령이 나타내는 것보다 더 복잡할 수 있습니다.

자세한 내용은 BTRFS 위키를 참조하세요. https://btrfs.wiki.kernel.org/index.php/FAQ#or_My_filesystem_is_full.2C_and_I.27ve_put_almost_nothing_into_it.21

위에서 언급한 btrfs 관련 명령이 루트 파일 시스템에 실제로 공간이 부족하다는 것을 나타내는 경우 이 웹 페이지가 도움이 될 수 있습니다.

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

기본적으로 필요한 쓰기 작업의 시간과 양을 최소화하는 btrfs balance start /옵션을 사용하여 실행할 수 있습니다 . -dusage=<some percentage value>그러나 BTRFS에 여유 공간이 없으면 이 명령을 실행할 수 없습니다. 이 경우 먼저 파일 시스템을 다른 디스크 장치로 확장해야 할 수도 있습니다.

관련 정보