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

我试图在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 

经过一些Googlesearch之后,我发现这是由于/ 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选项添加到循环模块

 # cat /etc/modules | grep loop loop max_loop=64 

但是我无法重新加载模块

 # modprobe -r loop FATAL: Module loop is in use. 

我无法摧毁所有的DomU和/或在这个时候重新启动Dom0。 任何其他方式来重新加载/强制使用额外的循环设备?

谢谢,Yeri

Yeri(以供将来参考)

我build议更改您的DomU的每个磁盘为“tap:aio”而不是“文件”资源。 这两个选项基本上是相同的,除了tap:aio不会在Dom0上使用回送设备。

例如,在DomU的Xenconfiguration文件中,使用:

 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