Skip to content

Make mhVTL usable for scaling tests with containerised environment

Mark Harvey's response to the topic:

The only current deployment to scale multiple nodes would be to configure a single tape 
library & drives (most likely as a stand-alone entity), export these devices via iSCSI (target) 
and then use iSCSI initiator on each container to connect to one (or more) drives 
(and of course one for the library).

SCSI target frameworks like LIO and STGT offer ACL to mask initiator visibility 
and allow you to limit the potential to connect to the ‘wrong’ target.


Under the mhvtl/scripts directory are a couple of ‘helper scripts’ to setup/configure 
devices as iSCSI targets. Nothing sophisticated but should help you get started.
I’ve not used LIO much and did seem to be more problematic - but seeing as it is 
the active SCSI Target framework, these issues are probably now resolved.
There is also SCST - but I have little experience with this and requires a customised 
kernel build to get running.

LIO: lio_target_passthru.sh
STGT: stgt-target-setup.conf

Longer term idea would be to remove the dependency on the mhvtl.ko kernel module 
(a horrible hack that still seems to work) and integrate into LIO via ’tcmu-runner’ 
which is a user-space subsystem for LIO.

I’m currently working on adding multiple partition support (moving the back-end 
storage format into rocksdb) - not quite there yet, so it will be interesting to see 
what performance impact rocksdb will add.
Edited by Jaroslav Guenther