I want to use an iSCSI targeting framework that supports SCSI-3 and VAAI for use as an iSCSI SAN cluster across 2 servers.

As far as i'm aware I can use either Lio (http://linux-iscsi.org/wiki/Main_Page) or QuadStor (http://www.quadstor.com/). Quadstor isn't as mature as LIO hence my bias towards it.

I have 2 servers built on openSUSE 12.3 (of course this can be changed) for the moment and am having a hell of a problem finding out how to use LIO.

LIO was integrated into the Linux Kernel at v2.6.38 in January 2011 and is now used as the default SCSI framework in Linux. That's all fine, but how the hell do I use it?

According to their docs all I have to do is install targetcli from their repo for openSUSE: http://linux-iscsi.org/wiki/Target

Did that, nada.

What's the best OS or best way to get about using LIO that supports VAAI preferably through kernel integration?

  • @sysadmin1138 - Do you have experience with this (based off your earlier blog post on openSUSE 11.3) – Myles Gray Oct 4 '13 at 18:07
  • 1
    Nope. All of my experience with it was before kernel integration, and I'm no longer working with it day to day. A lot has changed in the years since that blog-post. – sysadmin1138 Oct 4 '13 at 18:08
  • Finally got it working with all the nice VAAI features tested and working great on vSphere 5 - writing a guide on it currently, will post as an answer. – Myles Gray Oct 5 '13 at 22:35

Basically there are 4 commands that need to be implemented in target for VAAI support, namely:

  1. WriteSame
  2. UNMAP
  3. ComareAndWrite(ATS)
  4. EXtendedCOPY(XCOPY)

On the LIO side you need to set emulate_3pc(Xcopy),emulate_tpu(UNMAP) and emulate_caw(ATS), so you will get VAAI supported status for the LIO target on the esxi side.

targetcli> /backstore/fileio/disk1>set attributes emulate_3pc=1,emultate_tpu=1,emulate_caw=1

Refer linux-iscsi.org/wiki/Targetcli for details.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.