1

we are using Windows Server 2012 R2 to provide some iSCSI targets for other servers. The server has a storage pool, and there is a virtual disk on top of that, and then an iSCSI target is created on this virtual disk.

However, after server restart, the target is always lost and the initiator cannot connect to this target. If I then restart the Microsoft iSCSI Software Target service (i.e. "WinTarget"), the target is initialized properly and works fine.

Since I believe this is a dependency issue, I tried setting the service startup to "Automatic (Delayed Start)", but it fails with an error ("The delayed start could not be set, parameter is incorrect").

Is this a known issue? I.e. if yes, how do I delay startup of this service?

3

Yes, this is a known issue. Unfortunately native Microsoft iSCSI Target is not something that can be put in production. It is slow, unstable, has limited performance and no caching etc. There are multiple free tools that a capable to provide you with a fast and reliable iSCSI target. We are using Starwind https://www.starwindsoftware.com/starwind-virtual-san-free for this purposes that provides iSCSI targets for ESX and Windows servers. Will solve your issues for sure.

  • 2
    Thanks, StarWind Virtual SAN Free looks interesting, especially if it's really free for commercial use. I am not sure about speed/stability of MS iSCSI, we are using this server for SQL backups over 1Gbps Ethernet and haven't really had anything else to compare it to. Are there some sources/links available regarding its speed/stability issues? – Groo Oct 13 '16 at 10:50
  • 2
    Actually I do not have those, but I have tried Microsoft iSCSI Target previously to switching to Starwind and encountered a lot of troubles, especially with ESX hosts. I have also performed some benchmarking of both solutions and realized that MSFT is much slower. – Net Runner Oct 13 '16 at 11:13
  • 2
    Ok, found a couple of them myself: StarWind iSCSI vs. Microsoft iSCSI by Jacob Rutski shows a 10x difference. The article also mentions that MS iSCSI does not utilize any RAM read/write caching, meaning improved reliability at the expense of performance (adding more RAM to the box will aid nothing). – Groo Oct 13 '16 at 11:39
  • 1
    Yeah, that is what I meant. Moreover, you can use Starwind without RAM caching at all or write-through caching (so only READ operations are cached) and it will still perform better. – Net Runner Oct 13 '16 at 11:56
0

Delayed Startup workaround (will work for any service/app):

Using the idea from this thread, credit to James Roper, I set the service startup type to Manual (this option works, unlike Delayed Start) and added a startup script (with a delay) to start the service, effectively getting a "delayed startup":

  1. Set the Microsoft iSCSI Software Target Service startup type to Manual
  2. Create a file named StartISCSI.CMD somewhere, containing the following commands (WinTarget is the name of the iSCSI Target Service):

    timeout 60
    net start WinTarget
    
  3. Create a scheduled task to run StartISCSI.CMD on startup (configured to start even if nobody is logged in).

This is not exactly an answer to my question, but at least it's a workaround so it might be helpful to others until someone gives a better idea of why this isn't working properly.

  • That's not going to help 100%... – BaronSamedi1958 Oct 14 '16 at 21:25
  • @BaronSamedi1958: yeah, not the best solution, but it solved (or masked) my problem for now. I am still hoping someone would clarify why it doesn't work if the service starts early. – Groo Oct 15 '16 at 17:14

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.