Linux "loop" module has max 8 loop devices (/dev/loop*) as a default. Every Xen "file:" backed domU disk uses one loop device in dom0, and if you do "mount -o loop disk.img /mnt" in dom0 that uses a loop device aswell.
You can check all the loop devices in use by running
- Code: Select all
losetup -a
You can detach a loop device (free it) by running
- Code: Select all
losetup -d /dev/loopX
when it's not mounted or otherwise in use.
You can increase the amount of available loop devices by loading the linux "loop" module with an option "max_loop=X", for example
- Code: Select all
modprobe loop max_loop=128
You can add "max_loop=X" option to /etc/modprobe.conf, /etc/modules (or whatever cfgfile your dom0 distribution uses for module options) to make it boot time default.
To set the amount of loop devices during the kernel load one can specify the following kernel option max_loop=128:
- Code: Select all
...
...
module /boot/vmlinuz-2.6.18-194.3.1.el5xen ro max_loop=128 root=LABEL=/
...
...
You can also use Xen "phy:" backed LVM volumes instead of disk images. "phy:" doesn't require loop devices.
Such an error message may also be indicative of other issues (such as the guest crashing and restarting so quickly that xend does not have time to free the older loopback device).