A blog by Jose Barreto, a member of the File Server team at Microsoft.
All messages posted to this blog are provided "AS IS" with no warranties, and confer no rights.
Information on unreleased products are subject to change without notice.
Dates related to unreleased products are estimates and are subject to change without notice.
The content of this site are personal opinions and might not represent the Microsoft Corporation view.
The information contained in this blog represents my view on the issues discussed as of the date of publication.
You should not consider older, out-of-date posts to reflect my current thoughts and opinions.
© Copyright 2004-2012 by Jose Barreto. All rights reserved.
Follow @josebarreto on Twitter for updates on new blog posts.
For the last few years, I’ve been blogging about the Microsoft iSCSI Software Target and its many uses related to Windows Server Failover Clustering, Hyper-V and other server scenarios. Today, Microsoft has made this software publicly available to all users of Windows Server 2008 R2.
The Microsoft iSCSI Software Target has been available for production use as part of Windows Storage Server since early 2007. It has also been available for development and test use by MSDN and TechNet subscribers starting in May 2009. However, until now, there was no way to use the Microsoft iSCSI Software Target in production on a regular server running Windows Server 2008 R2. This new download offers exactly that.
Now available as a public download, the software is essentially the same software that ships with Windows Storage Server 2008 R2. Windows Storage Server 2008 R2 and the public download package will be refreshed (kept in sync) with any software fixes and updates. Those updates are described at http://technet.microsoft.com/en-us/library/gg232597.aspx.
This release was preceded by intense testing by the Microsoft iSCSI Target team, especially in scenarios where the iSCSI Target is used with Hyper-V and with Windows Server Failover Clusters. We do imagine these to be amongst the most commons deployment scenarios.
Testing included running the Microsoft iSCSI Software Target in a two-node Failover Cluster and configuring 92 individual Hyper-V VMs, each running a data intensive application and storing data on a single node of that iSCSI Target cluster. The exciting part of the test was to force an unplanned failure of the iSCSI Target node being used by all the VMs and verify that we had a successful failover to the other node with all 92 VMs continuing to run the application without any interruption.
How to download and install
To download the Microsoft iSCSI Software Target 3.3 for Windows Server 2008 R2, go to http://www.microsoft.com/downloads/en/details.aspx?FamilyID=45105d7f-8c6c-4666-a305-c8189062a0d0 and download a single file called “iSCSITargetDLC.EXE”. (Note: This was just released at 10AM PST on 04/04/2011, so the download might still be replicating to your closest download server. If the link does not work, try again later). This is a self-extracting archive that will show this screen when run:
Select a destination folder and click “Install”. Once it finishes, you will find a few files available to you in that folder:
If you click on the index.htm file on the main folder, you will see the welcome page with a few links to the items included:
To install the iSCSI Target on a computer running Windows Server 2008 R2, simply run the “iscsitarget_public.msi” MSI file from a command line or right-click it on Windows Explorer and choose “Install”.
Frequently Asked Questions (FAQ)
Q: Can I install the Microsoft iSCSI Software Target 3.3 on Windows Server 2008 or Windows Server 2003? A: No. The Microsoft iSCSI Software Target 3.3 can only be installed on Windows Server 2008 R2.
Q: Can I install the Microsoft iSCSI Software Target on Windows Server 2008 R2 with Service Pack 1 (SP1)? A: Yes. In fact, that’s what is recommended.
Q: Can I install the Microsoft iSCSI Software Target on a Core install of Windows Server 2008 R2? A: No. The Microsoft iSCSI Software Target 3.3 is only supported in a Full install.
Q: I don’t have a copy of Windows Server 2008 R2. Where can I get an evaluation copy? A: You download an evaluation version of Windows Server 2008 R2 with Service Pack 1 from http://technet.microsoft.com/en-us/evalcenter/dd459137.aspx
Q: Where is the x86 (32-bit) version of the Microsoft iSCSI Software Target 3.3? A: The Microsoft iSCSI Software Target 3.3, is provided in only in an x64 (64-bit) version, as is Windows Server 2008 R2,
Q: What are these “iSCSITargetClient” MSI files included in the download? A: Those are the optional VSS and VDS providers for the Microsoft iSCSI Software Target 3.3. You should install them in the same computer that runs the iSCSI Initiator if you intend to use VSS or VDS. For details on VSS, see http://blogs.technet.com/b/josebda/archive/2007/10/10/the-basics-of-the-volume-shadow-copy-service-vss.aspx. For details on VDS, see http://blogs.technet.com/b/josebda/archive/2007/10/25/the-basics-of-the-virtual-disk-services-vds.aspx.
Q: Where is the Windows Storage Server 2008 R2 documentation? A: There is some documentation inside the package. Additional documentation is available on the web at http://technet.microsoft.com/en-us/library/gg232606.aspx
Q: Can I use the Microsoft iSCSI Software Target 3.3 as shared storage for a Windows Server Failover Cluster? A: Yes. That is one of its most common uses.
Q: Can I install the Microsoft iSCSI Software Target 3.3 in a Hyper-V virtual machine? A: Yes. We do it all the time.
Q: Can I use the downloaded Microsoft iSCSI Software Target 3.3 in my production environment? A: Yes. Make sure to perform the proper evaluation and testing before deploying any software in a production environment. But you knew that already…
Q: What are the support policies for the Microsoft iSCSI Software Target 3.3 on Windows Server 2008 R2?A: The support policies are listed at http://technet.microsoft.com/en-us/library/gg983493.aspx
I would recommend that you download and read my previous blog posts about the Microsoft iSCSI Software Target. Here are some of the most popular ones.
Please keep in mind that some of these posts mention previous versions of the Microsoft iSCSI Software Target that ran on different Windows Server versions. The overall guidance, however, still applies.
I hope you are as excited as we are about this release. Download it and experiment with it. And don’t forget to post a comment about your experience or send us your feedback.
Nice article.Thanks for sharing.
Thanks, its was a fantastic decision to make it freely available!
I found a bug. If I have volume mount points anywhere on the system I cannot create nor import VHD-s as new devices for targets. I get "the virtual disk cannot be created on the selected volume. One or more arguments are not correct." at the end of wizard. The disk I'm trying to create the VHD on does not even have volume mount point, but other volumes have. If I delete every volume mount points in the system the wizard works fine. VHD-s created and gave to iSCSI target before works fine after I recreate the volume mount points.
@Peel. I talked to the iSCSI Target PM and she was unable to reproduce your issue. She tried creating a VHD on a volume mounted using a mount point and it succeeded. Let us know if you can provide more details about your specific scenario. You can use the "E-mail blog author" option on this page to send those details.
Are one of those IT Pros whom need a SAN but don’t have the budget to pay for one? You like to deploy
Great news, thank you for posting!
Questions tho, I don't get the point of making the iSCSI target a cluster. When you do that, you're only making the "target" HA correct? The shared storage that the iSCSI target cluster relies on is still a single point of failure. Which would mean you would need a HA solution for the underlying shared storage also right?
So this is not a normal topic for this blog. I will be back soon with some more content but things are
@Berserker: If you truly want to have an HA solution, you need to make both your iSCSI Target and your Application Server highly available. Imagine you're building an infrastructure to support 16 Hyper-V servers that you want to make highly available.
You could, for instance, create a two-node iSCSI Target cluster with SAS HBAs using a dual-controller SAS array as shared storage (four SAS connections, two for each, directly connected) and also create a 16-node Hyper-V cluster using the iSCSI Target cluster as shared storage (32 Ethernet connections, two for each plus a 36-port Ethernet switch).
You could also build a solution where you wire every one of the 16 Hyper-V nodes to an array, but that would require 32 fibre channel HBAs, a 36-port fibre channel switch and a dual-controller FC array.
Does that make sense?
One common refrain we hear from you is that you appreciate the fact we’re driving down the costs of virtualization
Yes, that does makes sense. But the iSCSI Target cluster still seems like an additional layer that is unnecessary if you HA your underlying storage in the first place.
So using your example, for 16 Hyper-V nodes, 2 iSCSI Target nodes, and a SAS array, you're looking at Hyper-V <-> iSCSI network <-> iSCSI Targets on two servers <-> SAS connections <-> SAS array. Even if the SAS array is dual-controller, you still have just one set of spindles holding your data.
Wouldn't it be more efficient to get a iSCSI storage hardware solution that offers a iSCSI target and HA out of the box? That way you just have Hyper-V <-> iSCSI network <-> iSCSI target/storage. Because your underlying storage solution has HA, you have your data on two sets of spindles.
One more thought, going back to your example with the SAS array. Couldn't you just have your Hyper-V nodes connect directly to the SAS array? I believe Hyper-V FC supports SAS and you could use a SAS switch. This would avoid having to use iSCSI altogether no?
Again, appreciate the post/news. I use the MS iSCSI target everyday in production. Just trying to wrap my head around this iSCSI target clustering feature.
StarWind is still better since it's so much easier to use, comes with support (important thing for production) and it works both with Hyper-V and VMware.
@Berserker: All your points are interesting. Let me comment on them.
Here's how you protect agains failure at each level:Hyper-V servers --> Windows server failover cluster will failover VMs if a server failsiSCSI network between Hyper-V servers and iSCSI Targets --> Multiple network paths combined with MPIO running on Hyper-V serversiSCSI target servers --> Windows server failover cluster will failover the targets if a server failsSAS network between iSCSI Targets and SAS array --> Multiple SAS paths combined with MPIO running on the iSCSI targetsSAS array controllers --> SAS array with dual controllers and failover capability.Individual spindle failure --> SAS array provides RAID capability to tolerate spindle failure
Around an iSCSI storage hardware solutions that offers iSCSI target and HA out of the box:This is exactly what some of the Windows Storage Server OEMs offer. This includes a two-node cluster plus the storage that comes pre-configured.The end user only needs to run a small wizard to configure the solution (IP address configuration, join domain, etc).
Around connecting the 16 Hyper-V nodes directly to the SAS array:This is possible using a 36 port SAS switch (assuming you can find one of those) or multiple, smaller SAS switches, but you're stretching the capabilities of the SAS infrastructure.Wiring four cables to the back of the SAS array is simple. Connecting 36 SAS cables to the SAS array not so much.For that kind of solution, as I suggested, most people would lean towards fibre channel, which is more scalable but also more expensive.When you use Ethernet, TCP/IP and iSCSI for the 16 nodes, you rely on more familiar and less expensive technologies.
Thanks for all the comments, I guess we're really just talking about doing the same thing in multiple ways.
I think I would rather opt for a dual controller, iSCSI storage device <something like the Dell MD32xx or an HP MSA> instead of a pair of servers running the iSCSI target FC then connected to a dual controller non-iSCSI storage array. Just reduces another layer of complexity and failure.
However, if an org already has invested in a non-iSCSI storage array and wants to use iSCSI, then the iSCSI target FC might be for them.
"Around an iSCSI storage hardware solutions that offers iSCSI target and HA out of the box:
This is exactly what some of the Windows Storage Server OEMs offer. This includes a two-node cluster plus the storage that comes pre-configured."
If you could give me some links to these products, I would really appreciate it. I have researched long and hard to find a product that will provide HA for a WSS appliance but it has proven very difficult. You either have to go 3rd party with something like DoubleTake Availability or have a full hardware HA solution out of the box like an HP MSA w/Remote Snap or HP P4xxx SAN <formerly Lefthand>. The latter products will give you two <or more> storage devices that replicate so even with a dual controller, single backplane device, you get the additional chassis + spindles in case one of the device's blew up. However, the cost goes up accordingly for that level of availability.
@Berserker: You can try the HP StorageWorks X3000 G2. They come pre-installed with WSS 2008 R2. You need two of them plus a P2000MSA. Check the link below:
http://h18000.www1.hp.com/.../13841_na.html (Look for the sections on pre-configured models)
Thanks for the link. But just to clarify, you still have one set of spindles for the data. You would need P2000 MSA x 2 plus replication software to have a redundant second copy of your data? Don't you need two copies of the data to be truly HA? Although a single chassis has RAID, you're still running with only one copy of the data.
Thank you for your article! I'have just tried this software and i have a problem:
I have a two-node Hyper-v cluster for testing purposes and until now i was using starwind software to create share storage in order to create CSVs for hyper-v. The problem is that now with microsoft iscsi software target 3.3 i want to do the same thing but when i try to create a target in one of the cluster nodes, it can only be posible clustering the service, and for that i need cluster available storage and this is the thing that i'm looking for with scsi target!. So how can i install iscsi software in standalone mode, but in a member of a cluster as i did with starwind?.