A storage area network (SAN) is defined as a set of interconnected devices (for
example, disks and tapes) and servers that are connected to a common communication
and data transfer infrastructure such as Fibre Channel. The common communication
and data transfer mechanism for a given deployment is commonly known as the storage
fabric. The purpose of the SAN is to allow multiple servers access to a pool of
storage in which any server can potentially access any storage unit. Clearly in
this environment, management plays a large role in providing security guarantees
(who is authorized to access which devices) and sequencing or serialization guarantees
(who can access which devices at what point in time).
SANs
evolved to address the increasingly difficult job of managing storage at a time
when the storage usage is growing explosively. With devices locally attached to
a given server or in the server enclosure itself, performing day-to-day management
tasks becomes extremely complex; backing up the data in the datacenter requires
complex procedures as the data is distributed amongst the nodes and is accessible
only through the server it is attached to. As a given server outgrows its current
storage pool, storage specific to that server has to be acquired and attached,
even if there are other servers with plenty of storage space available. Other
benefits can be gained such as multiple servers can share data (sequentially or
in some cases in parallel), backing up devices can be done by transferring data
directly from device to device without first transferring it to a backup server.
So
why use yet another set of interconnect technologies? A storage area network is
a network like any other (for example a LAN infrastructure). A SAN is used to
connect many different devices and hosts to provide access to any device from
anywhere. Existing storage technologies such as SCSI are tuned to the specific
requirements of connecting mass storage devices to host computers. In particular,
they are low latency, high bandwidth connections with extremely high data integrity
semantics. Network technology, on the other hand, is tuned more to providing application-to-application
connectivity in increasingly complex and large-scale environments. Typical network
infrastructures have high connectivity, can route data across many independent
network segments, potentially over very large distances (consider the internet),
and have many network management and troubleshooting tools.