Modprobe не создает устройство nbd
Я работаю на сервере с Debian 8, и после запуска modprobe nbd
, программа работает просто отлично. Тем не менее, устройство не создано, так как /dev/nbd0
не существует. Что я должен сделать, чтобы заставить modprobe работать должным образом?
1 ответ
У меня есть частичный ответ, который эффективно работает вокруг вашей проблемы, но не дает окончательного объяснения, почему проблема возникла в первую очередь.
разрешение
Запустите эти команды:
sudo rmmod nbd
sudo mount -t devtmpfs none /dev
sudo modprobe nbd
ls /dev/nbd*
Последняя команда должна выглядеть так:
root@node51 [~]# ls /dev/nbd*
/dev/nbd0 /dev/nbd1 /dev/nbd10 /dev/nbd11 /dev/nbd12 /dev/nbd13 /dev/nbd14 /dev/nbd15 /dev/nbd2 /dev/nbd3 /dev/nbd4 /dev/nbd5 /dev/nbd6 /dev/nbd7 /dev/nbd8 /dev/nbd9
объяснение
Мы определили в чате, что /dev
не обновлялся, потому что он был смонтирован как tmpfs
а не как devtmpfs
,
Вы можете проверить второй столбец следующей команды, чтобы увидеть, если /dev
смонтирован как tmpfs
или же devtmpfs
:
df -T /dev
Без devtmpfs
только файлы устройств и символов, определенные во время начальной загрузки, будут заполнены в /dev
, devtmpfs
позволяет устройствам быть добавлены и удалены после загрузки.
Невозможно размонтировать /dev
с umount /dev
потому что там используются специальные файлы, но можно загрузить свежий devtmpfs
по существующему /dev
крепление.
sudo mount -t devtmpfs none /dev
монтирует devtmpfs
над существующим креплением в /dev
,
Теперь, когда вы делаете sudo modprobe nbd
, файлы устройства /dev/nbd0
через /dev/nbd15
заселиться в /dev
,
причина
Я не определилась почему /dev
был установлен как tmpfs
вместо devtmpfs
или почему Удев не бежал. devtmpfs
должен был быть по умолчанию.
Этот ответ о сбое сервера может иметь несколько потенциальных клиентов.