我正在尝试在 Ubuntu Dom0 上启动一台新的 DomU 机器(Lenny)。
但是,执行 xm-create 命令时出现以下错误:
# xm create vm3.rootspirit.com.cfg
Using config file "./vm3.rootspirit.com.cfg".
Error: Device 769 (vbd) could not be connected. Failed to find an unused loop device
经过谷歌搜索后,我了解到这是由于 /dev 中的环回设备限制造成的。
# ls -ls /dev/ | grep loop
0 brw-rw---- 1 root disk 7, 0 2009-07-17 04:01 loop0
0 brw-rw---- 1 root disk 7, 1 2009-07-22 12:49 loop1
0 brw-rw---- 1 root disk 7, 2 2009-07-22 12:49 loop2
0 brw-rw---- 1 root disk 7, 3 2009-07-22 12:49 loop3
0 brw-rw---- 1 root disk 7, 4 2009-07-22 12:49 loop4
0 brw-rw---- 1 root disk 7, 5 2009-07-22 12:49 loop5
0 brw-rw---- 1 root disk 7, 6 2009-07-22 12:49 loop6
0 brw-rw---- 1 root disk 7, 7 2009-07-22 12:49 loop7
我当前有 3 个 DomU 正在运行:
# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 5352 2 r----- 945295.5
vm0.rootspirit.com 130 1024 1 -b---- 653791.0
vm1.rootspirit.com 106 1024 2 -b---- 48359.3
vm2.rootspirit.com 128 512 2 -b---- 18150.9
我已经将 max_loop 选项添加到 loop 模块
# cat /etc/modules | grep loop
loop max_loop=64
但我无法重新加载模块
# modprobe -r loop
FATAL: Module loop is in use.
我目前无法销毁所有 DomU 和/或重新启动 Dom0。还有其他方法可以重新加载/强制使用额外的循环设备吗?
谢谢,Yeri
答案1
Yeri(供以后参考),
我建议将 DomU 的每个磁盘更改为“tap:aio”而不是“文件”资源。这两个选项本质上是相同的,只是 tap:aio 不会耗尽 Dom0 上的环回设备。
例如,在您的 DomU 的 Xen 配置文件中,使用:
disk = [ 'tap:aio:/domu/guest1.img,sda1,w' ]
代替:
disk = [ 'file:/domu/guest1.img,sda1,w' ]
资源:
http://doc.opensuse.org/products/draft/SLES/SLES-xen_draft/cha.xen.vbd.html