Когда 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
Для очистки диска от остатков разметки используйте:
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 и ищите драйвер по идентификатору устройства.
Особые случаи: 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, обновление может решить проблему с драйверами.