Windows iSCSI Server Stalemate
Avoiding iSCSI pitfalls with SATA or IDE drives.
I've been trying to deploy a low-cost iSCSI server on our LAN but haven't had much luck. I'm trying to use the iSCSI server to test VMware ESX and Microsoft Cluster Service configurations. I tried Nimbus MySAN and OpenFiler, but neither seemed to work right with my iSCSI server's SATA drives. I can connect one iSCSI client to a shared iSCSI volume, but cannot connect a second system to the same iSCSI mount point at the same time. Any ideas?
Good question, Edgar. Your problem stems from how small computer systems interface (SCSI) reservations are handled by your system's underlying storage controller. SCSI reservations (or SCSI reserve/release) are used by both Microsoft clustering and VMware ESX servers to coordinate access to shared SCSI, Internet SCSI (iSCSI) or fibre channel disks. While SCSI reservations are not a problem with SCSI-3 compatible controllers and connected SCSI or fibre channel drives, errors may be encountered with parallel advanced technology attachment (PATA) and serial advanced technology attachment (SATA) controllers.
One way that some administrators get around this issue is by using a virtual machine configured with emulated SCSI drives. VMs with emulated SCSI drives should be able to run any iSCSI target application and handle SCSI reservations without any problems. I uploaded a pre-configured iSCSI Enterprise Target VM to vmappliances.org here, which can be used as an iSCSI target in test networks.
On the other hand, if you're looking for better performance and wish to run a dedicated iSCSI target that can make use of all PATA and SATA disk drives, you should take a look at RocketDivision's StarWind iSCSI server. In StarWind 3.2.2, a DiskBridge plug-in was added that allows any hard disk to be presented to iSCSI initiator clients as a SCSI-3 compatible iSCSI target volume. With the DiskBridge plug-in, any Windows system and storage can be used as an iSCSI target server. Also, DiskBridge isn't an all-or-nothing solution. You can continue to use SCSI devices and SATA devices that support SCSI reservations in StarWind as SCSI Pass-Through Interfaces (SPTIs). StarWind is hard to beat as a low-cost, Windows-based iSCSI target, and its new DiskBridge plug-in offers flexibility that's not found in most iSCSI target platforms.
It's easy to assume that with iSCSI, the disk formats for an iSCSI target's underlying storage should be transparent. However, that's not always the case.
When you're having problems connecting a Microsoft cluster or VMware ESX Server to shared iSCSI PATA or SATA disks, first check to make sure that the iSCSI target server's SATA/PATA controller has the most up-to-date firmware and driver. After that, you should check with the storage controller's manufacturer to confirm whether or not the controller supports SCSI reservations. If not, and if purchasing newer controllers and SCSI storage is not an option, consider using the StarWind iSCSI target or an iSCSI target VM.
In lab environments where performance or storage management is not a concern, consider using a VM-based iSCSI target with emulated SCSI storage or a product such as StarWind. When performance, management, and scalability are concerns, StarWind should be seriously considered over a VM-based open source iSCSI target.
I hope that helps. I know from experience how difficult it can be to isolate an iSCSI problem down to a physical storage controller.
About the Author
Chris Wolf is VMware's CTO, Global Field and Industry.