Proxmox не видит диск: как найти и устранить причину

Когда Proxmox не видит диск, первым делом стоит проверить вывод команды lsblk в консоли гипервизора: если накопителя нет даже там, проблема находится на уровне оборудования или драйверов, а не в веб-интерфейсе. Веб-панель Proxmox VE показывает только те устройства, которые уже определила операционная система, поэтому «невидимый» в интерфейсе диск почти всегда означает, что ядро Linux его не обнаружило.

Причин у такой ситуации несколько: от банально неподключенного шлейфа до RAID-режима контроллера, который скрывает физические диски от системы. Ниже разберём диагностику по шагам — от простых проверок к более глубоким.

Первичная диагностика: видит ли система диск вообще

Откройте консоль узла через веб-интерфейс или подключитесь по SSH. Выполните команду lsblk — она покажет все блочные устройства, которые видит ядро. Если диска в списке нет, дополнительно проверьте вывод lspci: там должен присутствовать сам контроллер (SATA, SAS или NVMe).

Для NVMe-накопителей полезна команда ls /dev/nvme*, а для SCSI/SATA — ls /dev/sd*. Если устройство появляется в /dev, но не отображается в веб-панели, проблема чаще всего кроется в разметке или в том, что диск уже занят другой подсистемой.

lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

lspci | grep -i -E "sata|sas|nvme|raid"

dmesg | grep -i -E "ata|nvme|scsi"

Строки в dmesg с ошибками инициализации, таймаутами или сообщениями вида link down указывают на проблемы с кабелем, питанием или самим накопителем.

Проверка BIOS/UEFI и физического подключения

Зайдите в BIOS или UEFI сервера и убедитесь, что диск определяется там. Если накопитель не виден даже на этом уровне, гипервизор ни при чём: проверьте SATA/SAS-кабель, разъём питания, посадку диска в слоте или корзине. Для NVMe проверьте, плотно ли установлен модуль в слот M.2 и поддерживает ли конкретный слот NVMe-протокол (некоторые слоты работают только с SATA M.2).

  • 🔌 Переподключите кабели данных и питания, попробуйте другой порт контроллера.
  • 🔄 Проверьте диск в другом сервере или через USB-переходник, чтобы исключить его неисправность.
  • ⚙️ Убедитесь, что в BIOS включён нужный контроллер и порт не отключён.
  • 🌡️ Для серверных плат проверьте настройки backplane и управление enclosure.
⚠️ Внимание: перед любыми манипуляциями с кабелями и дисками обесточьте сервер. Горячая замена допустима только для оборудования и бэкплейнов, где она явно поддерживается.

RAID-режим контроллера — частая скрытая причина

Одна из самых распространённых ситуаций на серверном железе: диски подключены к RAID-контроллеру (LSI/Broadcom MegaRAID, HP Smart Array и подобным), который не отдаёт физические диски операционной системе напрямую. Proxmox в этом случае видит только виртуальные тома, созданные в утилите контроллера, либо не видит ничего, если массив не сконфигурирован.

Решений два. Первый — зайти в утилиту настройки контроллера при загрузке сервера и создать виртуальный диск (хотя бы RAID 0 из одного накопителя). Второй — перевести контроллер в режим HBA (IT-режим, JBOD), если прошивка это позволяет: тогда каждый физический диск будет виден системе напрямую, что предпочтительно для ZFS.

Почему для ZFS важен прямой доступ к дискам

ZFS сам управляет массивом, контрольными суммами и восстановлением данных. Аппаратный RAID между ZFS и дисками скрывает ошибки накопителей и мешает корректной работе self-healing. Поэтому для ZFS-пулов рекомендуют HBA-режим вместо аппаратного RAID.

Учтите, что перепрошивка контроллера в IT-режим — рискованная операция, зависящая от конкретной модели. Сверяйтесь с официальной документацией производителя и делайте это только при понимании последствий.

Диск виден в системе, но не отображается в веб-интерфейсе

Бывает и обратная ситуация: lsblk показывает диск, а в разделе Disks веб-панели его нет или он недоступен для создания хранилища. Чаще всего причина в том, что накопитель уже используется: на нём есть разделы, он примонтирован, входит в существующий LVM- или ZFS-пул либо занят device mapper.

☑️ Подготовка диска к использованию в Proxmox

Выполнено: 0 / 4

Для очистки диска от остатков разметки используйте:

wipefs -a /dev/sdX

sgdisk --zap-all /dev/sdX

