我该如何设置10个以上的环回设备?


9

从这个答案解决方案是

modprobe loop max_loop=64

这使我可以使用64个环回设备

mknod -m 660 /dev/loop8 b 7 8

创建设备。我这样做是为了8、9、10和8,9,但10没有。

然后我尝试将loopa转换为loopf并尝试安装第11个设备,但出现错误

Error: Failed to set up a loop device:

如何制作> 10个回路设备?


确保您正在跑步mknod -m 660 /dev/loop10 b 7 10。对我来说很好。您正在使用什么发行版?
sparticvs 2012年

@sparticvs:糟糕,我一直在使用8作为所有var的最后一个值。我不知道为什么如果我做错了,它为什么让我挂载我的第9和第10个设备。我使用ubuntu,我正在测试。是的,它起作用了。如果您回答,我会接受

您可以为同一设备创建多个文件系统条目。它们都指定相同的设备。在调用losetupmount -o loop在已使用的循环设备上(即使您通过其他名称访问该设备)时,也遇到此错误。
吉尔(Gilles)'所以

我对此问题不满意的是,它没有询问如何确定max_loop是否正确设置为64。而且我在任何地方都找不到有关如何确定最大设置的信息。
泽西豆

Answers:


13

确保您正在跑步mknod -m 660 /dev/loop10 b 7 10。格式是mknod -m 660 /dev/loop<ID> b 7 <ID>ID相同的地方。

更新[2014年7月10日]

我还发现了一篇不错的博客文章,总是在启动时有更多内容。参见https://yeri.be/xen-failed-to-find-an-unused-loop-device

更新[2016/05/25]

我运行了CentOS服务器,发现其他方法不起作用时,这篇文章也很有帮助。

这是我最喜欢的新方法:

MAKEDEV /dev/loop

它创建256个循环设备(这是不修改内核的最大数量)。


0

如果要在未编号的循环设备名称(例如/dev/loop-something)中找到一个可用的主循环设备号,则可以使用此命令找到最大的循环设备号,然后添加1:

find /dev -type b -print0 | xargs -0L1 bash -c 'stat -c "%t %T" "$1" | awk "/^7 / { print(\$2); }"' '' | sort -nru | head -n1

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.