iSCSI Developement with LTFS

My first post here apologies if this is violating any rules…On a very high level what would be a recommended way to architect a Virtual Tape Library Solution using LTFS FS with target exposed over iSCSI in Windows in preferably User Mode.

Your question is vague so I can’t tell which parts you need to architect and which parts you have.

Do you already have an iSCSI tape target presented to Windows and now you need to expose the file system? Or do you not even have the iSCSI target part yet?

Thank you Scott for your response. This is currently on the drawing board. The whole thing can be as you said divided into two major pieces and none of them are ready. I am trying to understand with the current frameworks available what would be a recommended approach.

  1. iSCSI Target Development - Is Socket Server the way to go? Or there are better approaches. Are there any Generic implementation or guidance that exist for iSCSI Target Development in Windows?

  2. Exposing a particular FS over iSCSI Target - LTFS is open sourced for Linux and they have lot of similarity with the Windows Implementation. this briefly talks about it.

iSCSI Target Development - Is Socket Server the way to go? Or there are better approaches. Are there any Generic implementation or guidance that exist for iSCSI Target Development in Windows?

AFAIK a user mode socket server is the way to go. There is an MS iSCSI Target service you can add to Server, though I’m not sure that it would surface tape devices. Further questions about iSCSI target development are better asked on NTDEV as it’s not a file system problem.

Exposing a particular FS over iSCSI Target - LTFS is open sourced for Linux and they have lot of similarity with the Windows Implementation. this briefly talks about it.

It depends on how you expect the user to interact with the device. If they are only going to use Explorer then you can get away with a shell namespace extension:

https://docs.microsoft.com/en-us/windows/desktop/shell/creating-shell-data-source-objects-and-extending-the-shell-namespace-bumper

If instead you want to give the user a drive letter and have them generically interact with it then you need to port LTFS. We actually did this several years ago for a client and managed to get the existing LTFS code ported to user mode on Windows

Hi,

LTFS open source from IBM is FUSE (File system in User space) based source code for Linux and Mac. You would need something like Fuse for Windows to get it working on Windows.

For iSCSI protocol work you can check this libiscsi. But the windows iscsi target is for disk emulation only, you would need tape emulation. I have done VTL and iSCSI work, you may contact me for any help.
Regards
Sam

HP actually has a 32-but open source LTFS implementation for Windows.

Google is your friend…

Peter