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 должен был быть по умолчанию.

Этот ответ о сбое сервера может иметь несколько потенциальных клиентов.

Другие вопросы по тегам