What is iSCSI

We can use iSCSI to create a Storage Area Network (SAN). iSCSI is a network protocol that encapsulates storage device communication data into IP packets for transmission over an Ethernet connection. This allows IP-connected hosts to access a Storage Area Network (SAN). Traditional Storage Area Networks are based on Fiber Channel. Fiber Channel SANs are very fast but they’re also expensive. iSCSI will provide us with most of the benefits of a Fiber Channel SAN without all the cost associated with Fiber Channel SAN. Fiber Channel over IP is one alternative but it still requires special hardware and special software to make it work. More popular solution is iSCSI. iSCSI allows us to create a very powerful and fast SAN using off-the-shelf ethernet hardware. Like a Fiber Channel SAN, iSCSI also uses the concept of targets and initiators. A client system (iSCSI initiator) accesses the storage server (iSCSI target) over an IP network.

Like a Fiber Channel SAN we can have our servers attached to storage devices that exist somewhere on a network, instead the device being installed in the server itself. To do this we need an Ethernet switch (IP based network), which we will use to connect our devices. The cool thing about iSCSI is that we can use a RAID array, specifically, iSCSI raid array as our storage device. We can set up a server and install an iSCSI RAID array inside that server, and configure it to be an iSCSI target. This provides us with a very inexpensive, and powerful solution for creating a SAN without having to purchase specialized hardware.

iSCSI Example

We can take use our standard box, install a RAID array inside of it using ETA or SCSI controller, connect it to the Ethernet network using standard Ethernet cabling and in that way create a Storage Area Network.

The great thing about this configuration is that it doesn’t require any special hardware at all all of the iSCSI functions are implemented as software. When the server is connected to a target and needs to save information on the iSCSI device, everything is transferred over this Ethernet network using standard TCP IP packets. The great advantage iSCSI over Fiber Channel is the cost. Using iSCSI we can create a SAN that runs at a reasonable speed at low cost (in comparison with Fiber Channel network).  There are no special cards, no fiber optic cabling, no fiber-optic switches…  Everything is implemented as software. That means we can use our server using a standard Ethernet network to create a reasonably fast storage area network. One disadvantage of course is the fact that it does not run as fast as a Fiber Channel Storage Area Network and we cannot get the distances associated with a Fiber Channel SAN. If all of our equipment is located in the same building, that’s not an issue. If we need greater distances, we need to look at Fiber Channel San using single mode cabling.

There are several cases in which we can implement iSCSI. In the the first case we have a network with shared bandwidth. In this case we will have server (iSCSI target), and we have several workstations which all connect together using standard ethernet switch. In this scenario all of our SAN traffic uses the same bandwidth as normal network traffic. The advantage of this case is that it is cheap since we don’t have to purchase any extra hardware. We only make some configuration changes (initiator software and storage devices in our target). The problem with this scenario comes in when we have a lot of workstations generating a lot of network traffic. Our network can only handle specific amount of traffic. So, in this scenario, while it is cheap and easy to set up, were probably going to run out of bandwidth. This is why it is not recommend.

Better option is to use dedicated ethernet hardware for our SAN. In this case, traditional Ethernet traffic is not shared with SAN. So, in this implementation we have two networks, our traditional Ethernet network and SAN network. The initiator will be used to connect those two networks. SAN network has a different ethernet switch with connected iSCSI RAID servers or storage devices manufactured specifically to work with iSCSI.

SAN Example 2

In this situation all of our standard network traffic (browsing web, sending emails, etc.) is isolated on one network, while all of our SAN traffic is isolated on the other network. The SAN network is only used when, for example, a user needs to save a file to the server. The file will be sent to the initiator, which will then save the file to the iSCSI target. If we have multiple target devices, initiator sees those as directly attached storage, as hard drive inside of the initiator. This means that it doesn’t have to use networking protocols to send and receive data on the SAN network. Instead it uses block level commands using the SCSI protocol to send and receive information over the SAN to the various targets that are connected.

So, the initiator thinks it has an extra SCSI hard drive installed in the system, when in fact, it’s a RAID array inside another server or a RAID array in specialized hardware, connected through a dedicated Ethernet network. This scenario has a lot of advantages, and one is better throughput because we don’t have to share network bandwidth with the workstations. Disadvantage is that it does cost a little more and a little more complicated to put together. This is the recommended way to setup iSCSI.