MIR or not to MIR (TCM or "LIO") tools

Rafael David Tinoco rafaeldtinoco at ubuntu.com
Tue Feb 18 02:22:24 UTC 2020


Hello all,

I have always used TGT project, despite its bad performance, as iSCSI
target in Linux, offering iSCSI luns for HA clusters. It was known to me
that TGT was *not* the best iSCSI target supported in Linux, being LIO
the chosen project for that (now called TCM:
https://www.kernel.org/doc/Documentation/target/tcmu-design.txt).

In a recent need, I needed SCSI 3 reservations in those SCSI volumes, to
test and enable fence_scsi agent, and was getting unclear errors when
trying to reserve the LUNs.

The following commands - that would register a reservation key, reserve
a lun, release the reservation and unregister the key - don't work when
using TGT iSCSI luns with open-scsi and iscsid tool/service.

$ sg_persist -r /dev/sda
$ sg_persist --out --register --param-sark=123abc /dev/sda
$ sg_persist --out --reserve --param-rk=123abc --prout-type=5 /dev/sda

prout-type = 5 -> executes SCSI PERSISTENT RESERVE OUT (5Fh) command
                  with the PREEMPT AND ABORT (05h) service

   (https://bugs.launchpad.net/ubuntu/+source/tgt/+bug/1863688)

$ sg_persist --out --release --param-rk=123abc --prout-type=5 /dev/sda
$ sg_persist --out --register --param-rk=123abc /dev/sda

With that, its impossible to fence iSCSI luns using corosync/pacemaker
clusters.

TCM (or LIO) project fully supports fencing and several other iSCSI
features. It also supports userland backends that can extend backing
devices so it supports: qcow2, ceph, etc...

Despite being HA only or not, this use case is actually being used in
this email to show the need to have a tool that configures kernel TCM
(or LIO) capability as a supported tool (at least IMO).

I have found a recent previous MIR attempt of 1/3 of what is needed:

https://bugs.launchpad.net/ubuntu/+source/python-rtslib-fb/+bug/1854362

But, afaict, we would need MIRs for:

- python3-configshell-fb
- python3-rtslib-fb
- targetcli-fb

To have the "targetcli" tool in [main]. Upstream projects are hosted
together with open-iscsi repository, suggesting that they are actively
maintained and in good shape.

Has this ever been discussed ? It looks to me something we could/should
have in 20.04. Thoughts ?

Thanks!

Rafael



More information about the ubuntu-server mailing list