我正在运行 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
将 a 安装devtmpfs
在现有的 支架上/dev
。
现在,当您这样做时sudo modprobe nbd
,设备文件将/dev/nbd0
通过/dev/nbd15
被填充/dev
。
原因
我不知道为什么/dev
被安装为tmpfs
而不是devtmpfs
或者为什么udev没有运行。 devtmpfs
应为默认设置。
Server Fault 上的这个答案可能会有一些线索。