Назад | Перейти на главную страницу

BTRFS, места нет, но места много

Я сталкиваюсь No space left на BTRFS.

Что уже пробовал на себе:

Ничего не помогло. Что я могу еще сделать?

Итак, с чем я столкнулся, это (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.