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