Тонкий том LVM заполнен: файловая система переходит в аварийный режим
Тонкие тома выделяют место по мере записи. Когда пул исчерпан, тома не могут получить блоки: запись прекращается, а файловые системы на них переходят в аварийный режим. Это опаснее обычного заполнения диска.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Пул исчерпан
Суммарный объём данных на тонких томах превысил размер пула. Метаданные тоже могут закончиться раньше данных.
-
Автоматическое расширение не настроено
Пул может расширяться сам при достижении порога, если это включено в настройках и работает служба наблюдения.
-
Место занято снимками
Снимки тонких томов занимают место в том же пуле. Забытый снимок исчерпывает пул незаметно.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Заполнение тонких пулов и томов.
sudo lvs -o lv_name,vg_name,data_percent,metadata_percentСообщения ядра о тонких томах.
journalctl -k -b --no-pager | grep -iE "thin|dm-" | tail -10Свободное место в группе томов для расширения пула.
sudo vgsРешение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Суммарный объём данных на тонких томах превысил размер пула. Метаданные тоже могут закончиться раньше данных.
- Как проверить
-
Посмотрите заполнение пула и метаданных.
sudo lvs -o lv_name,data_percent,metadata_percent 2>/dev/null
- Как исправить
- Расширьте пул физическими томами. До расширения запись невозможна, и попытки лишь усугубляют состояние файловых систем.
- Почему происходит
- Пул может расширяться сам при достижении порога, если это включено в настройках и работает служба наблюдения.
- Как проверить
-
Посмотрите настройки автоматического расширения.
grep -iE "thin_pool_autoextend" /etc/lvm/lvm.conf 2>/dev/null
- Как исправить
- Включите автоматическое расширение и убедитесь, что служба наблюдения работает: иначе пороги никто не проверяет.
- Почему происходит
- Снимки тонких томов занимают место в том же пуле. Забытый снимок исчерпывает пул незаметно.
- Как проверить
-
Посмотрите список томов и снимков.
sudo lvs -a -o lv_name,origin,data_percent 2>/dev/null | head -20
- Как исправить
- Удалите ненужные снимки. Держать их долго на тонком пуле — верный способ исчерпать место.
Пример вывода
Тонкий пул исчерпан, запись прекращена. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
kernel: device-mapper: thin: 253:2: reached low water mark for data device: sending event.
kernel: device-mapper: thin: 253:2: switching pool to out-of-data-space (queue IO) mode
kernel: EXT4-fs warning (device dm-3): ext4_end_bio:342: I/O error writing to inode 131074
Связанные ошибки
- No space left on device в журнале службы Нет места на устройстве: разбор по свободным блокам, по inode, по журналу systemd и по удалённым, но открытым файлам.
- Файловая система перешла в режим только для чтения на ходу Служба работала и вдруг перестала писать: ядро перемонтировало раздел после ошибки. Срочные действия.
- Input/output error в журнале службы Ошибка ввода-вывода: проблемы носителя, отвалившийся сетевой ресурс, повреждённая файловая система. Что проверять срочно.
- File corrupted or uncleanly shut down, renaming and replacing Журнал повреждён после жёсткой перезагрузки: что означает сообщение и когда нужно вмешательство.
- I/O error, dev sda, sector N: ошибка носителя Ядро сообщает об ошибке чтения или записи на устройстве. Что делать со службой и данными.
- Mount process exited, code=exited, status=32: не найдено устройство Монтирование не проходит: устройство или UUID не найдены, неверная файловая система, недоступен сетевой ресурс. Код 32 от команды mount.
- You are in emergency mode: система не загрузилась Загрузка остановилась в аварийном режиме. Что проверять: fstab, файловые системы, цель по умолчанию. Как войти и починить.
- fsck failed: проверка файловой системы остановила загрузку Проверка файловой системы при загрузке завершилась неудачей. Как прочитать причину, запустить проверку вручную и что делать с корневым разделом.
Источники
-
lvmthin(7)
Тонкие пулы, пороги и автоматическое расширение. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Воспроизведено заполнением тонкого пула в тестовой группе томов.