How to enable W2K8 Storage Server iSCSI Target on any version – Windows MSI Hacking for the Win!

A while back, I was engineering different Windows 2008 cluster scenarios for a project. As usual, I took most of this work home to the Uberlab for further testing. Unfortunately, I ran into a snag. I didn’t have any iSCSI devices that could pass the Windows Cluster Validation Test. In short, whenever you build a cluster, MS attempts to validate that all of the pieces are in working order before they bless the implementation…

Here in lies the problem. As of this writing, there aren’t any free (without limitations) iSCSI solutions that pass the Windows Validation tests. In order to pass validation, iSCSI targets must support SCSI-3 Persistent Reservations (SCSI-3 PR). Any attempt to install the iSCSI package on a version other than Storage Server fails.

Since I didn’t have the production Clariions in my home lab, I turned to Google for an answer. Of course Windows 2008 Storage Server supports persistent reservations, but all I had was a standard version of 2008 R2. I stumbled on the following blog post found (here) that leveraged the Windows Automated Installtion Kit (WIAK – free from MS) to modify the iSCSI MSI package . The guide has you remove the IsSupportedSKU condition from the package, which skips the version check. Once the package is modified and recompiled, the package installs successfully.

This updated package allowed me to successfully test different Window’s cluster scenarios. The most interesting piece of this setup was the fact that the Windows 2008 server was a virtual machine backed by storage on an Openfiler SAN which doesn’t support SCSI-3PR; another Win for hardware abstraction.

Update: I was able to install the UNMODIFIED package on a Windows 7 workstation and a 2008 R2 virtual machine successfully. This may indicate that the package version restriction has been removed, but just incase, keep this post in mind.

Thanks!

Ubergiek

Comments 9

  1. Did you succeed to install the iscsi target on Win7?

    I tried it, (following the instructions), setup works fine, iScsi service is running, device and volume are added.

    But the initiator cannot find any device….

    Any suggestion?

    1. Post
      Author

      Yes, it was successful on Windows 7. What initiator are you using (ESXi/Win Server)? I think I remember troubleshooting a connectivity issue while trying to set it up initially, and after a while I realized it was the Windows Integrated firewall that was blocking the traffic. Can you try and disable it temporarily? If that works, you can allow exceptions for the individual ports required for the iSCSI service.

      Thanks!
      Ubergiek

      1. Sorry for delay and thank you for answering!!!

        On the pc there is neither firewall, nor antivirus installed. It is a Win 7 Sp1 fresh installation. I tried also disabling UAC.

        The setup for MS iScsi Target installs correctly and creates the virtual disk device.

        But then the Initiator (I tried Win 7 iScsi initiator and Starwind initiator) cannot find any device available.

        I will try on another win 7 installation to check it…

        If you have other tipps, welcome

        Thanks

        Max

        1. Post
          Author

          That is definitely strange. And just to confirm, a client firewall isn’t on either the source or the destination correct? Did you follow this process to create the target? http://technet.microsoft.com/en-us/library/cc772367.aspx

          The process should be similar for Win 7.

          If you think you have tried everything, it wouldn’t hurt to run a packet capture to see if the source traffic is reaching the iSCSI target. That would rule out network configuration as an issue.

          Wireshark is a great free packet capture utility if you need a recommendation. Don’t be intimidated by the amount of bells and whistles, it shouldn’t take much to get it going:
          http://www.wireshark.org/download.html

          1. Sorry, I opened unintentionally another post instead of replying to you…
            🙁
            I tried again on another win7 Pro installation, but it still doesn’t work…

          2. Post
            Author

            No worries. Sorry to hear that you are still having trouble. Are you seeing any failures in the Application event log. Did you happen to run a capture on the traffic as the initiator attempted to log in? I would be happy to take a look at it. What initiator is attempting to log in (Win/ESX/Other)?

          3. I tried again on a fresh installation, 2 machines both win7 sp1, using windows initiator.

            On both machines, there are no errors in the eventviewer logs.

            I have captured the packets through Wireshark, filtering ISCSI protocol. It seems to login correctly.

            But there is still “no target available”.

            If you want I can send to you the logs captured with wireshark per email.

  2. Hi!

    Source and destination are on the same Windows 7 PC (without firewall).

    However on this pc, i cannot find any Storage Manager for SANs…can be installed also on Win7?
    I googled a little but it seems to be only a Windows Server component.

    Perhaps I am missing something…

    However, I followed these steps to install the target on Win7:

    – downloaded the package here http://www.microsoft.com/en-us/download/details.aspx?id=19867

    – estracted the package and, as you describe, on the iscsitarget_public.msi (in x64 folder) removed IsSupportedSKU through Orca

    – installed iscsitarget_public.msi.
    I checked also that “Microsoft iScsi Software Target” service is running and the Wintarget.exe is listening on port 3260

    – followed these steps to create target and disk-device http://www.servethehome.com/creating-iscsi-target-vhd-windows-server-2008-r2/

    Then I tried to connect with the initiator. But it doesn’t show any target available.
    To connect, I followed these steps http://forum.netfusionkc.com/showthread.php?t=72

    As you suggest, I will try also with wireshark…

    Thank you!

  3. Microsoft MPIO Multipathing Support for iSCSI — MPIO is a way that you can increase the overall throughput and reliability of your iSCSI storage environment.

Leave a Reply to Ubergiek Cancel reply

Your email address will not be published. Required fields are marked *

*