Tape changer pass-through doesn't work

athompso

Renowned Member
Sep 13, 2013
129
8
83
Trying to pass a tape-changer through to a RHEL6 VM isn't working, not sure why.

1) I had to write custom udev rules to ensure I was always passing through the correct SCSI devices, enumeration doesn't seem to be entirely stable or deterministic on my system.
2) I had to forcibly disable the st and ch modules on the host, otherwise udev kept trying to kill the "modprobe" command because it was taking too long (a full Dell PV-124T autoloader takes ~5 minutes to respond to SCSI SUB-UNIT STATUS because it moves each tape past the barcode scanner).
3) I had to modify QemuServer.pm to allow for Type==8 devices (there's a patch floating around on a mailing list that Google found for me)
4) I also had to set cache=writethrough manually in the config file

KVM finally agreed to start once all those things had been done, but the guest VM doesn't see the passed-through devices at all.
I'm continuing to work on it, but does anyone know how to make this ^%$#@! work???


Notes:
-PCIe passthrough doesn't work because the host is just slightly too old to have a working IOMMU (Opteron 2300 series)
-iSCSI doesn't work because of (I think) the SCST module problem, and also because it's just not fast enough: I have 1Gbps network infrastructure, and Ultrium-5 (?) tape drives need to be fed more than 100MBytes/sec to stream properly.
 
Trying to pass a tape-changer through to a RHEL6 VM isn't working, not sure why.

1) I had to write custom udev rules to ensure I was always passing through the correct SCSI devices, enumeration doesn't seem to be entirely stable or deterministic on my system.
2) I had to forcibly disable the st and ch modules on the host, otherwise udev kept trying to kill the "modprobe" command because it was taking too long (a full Dell PV-124T autoloader takes ~5 minutes to respond to SCSI SUB-UNIT STATUS because it moves each tape past the barcode scanner).
3) I had to modify QemuServer.pm to allow for Type==8 devices (there's a patch floating around on a mailing list that Google found for me)
4) I also had to set cache=writethrough manually in the config file

KVM finally agreed to start once all those things had been done, but the guest VM doesn't see the passed-through devices at all.
I'm continuing to work on it, but does anyone know how to make this ^%$#@! work???


Notes:
-PCIe passthrough doesn't work because the host is just slightly too old to have a working IOMMU (Opteron 2300 series)
-iSCSI doesn't work because of (I think) the SCST module problem, and also because it's just not fast enough: I have 1Gbps network infrastructure, and Ultrium-5 (?) tape drives need to be fed more than 100MBytes/sec to stream properly.
Hi,
I had the same problem some month ago...

Finaly I connected the jukebox with the tape drive to the pve-node and install there the bareos-sd (storage daemon). The backup-vm run the database/director and so on and the clients connect (for tape writing) with the pve-node.
Work well and stable.

Udo
 
Doesn't work so well when you use Amanda, unfortunately... no tape agent per se exists. I could run Amanda directly on the node, but then I may as well just reinstall a non-PVE OS and dedicate the hardware to Amanda. Which it looks like I'll have to do :-(.