Modprobe不创buildnbd设备

我正在运行Debian 8的服务器,运行modprobe nbd ,程序运行得很好。 但是,由于/dev/nbd0不存在,所以不会创build设备。 我应该怎么做才能让modprobe正常运行?

我有一个有效解决问题的部分答案,但没有确切地解释为什么问题首先发生。

parsing度

运行这些命令:

 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是否被挂载为tmpfsdevtmpfs

 df -T /dev 

如果没有devtmpfs ,只有在初始启动过程中定义的设备和字符文件才会被填充到/devdevtmpfs允许在启动后添加和删除设备。

使用umount /dev无法卸载/dev ,因为其中的特殊文件正在使用中,但可以通过现有的/dev挂载加载新的devtmpfs

sudo mount -t devtmpfs none /devdevtmpfs挂载到/dev的现有挂载。

现在,当您执行sudo modprobe nbd ,设备文件/dev/nbd0/dev/nbd15被填充到/dev

原因

我没有确定为什么/dev被挂载为tmpfs而不是devtmpfs或者为什么udev没有运行。 devtmpfs应该是默认的。

服务器故障上的这个答案可能有一些线索。