XEN:错误:无法连接设备 769 (vbd)。无法找到未使用的循环设备

XEN:错误:无法连接设备 769 (vbd)。无法找到未使用的循环设备

我正在尝试在 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://www.centos.org/docs/5/html/5.2/Virtualization/sect-Virtualization-Troubleshooting-Loop_device_errors.html

http://doc.opensuse.org/products/draft/SLES/SLES-xen_draft/cha.xen.vbd.html

相关内容