Tech Line

iSCSI on the Cheap

Want to learn how to work with iSCSI storage devices? Here's how to build a lab with almost no budget.

Chris: I've been looking to build and test iSCSI storage, and would like to configure an iSCSI cluster, but have a very limited budget. Do you have any suggestions?
— Harley

Harley: Internet SCSI (iSCSI) is a storage networking protocol that has definitely gained momentum in recent years. However, most companies that have any iSCSI equipment use it exclusively in production. This leaves little opportunity for cross-training or self-study. My first choice when faced with a budget shortfall is scratch-off lottery tickets. When that tactic inevitably fails, it's time to get creative.

With simple iSCSI testing, I have had a lot of success with the products from Rocket Division Software. At the company Web site, you can download a 15-day shareware version of their StarWind iSCSI target software that allows a server to share disks via iSCSI. The clients would need to run iSCSI initiator software to connect to the iSCSI target. Rocket Division also offers a shareware version of their StarPort iSCSI initiator, but I've also had luck with Microsoft's free iSCSI Initiator 2.0.

Tech Help—Just An
E-Mail Away

Got a Windows, Exchange or virtualization question or need troubleshooting help? Or maybe you want a better explanation than provided in the manuals? Describe your dilemma in an e-mail to the MCPmag.com editors at mailto:[email protected]; the best questions get answered in this column and garner the questioner with a nifty MCPmag.com baseball-style cap.

When you send your questions, please include your full first and last name, location, certifications (if any) with your message. (If you prefer to remain anonymous, specify this in your message, but submit the requested information for verification purposes.)

Just to summarize some of the basic principles of iSCSI, iSCSI is a protocol that allows systems to pass SCSI commands over IP. An iSCSI target is a device that hosts storage devices on an iSCSI storage network. Systems that need to access shared storage resources on the iSCSI target need to run iSCSI Initiator software.

While theoretically you could pass iSCSI commands over a shared LAN, iSCSI is most efficient on a dedicated network segment that offers at least 1Gbps of bandwidth. If you're trying some simple testing, a 100Mbps LAN will be adequate. For iSCSI test configurations, I prefer to install two NICs in each server. This way one NIC can be dedicated for data transmissions over the iSCSI storage network.

If you plan to test clustering, any disks that you share on the iSCSI target system should be SCSI disks. I've found that while the iSCSI target and clients may successfully share the disks, during the first cluster failover you'll get disk errors. If you don't have any SCSI disks available, an alternative is to set up a Microsoft Virtual Server or a VMware virtual machine with virtual SCSI disks.

As a basic cluster setup, you could configure one system as the iSCSI target that hosts the shared disks. Then set up two systems to act as the cluster nodes. Since the Microsoft Cluster Service requires Active Directory, you could also set up the iSCSI target system as a domain controller.

After installing the StarWind software on the iSCSI target, open up the "StarWind GUI Help" file in the installation directory. In the "How To" section of the help file, follow the procedures in the following sections to bring the iSCSI target online: "Connect to a Server," "Add Connection," "Share SPTI Device," and "Create Access Permissions." This will provide guidance on how to bring the target software online and then to configure shared disks.

By default, StarWind only allows one iSCSI client to access a shared disk at a time. For clustering, you'll need to configure disk sharing, which is done by editing the starwind.conf file in the StarWind installation folder. To edit the file, first stop the StarWind iSCSI Service. Then open the starwind.conf file in Notepad. Each shared disk will have a line similar to "\\.\PhysicalDrive1" "Cluster1". In my example, Cluster1 was the label assigned to the shared disk once it was configured. To enable sharing, add the following to each shared disk definition:

-share:"rw" -sessions:2

So my PhysicalDrive1 reference in the starwind.conf file would look like:

"\\.\PhysicalDrive1" "Cluster1" -share:"rw" -sessions:2

Once you have the target setup, you then need to install the iSCSI initiator software, such as StarPort on each cluster node. The "How to" section of the StarPort online help provides some pretty simple guidance for configuring the iSCSI initiator. Once each cluster node can see the shared iSCSI disks, you're ready to install and configure the cluster service.

While this software-based iSCSI solution may not make you an all-out storage networking guru, it will at the very least allow you to get your feet wet with iSCSI. Also, for setting up inexpensive cluster testing and training labs, this iSCSI software will let you do so without having to purchase additional hardware. If you have a Linux box handy, you may also want to check out the iSCSI Enterprise Target Project on Sourceforge.net.

I hope this helps. If you run into any snags while setting up the iSCSI software, feel free to shoot me an e-mail.

About the Author

Chris Wolf is a Microsoft MVP for Windows --Virtual Machine and is a MCSE, MCT, and CCNA. He's a Senior Analyst for Burton Group who specializes in the areas of virtualization solutions, high availability, storage and enterprise management. Chris is the author of Virtualization: From the Desktop to the Enterprise (Apress), Troubleshooting Microsoft Technologies (Addison Wesley), and a contributor to the Windows Server 2003 Deployment Kit (Microsoft Press).learningstore-20/">Troubleshooting Microsoft Technologies (Addison Wesley) and a contributor to the Windows Server 2003 Deployment Kit (Microsoft Press).

comments powered by Disqus
Most   Popular