libvirtd: Unable to register a physical CD-/DVD-ROM


In attempting to set up virtual machines, there’s still one obstacle that needs to be resolved: When attempting to register the CD-/DVD-ROM of my computer with libvirtd (so I can insert the appropriate installation media for the guest OSes) vm-manager starts complaining and issues the following error message:

Could not start storage pool: Internal error: Subprocess (/usr/lib64/libvirt/libvirt_parthelper /dev/sr0) unexpected termination status 2
(this might not be entirely accurate since I need to translate back from the German version)

Any ideas on how to convince libvirtd to accept the device?
If possible, I would like to circumvent generating an ISO image and put it into /var/lib/libvirt/images or any similar method.

AFAIK optical devices aren’t assigned to storage pools, only “disk” storage.

No “registration” should be needed… Are you using vm manager or the command line to manage, configure and launch your Guests?

Also, have you tried to point your virtual CDROM to an ISO file instead of a physical device?


Just circumvented this problem by adding pre-formatted fs storage…
This mounts the optical volume in /var/lib/libvirt/images/<subdir> and should circumvent this problem.

However, I have run into another problem: When attempting to allocate a physical partition as guest OD storage (I managed to add both the entire hd and the partition(s) in question as potential storage) libvirt complains again: Error creating domain: Block device type “qemu” is invalid. - however, according to the error dialog this seems to point to xend instead of libvirtd…

Unfortunately I haven’t found a means to resolve this issue so creating that particular domU fails.

Try storing your ISO files in a different location… AFAIK the location you’ve chosen is typically used for storing the VM disk images, not ISO images. I haven’t tried to store ISO images there just because it doesn’t make sense to me, and I would expect the location you’ve chosen likely has special file permissions as well as the issue you’re describing.

To me, it’s logical to place resources which should be available system-wide in a location that’s not specific to any technology, application, or use.
I typically create a location immediately off the root, eg /ISO/
I’d assume a network share can be suitable as well although of course that could involve severe performance penalties.