Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
device-mapper: thin: Out of data space on metadata pool Linux / DevOps

device-mapper: thin: Out of data space — Решение аварии LVM Thin Pool

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Критический сбой ядра «device-mapper: thin: Out of data space on metadata pool» возникает в подсистеме dm-thin (LVM Thin Provisioning). Ошибка означает 100% исчерпание физического пространства данных (Data Space) или служебных метаданных (Metadata Space) в пуле тонких томов. При наступлении этого события драйвер device-mapper мгновенно блокирует (freeze) или переводит все зависимые виртуальные тома (LVs) и виртуальные машины (KVM/Proxmox) в режим Read-Only либо аварийно сбрасывает операции I/O с ошибкой EIO.

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
dm-thinDevice-Mapper SubsystemЯдерный драйвер тонкого выделения дискового пространства и снапшотов.
Metadata Pool 100%B-tree ExhaustionСлужебный том метаданных заполнен; ядро не может регистрировать новые блоки.
dm-thin-pool ModeRead-Only / Fail / QueueПолитика пула при переполнении (блокировка записи для предотвращения порчи ФС).

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Экспресс-анализ заполненности пула данных и метаданных

# Проверка статуса LVM Thin-пулов (обратите внимание на столбцы Data% и Meta%):
sudo lvs -a -o lv_name,vg_name,lv_size,data_percent,metadata_percent,lv_attr

# Просмотр системных сообщений dmesg:
dmesg -T | grep -E "(device-mapper|thin)"

Сценарий 2: Горячее расширение пула данных и пула метаданных

Если в Volume Group (VG) есть свободные экстенты, немедленно расширьте thin-pool:

# Расширение пространства данных тонкого пула на 50GB:
sudo lvextend -L +50G /dev/vg_name/thinpool_name

# Принудительное расширение тома МЕТАДАННЫХ пула:
sudo lvextend --poolmetadatasize +1G /dev/vg_name/thinpool_name

Сценарий 3: Аварийное восстановление поврежденного пула метаданных (thin_repair)

Если пул заблокировался и не активируется (в статусе metadata read-only):

# 1. Деактивация пула:
sudo lvchange -an /dev/vg_name/thinpool_name

# 2. Восстановление B-дерева метаданных в новый том через thin_repair:
sudo thin_repair -i /dev/mapper/vg_name-thinpool_name_tmeta -o /dev/mapper/vg_name-thinpool_name_new_tmeta

# 3. Замена поврежденного тома метаданных:
sudo lvconvert --repair /dev/vg_name/thinpool_name

Сценарий 4: Настройка автоматического расширения thin-пулов

Отредактируйте /etc/lvm/lvm.conf для предотвращения повторения аварии:

# В секции activation:
thin_pool_autoextend_threshold = 75
thin_pool_autoextend_percent = 20
Виртуальные машины в Proxmox/KVM зависли из-за переполнения thin pool?
ITSTM оперативно выполнит расширение пулов LVM-Thin/Ceph, восстановление поврежденных метаданных и вернет критические сервисы в строй без потери данных.
Практический опыт инженера: При использовании thin-pool на гипервизорах обязательно включайте службу dmeventd (systemctl enable --now lvm2-monitor). Без этого демона автоматическое расширение по thin_pool_autoextend_threshold не срабатывает.

Частые вопросы (FAQ)

Что опаснее: переполнение Data Space или переполнение Metadata Space?

Переполнение Metadata Space значительно опаснее. При исчерпании пула данных ядро просто отклоняет запись новых блоков, а при исчерпании метаданных повреждается само B-дерево адресации thin-pool, что требует применения thin_repair и может привести к потере снапшотов.

Почему lvextend выдает ошибку 'Volume group has insufficient free space'?

Это означает, что в родительской Volume Group (VG) закончились физические дисковые экстенты. Вам необходимо сначала добавить новый физический диск в VG (vgextend vg_name /dev/sdX), а затем расширить thin pool.

Как разморозить зависшие I/O операции после расширения пула?

После успешного выполнения lvextend ядро автоматически переводит пул в режим read-write и возобновляет приостановленные I/O операции. Если этого не произошло, выполните: sudo lvchange --refresh /dev/vg_name/thinpool_name.

Каков максимальный рекомендуемый размер тома метаданных (poolmetadatasize)?

Архитектурный максимум метаданных LVM thin-pool составляет около 16 ГБ. Для пулов размером 5-20 ТБ рекомендуется сразу задавать размер метаданных от 2 до 8 ГБ.