Internet SCSI (iSCSI) is an industry standard developed to enable transmission of SCSI block storage commands and data over an existing IP network by using the TCP/IP protocol. The encapsulated SCSI commands and data can be transmitted over a local area network (LAN) or a wide area network (WAN). As with traditional SCSI, an iSCSI storage solution requires at least one “initiator” residing on the application server and at least one “target” residing on the storage.
This report provides background on iSCSI technology and information on the current state of iSCSI storage solutions for the Microsoft Windows environment, focusing on the deployment of the iSCSI target solutions from some Microsoft storage partners. Some of these storage solutions are based on the Microsoft iSCSI software target and run on a Microsoft Windows-based platform. Some of these storage solutions are based on the storage partner’s own technology and run on a non-Microsoft platform. All these storage solutions provide storage for hosts that use the free-of-charge Microsoft iSCSI initiator.
Storage Solutions Deployed
The following iSCSI storage solutions were deployed for this report.
The Dell solution is based on Microsoft Windows Unified Data Storage Server 2003. The HP solution is based on Microsoft Windows Storage Server 2003 R2 and the Microsoft Software iSCSI Target application pack. The EqualLogic, HDS and LeftHand Networks solutions are based on their own respective technology.
These iSCSI target storage solutions provide a variety of advanced storage features including hardware RAID, Multi-path I/O (MPIO), snapshot copy, replication, remote copy and others. Some include integration with Microsoft Volume Shadow Copy (VSS) and provide Microsoft Virtual Disk Service (VDS) providers.
Basic Storage Architectures
The two basic forms of storage for host computers are direct-attached storage (DAS) and networked storage. DAS is storage that is directly attached to a host computer and is generally privately owned by that computer. Networked storage is storage that is connected to a host computer via some sort of network, such as an Ethernet network or Fibre Channel network, and can take several forms, including variations of Storage Area Networks (SAN) and Network Attached Storage (NAS).
There are two basic forms of networked storage: the Storage Area Network (SAN) and Network-Attached Storage (NAS) and they are generally distinguished by their Input/Output (I/O) characteristics. SAN is generally used for applications that require “block” I/O access. NAS is generally used for applications that require “file” I/O access. An application that uses block I/O is any application that reads or writes its data blocks directly to the storage device or subsystem, such as a databases, email servers, or file systems themselves (such as NTFS). SAN storage devices appear to the applications the same way that DAS devices do, allowing applications to use what appear to be local storage devices. An application that uses file I/O is one that makes its read and write requests in the form of files, such as a network client reading and writing files from a file server. NAS devices typically appear as one or more network file shares to the applications and users. NAS devices are actually host servers themselves that internally use a DAS or SAN I/O connection, but share a “file-system” type of view of their storage resources to other hosts on the network.
The primary reasons for using any form of networked storage are to overcome the disadvantages of the DAS storage model. The various implementations of networked storage can allow the storage to be located potentially many miles from the host CPU requiring the storage and can scale to hundreds, thousands or even millions of storage devices. In addition, the networked storage model allows storage to be placed into a “pool” that is not necessarily owned by any one application client or server but can be shared among many applications or servers.
Direct-Attached Storage (DAS)
DAS is probably the most well-known form of computer storage. In a DAS implementation, the host computer has a private and usually exclusive channel between the host CPU and the storage device or devices, so that the host “owns” the storage. In this context, DAS storage has also been called “server-centric” or “silo” storage. Everything from personal computers to mainframe computers have used this implementation. Over the years, various interfaces have been used for this purpose, including IDE/ATA and SCSI. The advantage of DAS is that it is relatively simple to understand and implement. The disadvantages are that there is limitation to the number of devices that can be connected on the same interface, a relatively short distance between the host CPU and the storage device(s) due to cable length restrictions, and when larger storage devices are required the data must often be moved from the smaller device to the larger device, potentially consuming a large amount of time. In addition, many DAS storage architectures require that the host computer be taken offline when adding or removing storage devices. The DAS model doesn’t scale to large or distant environments very well. A server in this model doesn’t directly share its storage resources.
Network-Attached Storage (NAS)
NAS devices share their storage resources with other clients on the network, in the form of file “shares.” The clients read and write files on the NAS server using either SMB/CIFS or NFS file protocols. The NAS device has its own storage and internally uses block I/O to store the data in its own internal format. NAS devices typically can have many file “shares” and can potentially be a great physical distance from the network clients.