Ошибка TASK ERROR: storage 'local-lvm' is not available on node при запуске виртуальной машины в Proxmox VE почти всегда означает одно: диск ВМ привязан к хранилищу, которое недоступно на текущем узле кластера или отключено в конфигурации. Первое действие — открыть Datacenter → Storage и проверить, активно ли хранилище и включён ли нужный узел в его список Nodes. Только после этого имеет смысл разбираться с самими дисками.

Хранилище (storage) в Proxmox VE — это абстракция, которая связывает физические диски, разделы, сетевые ресурсы и виртуальные машины. От правильного выбора типа хранилища зависят производительность ВМ, возможность live-миграции, создание снапшотов и тонких дисков. В этой статье разберём, какие типы хранилищ поддерживает Proxmox, чем они отличаются, как добавить новое хранилище и что делать при типичных проблемах.

Как Proxmox организует хранение данных ВМ

В основе системы лежит файл /etc/pve/storage.cfg, в котором описаны все подключённые хранилища кластера. Каждое хранилище имеет тип (dir, lvm, zfs, nfs и т.д.), набор поддерживаемого контента (образы дисков, ISO, бэкапы, шаблоны контейнеров) и список узлов, на которых оно доступно.

Важно понимать различие между файловыми и блочными хранилищами. Файловые (dir, NFS) хранят диски ВМ как файлы формата qcow2, raw или vmdk. Блочные (LVM, ZFS, Ceph RBD) выделяют логические тома, и диск ВМ выглядит как блочное устройство. От этого зависит поддержка снапшотов и тонкого выделения места.

  • 📁 Directory (dir) — обычная папка на локальной файловой системе, поддерживает qcow2 со снапшотами.
  • 📦 LVM / LVM-thin — логические тома; thin-версия даёт тонкое выделение и снапшоты.
  • 💾 ZFS — комбинированная ФС и менеджер томов с снапшотами, сжатием и проверкой целостности.
  • 🌐 NFS / SMB / iSCSI — сетевые хранилища для общих ресурсов и миграции между узлами.
  • 🐙 Ceph RBD — распределённое хранилище для кластеров с отказоустойчивостью.
💡

Тип хранилища определяет возможности ВМ: снапшоты, тонкие диски и live-миграция доступны не везде — выбирайте storage под задачи, а не «по умолчанию».

Сравнение популярных типов хранилищ

Однозначно «лучшего» типа не существует — выбор зависит от того, один у вас сервер или кластер, нужны ли снапшоты и насколько критична производительность дисковой подсистемы. Ниже сводная таблица основных характеристик.

ТипФормат дисковСнапшотыТонкое выделениеОбщий доступ (кластер)
Directory (dir)qcow2, raw, vmdkТолько qcow2Только qcow2Нет
LVM-thinБлочные томаДаДаНет
ZFS (zfspool)Блочные тома (zvol)ДаДаНет (репликация возможна)
NFSqcow2, rawТолько qcow2Только qcow2Да
Ceph RBDБлочные томаДаДаДа

Обратите внимание: на обычном LVM (не thin) снапшоты виртуальных машин недоступны — это одна из самых частых причин, почему кнопка Snapshot в веб-интерфейсе неактивна. Если хранилище уже создано как «толстое» LVM, переход на thin потребует переноса данных.

📊 Какое хранилище вы используете для виртуальных машин в Proxmox?
ZFS
LVM-thin
Directory (qcow2)
NFS / Ceph

Добавление нового хранилища через веб-интерфейс

Базовый сценарий: у вас появился второй диск или массив, и нужно отдать его под диски ВМ. Проще всего это сделать через веб-интерфейс Proxmox в разделе Datacenter → Storage → Add.

Для локального каталога выберите тип Directory, укажите ID (имя хранилища), путь к смонтированной папке, например /mnt/datastore, и отметьте типы контента: Disk image и Container. Диск при этом должен быть предварительно отформатирован и смонтирован — Proxmox сам файловую систему для типа dir не создаёт.

Для ZFS сначала создаётся пул в разделе Node → Disks → ZFS → Create, после чего хранилище типа ZFS Pool появляется автоматически. Для NFS укажите адрес сервера и экспортируемый путь — Proxmox сам смонтирует ресурс.

☑️ Проверка перед добавлением хранилища

Выполнено: 0 / 5
⚠️ Внимание: при добавлении диска в ZFS-пул через веб-интерфейс все данные на нём будут уничтожены. Убедитесь, что вы выбрали правильное устройство — имена дисков (/dev/sdb и т.п.) могут меняться после перезагрузки, надёжнее ориентироваться на идентификаторы в /dev/disk/by-id/.

Настройка хранилища через командную строку

Всё, что делается в веб-интерфейсе, доступно и через утилиту pvesm (Proxmox VE Storage Manager). Это удобно для автоматизации и диагностики.

pvesm add dir backups --path /mnt/backups --content backup

pvesm status

pvesm list local-lvm

Первая команда создаёт хранилище типа dir с именем backups, вторая показывает состояние всех хранилищ, третья — список томов в конкретном хранилище. Изменения сразу записываются в storage.cfg и реплицируются на все узлы кластера.

Если нужно вручную поправить конфигурацию, редактируйте /etc/pve/storage.cfg аккуратно: этот файл общий для кластера, и синтаксическая ошибка может «уронить» отображение хранилищ на всех узлах. Перед правкой сделайте копию файла.

💡

Команда pvesm status быстро покажет, какие хранилища активны, сколько места занято и не отвалилось ли сетевое хранилище — начинайте диагностику с неё.

