Since its arrival six years ago, iSCSI has taken the storage world by storm. Proponents usually focus on iSCSI's excellent price performance, but the real secret to its success is the widely known skill set required to implement it: iSCSI uses standard TCP/IP networking to move block-level data around, so network administrators with little storage experience feel right at home.
In fact, iSCSI is so easy to set up, it's also easy to set up incorrectly. Depending upon the situation, this can result in poor performance, poor reliability, or both. Building an iSCSI SAN that can deliver enterprise-grade performance and reliability takes a bit of planning and a thorough knowledge of how your chosen SAN platform works.
The minimalist disaster
Let's say you work for an SMB and have a few Windows servers you want to attach to an iSCSI SAN. The servers are pretty new and have four onboard 1Gbps NICs, but only one of them is plugged into a switch -- a low-end, unmanaged gigabit switch.
At first blush, it seems like you could plug the SAN into the switch, throw an IP address on it, install the Microsoft iSCSI initiator on the server, configure it to connect to the SAN, and be on your way. Actually, you could. You would be able to mount SAN storage from the server and it would probably work passably -- as long as you didn't try to do much with it. Throwing a real production load on the SAN volume, however, would quickly illustrate the inadequacies of this design.