Замените sdX на реальное имя устройства. Если диск ранее входил в ZFS-пул, дополнительно выполните zpool labelclear /dev/sdX. После очистки диск должен появиться в интерфейсе как доступный.

⚠️ Внимание: команды wipefs и sgdisk --zap-all безвозвратно удаляют разметку и делают данные на диске недоступными. Перед запуском трижды проверьте имя устройства — ошибка в одной букве уничтожит данные на рабочем накопителе.

Проблемы с драйверами и совместимостью оборудования

Proxmox VE построен на ядре Linux, и подавляющее большинство контроллеров поддерживается из коробки. Однако экзотические или очень новые модели RAID/HBA могут требовать отдельных драйверов. Проверьте вывод dmesg на предмет ошибок загрузки модуля: сообщения вида firmware: failed to load указывают на отсутствующую прошивку.

В таком случае помогает установка пакетов с non-free прошивками (например, firmware-linux-nonfree и связанных пакетов) из репозиториев Debian, на которых основан Proxmox. Точный набор пакетов зависит от модели контроллера — определите её через lspci -nn и ищите драйвер по идентификатору устройства.

📊 Где именно Proxmox не видит ваш диск?
Диска нет даже в BIOS/UEFI
Диск есть в BIOS, но нет в lsblk
lsblk видит диск, а веб-интерфейс — нет
Диск виден, но не даёт создать хранилище

Особые случаи: USB-диски, passthrough и кластер

USB-накопители Proxmox определяет, но использовать их для постоянных хранилищ не стоит: соединение менее надёжно, а дешёвые контроллеры корпусов иногда отдают некорректные данные SMART или «отваливаются» под нагрузкой. Если USB-диск не определяется, проверьте dmesg сразу после подключения — там будут сообщения об ошибках инициализации.

Если диск нужен внутри виртуальной машины, а не на хосте, используется проброс: либо целиком контроллера через PCI passthrough (требуется включённый IOMMU в BIOS и соответствующие параметры ядра), либо отдельного диска командой qm set с указанием устройства /dev/disk/by-id/.... Именно идентификатор by-id предпочтительнее имён вида sda, поскольку последние могут меняться между перезагрузками.

Сводная таблица симптомов и причин

СимптомВероятная причинаПервое действие
Диска нет в BIOSКабель, питание, неисправность дискаПереподключить, проверить в другом устройстве
В BIOS есть, в lsblk нетRAID-режим контроллера, нет драйвераПроверить lspci и dmesg
В lsblk есть, в панели нетДиск занят: разделы, LVM, ZFSОчистить через wipefs
Диск периодически пропадаетПитание, кабель, перегрев, умирающий накопительПроверить SMART и dmesg
NVMe не определяетсяСлот без поддержки NVMe, прошивкаПроверить спецификацию платы

Эта таблица помогает быстро сузить круг поиска: начинайте с уровня, на котором диск «теряется», и двигайтесь вверх по цепочке — железо, контроллер, ядро, веб-интерфейс.

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

Почему Proxmox видит диск в консоли, но не даёт создать на нём хранилище?

Наиболее вероятная причина — остатки старой разметки, разделов или метаданных LVM/ZFS. Очистите диск командами wipefs -a и sgdisk --zap-all, после чего обновите страницу веб-интерфейса.

Нужно ли отключать RAID-контроллер для работы с ZFS?

Желательно перевести контроллер в HBA/IT-режим, чтобы ZFS получала прямой доступ к дискам. Если это невозможно, создайте для каждого диска отдельный виртуальный том RAID 0 — это компромиссный, но рабочий вариант.

Диск определялся раньше, а после перезагрузки пропал. Что делать?

Проверьте логи dmesg и журнал на ошибки ввода-вывода, состояние SMART через smartctl -a /dev/sdX, а также кабели и питание. Периодическое исчезновение диска часто указывает на начинающуюся аппаратную неисправность.

Можно ли пробросить диск в виртуальную машину, если хост его не видит?

Нет: для проброса отдельного диска хост должен его определять. Альтернатива — проброс целиком SATA/NVMe-контроллера через PCI passthrough, тогда диски увидит уже сама виртуальная машина.

Влияет ли версия Proxmox VE на поддержку дисков?

Косвенно да: более новые версии используют более свежее ядро Linux, в котором появляется поддержка новых контроллеров. Если у вас новейшее оборудование на старой версии Proxmox, обновление может решить проблему с драйверами.