Перенос диска ВМ между хранилищами

Типичная задача: диск виртуальной машины создан на local-lvm, а нужно перенести его на новый быстрый SSD-пул или сетевое хранилище. В веб-интерфейсе это делается через выбор диска ВМ и пункт Disk Action → Move Storage. ВМ при этом может продолжать работать — данные копируются в фоне.

Через консоль та же операция выглядит так:

qm move-disk 100 scsi0 zfs-pool

Здесь 100 — идентификатор ВМ, scsi0 — переносимый диск, zfs-pool — целевое хранилище. После завершения старый том удаляется автоматически, если не указана опция сохранения.

Учтите, что при переносе с блочного хранилища на файловое формат диска может преобразоваться (например, в qcow2). Длительность операции зависит от объёма диска и скорости обоих хранилищ — на больших дисках планируйте окно обслуживания.

⚠️ Внимание: не прерывайте процесс Move Storage перезагрузкой узла или служб. Прерванное копирование может оставить «осиротевший» том в целевом хранилище и диск, отключённый от конфигурации ВМ. Если это произошло, проверьте конфиг ВМ в /etc/pve/qemu-server/<VMID>.conf и список томов через pvesm list, прежде чем удалять что-либо.

Типичные проблемы и их диагностика

Чаще всего администраторы сталкиваются с тремя сценариями: хранилище недоступно, закончилось место, не создаётся снапшот. У каждого — свой порядок проверки.

Хранилище inactive. Для сетевых хранилищ проверьте доступность сервера: ping до NFS-сервера, затем showmount -e <server> для проверки экспорта. Для локальных — смонтирован ли диск и не ушёл ли он в read-only из-за ошибок ФС (смотрите dmesg).

Переполнение. При заполнении LVM-thin пула на 100% записывающие ВМ могут аварийно остановиться, а сам пул — повредиться. Следите за столбцом %Used в pvesm status и настройте оповещения. Для ZFS помните, что пулу вредна работа при заполнении выше примерно 80–90% — производительность и надёжность снижаются.

  • 🔍 Проверьте статус: pvesm status — все ли хранилища active.
  • 📊 Оцените заполнение: df -h для dir, lvs для LVM, zpool list для ZFS.
  • 🧾 Изучите логи: journalctl -u pve-storage и системный журнал узла.
  • 🔗 Для NFS/iSCSI проверьте сетевую связность и права на стороне сервера.
Почему снапшот недоступен на raw-диске

Формат raw не поддерживает встроенные снапшоты — это особенность самого формата, а не ограничение Proxmox. На файловых хранилищах пересоздайте диск в qcow2 (например, через Move Storage с выбором формата), а на блочных используйте LVM-thin, ZFS или Ceph, где снапшоты реализованы на уровне тома.

Рекомендации по выбору хранилища

Для одиночного сервера с парой ВМ практичный вариант — ZFS: снапшоты, сжатие и защита от повреждения данных «из коробки». Минус — требовательность к оперативной памяти и необходимость понимать устройство пулов.

Для кластера с live-миграцией нужно общее хранилище: NFS как простой вариант или Ceph для отказоустойчивых конфигураций. Локальные хранилища тоже допустимы, но миграция диска между узлами займёт время, пропорциональное его размеру.

💡

Правило выбора: одиночный узел — ZFS или LVM-thin; кластер с миграцией — NFS или Ceph; ISO и бэкапы удобно держать на отдельном dir/NFS-хранилище.

Независимо от выбора разделяйте хранилища по назначению: диски ВМ, ISO-образы и бэкапы лучше держать отдельно. Это упрощает контроль места и позволяет применять разные политики резервного копирования.

Часто задаваемые вопросы

Чем local отличается от local-lvm в Proxmox?

local — это каталог на корневой файловой системе (обычно /var/lib/vz) для ISO, бэкапов и шаблонов. local-lvm — LVM-thin пул, создаваемый при установке, предназначенный для дисков ВМ и контейнеров. Диски ВМ в local тоже можно хранить (в формате qcow2), но стандартная практика — разделять эти роли.

Можно ли увеличить хранилище без остановки ВМ?

Для dir — расширьте файловую систему и точку монтирования. Для LVM-thin — добавьте диск в volume group командой vgextend и расширьте thin-пул через lvextend. ВМ при этом продолжают работать. Для ZFS добавляются новые устройства в пул. Конкретные команды зависят от вашей разметки — сверяйтесь с документацией Proxmox перед изменениями.

Как удалить хранилище, не потеряв данные?

Удаление записи через Datacenter → Storage → Remove убирает только конфигурацию из storage.cfg — сами данные на дисках остаются. Но если в хранилище есть привязанные к ВМ диски, сначала перенесите их через Move Storage, иначе ВМ перестанут запускаться.

Почему диск ВМ занимает больше места, чем показывает гостевая ОС?

На «толстых» томах (raw, обычный LVM) выделяется весь объём сразу — это нормально. На тонких хранилищах место растёт по мере записи и не уменьшается при удалении файлов внутри ВМ, если не включён discard/TRIM. Проверьте, что в настройках диска ВМ включена опция Discard, а гостевая ОС поддерживает TRIM.

Поддерживает ли Proxmox хранилище на внешнем USB-диске?

Технически USB-диск можно смонтировать и добавить как хранилище типа dir. Однако для дисков работающих ВМ это небезопасно: случайное отключение приведёт к повреждению данных. USB-накопители разумно использовать только для бэкапов и ISO-образов.