280 DS6000 Series: Concepts and Architecture
14.2 Subsystem Device Driver
To ensure maximum availability most customers choose to connect their open systems hosts
through more than one Fibre Channel path to their storage systems. With an intelligent SAN
layout this protects you from failures of FC HBAs, SAN components, and host ports in the
storage subsystem.
Most operating systems, however, can’t deal natively with multiple paths to a single disk - they
see the same disk multiple times. This puts the data integrity at risk, because multiple write
requests can be issued to the same data and nothing takes care of the correct order of writes.
To utilize the redundancy and increased I/O bandwidth you get with multiple paths, you need
an additional layer in the operating system’s disk subsystem to recombine the multiple disks
seen by the HBAs into one logical disk. This layer manages path failover, should a path
become unusable, and balancing of I/O requests across the available paths.
For most operating systems that are supported for DS6000 attachment, IBM makes the IBM
Subsystem Device Driver (SDD) available to provide the following functionality:
Enhanced data availability through automatic path failover and failback
Increased performance through dynamic I/O load-balancing across multiple paths
Ability for concurrent download of licensed internal code
User configurable path-selection policies for the host system
In the DS6000, host ports have a fixed assignment to a server (or controller card). Therefore
there is a slight performance penalty if data from a logical volume managed by one server is
accessed from a port that is located on the other server. The request for the logical volume
and the data would have to be transferred across the bridge interface that connects both
servers. These transfers add some latency to the response time. Furthermore, this interface
is also used to mirror the persistent memory and for other inter-server communication. It
could become a bottleneck if too many normal I/O requests ran across it, although it is a high
bandwidth, low latency, PCI-X connection.
Therefore it is advisable to access a volume primarily through the four host ports that are
located on the server it is associated with. DS6000 supports a range of SCSI-3 commands
that allow you to identify the optimum and backup paths to each logical volume. In SCSI
standard terms this is called
Asymmetrical Logical Unit Access.
SDD uses these commands to discover the preferred paths to a volume. It will exclusively use
these, as long as at least one of them is available. Only if none of the preferred paths can be
used will it switch to the alternate paths. Automatic failback to the preferred path is performed
as soon as at least one becomes available after a failure.
Of course, SDD performs dynamic load balancing across all available preferred paths to
ensure full utilization of the SAN and HBA resources.
SDD can be downloaded from:
http://www.ibm.com/servers/storage/support/software/sdd/downloading.html
Important: Although this implementation may look similar to that of the DS4000 (formerly
known as the FAStT) series, it is fundamentally different. You can access any volume
through any path at any time without the volume being reassigned to the alternate server.
As long as a server is available, it will keep its volumes, to avoid switchover times, which
would have far more impact on performance.