Я сталкиваюсь No space left
на BTRFS.
Что уже пробовал на себе:
btrfs filesystem resize max /mnt/hdd
btrfs balance start /mnt/hdd -dlimit=<param>
Ничего не помогло. Что я могу еще сделать?
Итак, с чем я столкнулся, это (Ubuntu 18.04.1 LTS):
BTRFS: error (device sda) in __btrfs_inc_extent_ref:2268: errno=-28 No space left
BTRFS info (device sda): forced readonly
Однако места предостаточно:
$ sudo btrfs fi show /mnt/hdd
Label: none uuid: 262a8d86-279a-4f6b-8968-32e200c32255
Total devices 1 FS bytes used 1.68TiB
devid 1 size 7.28TiB used 1.70TiB path /dev/sda
Однако эта команда сообщает о В части данных заканчивается место?
$ btrfs fi df /mnt/hdd
Data, single: total=1.47TiB, used=1.46TiB
System, single: total=4.00MiB, used=224.00KiB
Metadata, single: total=236.01GiB, used=222.76GiB
GlobalReserve, single: total=512.00MiB, used=495.75MiB
Также:
$ sudo btrfs fi usage /mnt/hdd
Overall:
Device size: 7.28TiB
Device allocated: 1.70TiB
Device unallocated: 5.58TiB
Device missing: 0.00B
Used: 1.68TiB
Free (estimated): 5.58TiB (min: 5.58TiB)
Data ratio: 1.00
Metadata ratio: 1.00
Global reserve: 512.00MiB (used: 495.75MiB)
Data,single: Size:1.47TiB, Used:1.46TiB
/dev/sda 1.47TiB
Metadata,single: Size:236.01GiB, Used:222.76GiB
/dev/sda 236.01GiB
System,single: Size:4.00MiB, Used:224.00KiB
/dev/sda 4.00MiB
Unallocated:
/dev/sda 5.58TiB
Ваше устройство в основном нераспределено, что можно исправить, изменив размер / балансировку. Но это уже не сработало, так что есть «что-то странное». Вывод сообщений, связанных с BTRFS, из dmesg
может помочь понять, почему.
Вы пытались выключить и снова включить? Если серьезно, то перемонтирование исправляет большинство странностей BTRFS. Сделайте резервную копию своих данных перед размонтированием, если вы еще этого не сделали.
Кроме того, вы можете выполнить проверку. Это отличается от очистки и выполняется против устройств (а) резервного блока, когда BTRFS отключен. Это потребует много оперативной памяти и займет некоторое время. Это проверяет структуры и не будет восстанавливать вещи самостоятельно, если это не указано (с параметром --repair). Не говорите ему о ремонте, пока не получите вывод о том, что не так, и не поймете, что это исправить (например, если у вас есть необнаруженный сбой физического диска, выполнение ремонта почти наверняка приведет к повреждению файловой системы).
Оффлайн чек можно оформить следующим образом:
btrfs check -p /dev/sda
Вы также должны проверить устройство резервного копирования (прочитать его данные SMART, провести длительный тест и т. Д.), Если после проверки BTRFS что-то не так. Это можно сделать с помощью smartctl -a /dev/sda
и smartctl -t long /dev/sda
соответственно. Предполагается, что это металлический узел с настоящими дисками. Если это виртуальная машина, начните проверять снизу вверх, не выглядит ли что-то поврежденным в BTRFS.