모든 작업에 대해 Btrfs "남은 공간 없음"

모든 작업에 대해 Btrfs "남은 공간 없음"

btrfs 장치에 공간이 부족하고 모든 문제 해결 팁이 동일한 오류로 이어집니다. 을(를) 설치 중입니다 sudo mount -o rw,skip_balance,nodatacow. 커널 6.1.13을 사용하고 있으며 하위 볼륨이나 스냅샷이 없습니다.

echo "" > largefile"거래 중단:

[  438.953007] BTRFS: error (device sdf: state A) in __btrfs_update_delayed_inode:1060: errno=-28 No space left
[  438.953059] BTRFS info (device sdf: state EA): forced readonly
[  438.953064] BTRFS: error (device sdf: state EA) in __btrfs_run_delayed_items:1153: errno=-28 No space left
[  438.953100] BTRFS warning (device sdf: state EA): Skipping commit of aborted transaction.
[  438.953102] BTRFS: error (device sdf: state EA) in cleanup_transaction:1958: errno=-28 No space left

거기에 추가 정보가 있습니다.space_info METADATA has 4321902592 free, is full

btrfs balance start -v -dusage=0 /mnt항상 다른 잔액이 보류 중이라고 표시됩니다. 그렇지 않으면 다음 오류가 발생합니다.

[ 1023.356909] BTRFS: error (device sdf: state A) in cleanup_transaction:1958: errno=-28 No space left
[ 1023.356969] BTRFS warning (device sdf: state EA): btrfs_uuid_scan_kthread failed -30
[ 1023.357006] BTRFS: error (device sdf: state EA) in reset_balance_state:3599: errno=-30 Readonly filesystem

내가 본 마지막 팁은 새 장치를 추가하는 것이었습니다. 루프백 장치와 실제 디스크( )를 사용해 보았습니다 btrfs device add /dev/sdb /mnt. 두 번 모두 다음을 얻습니다.

[ 1393.030477] BTRFS info (device sdf: state A): dumping space info:
[ 1393.030479] BTRFS info (device sdf: state A): space_info DATA has 14588968960 free, is not full
[ 1393.030482] BTRFS info (device sdf: state A): space_info total=11980400689152, used=11965811326976, pinned=0, reserved=0, may_use=0, readonly=393216 zone_unusable=0
[ 1393.030485] BTRFS info (device sdf: state A): space_info METADATA has 4322557952 free, is not full
[ 1393.030487] BTRFS info (device sdf: state A): space_info total=21944598528, used=17084776448, pinned=0, reserved=0, may_use=536870912, readonly=393216 zone_unusable=0
[ 1393.030490] BTRFS info (device sdf: state A): space_info SYSTEM has 11780096 free, is not full
[ 1393.030492] BTRFS info (device sdf: state A): space_info total=12582912, used=802816, pinned=0, reserved=0, may_use=0, readonly=0 zone_unusable=0
[ 1393.030495] BTRFS info (device sdf: state A): global_block_rsv: size 536870912 reserved 536870912
[ 1393.030497] BTRFS info (device sdf: state A): trans_block_rsv: size 0 reserved 0
[ 1393.030499] BTRFS info (device sdf: state A): chunk_block_rsv: size 0 reserved 0
[ 1393.030500] BTRFS info (device sdf: state A): delayed_block_rsv: size 0 reserved 0
[ 1393.030504] BTRFS: error (device sdf: state A) in btrfs_init_new_device:2778: errno=-28 No space left
[ 1393.030548] BTRFS info (device sdf: state EA): forced readonly

흥미롭게도 이번에는 디버그 출력에 METADATA가 꽉 찼다고 표시되지 않습니다.

여기서 내 옵션은 무엇입니까?

답변1

"또 다른 균형이 정지되었습니다"는 큰 힌트가 될 것입니다. 난 달린다:

mount -o rw,skip_balance /mnt && btrfs balance cancel /mnt

파일 시스템을 강제로 읽기 전용으로 만들기 전에 기존 잔액을 취소하십시오. 그런 다음 대용량 파일을 삭제하고 정상적으로 재조정할 수 있습니다.

관련 정보