IBM SAN Volume Controller
The IBM SAN Volume Controller is a block storage virtualization appliance that belongs to the IBM System Storage product family. SVC implements an indirection, or "virtualization", layer in a Fibre Channel storage area network.
Architecture
The IBM 2145 SAN Volume Controller is an inline virtualization or "gateway" device. It logically sits between hosts and storage arrays, presenting itself to hosts as the storage provider and presenting itself to storage arrays as one big host. SVC is physically attached to one or several SAN fabrics.The virtualization approach allows for non-disruptive replacements of any part in the storage infrastructure, including the SVC devices themselves. It also aims at simplifying compatibility requirements in strongly heterogeneous server and storage landscapes. All advanced functions are therefore implemented in the virtualization layer, which allows switching storage array vendors without impact. Finally, spreading an SVC installation across two or more sites enables basic disaster protection paired with continuous availability.
SVC nodes are always clustered, with a minimum of 2 and a maximum of 8 nodes, and linear scalability. Nodes are rack-mounted appliances derived from IBM System x servers, protected by redundant power supplies and integrated batteries. Earlier models featured external battery-backed power supplies. Each node has Fibre Channel ports simultaneously used for incoming, outgoing, and intracluster data traffic. Hosts may also be attached via FCoE and iSCSI Gbit Ethernet ports. Intracluster communication includes maintaining read/write cache integrity, sharing status information, and forwarding reads and writes to any port. These ports must be zoned together.
Write cache is protected by mirroring within a pair of SVC nodes, called I/O group. Virtualized resources are distributed across I/O groups to improve performance. Volumes can also be moved nondisruptively between I/O groups, e.g., when new node pairs are added or older technology is removed. Node pairs are always active, meaning both members accept simultaneous writes for each volume. In addition, all other cluster nodes accept and forward read and write requests which are internally handled by the appropriate I/O group. Path or board failures are compensated by non-disruptive failover within each I/O group, or optionally across dispersed I/O groups. Hosts must have multipath drivers installed, such as IBM Subsystem Device Driver or standard MPIO drivers.
SVC is based on COMmodity PArts Storage System architecture, developed at the IBM Almaden Research Center. The majority of the software has been developed at the IBM Hursley Labs in the UK.
Terminology
- Node - a single 1U or 2U machine.
- I/O group - a pair of nodes that duplicate each other's write commands
- Cluster - a group of 1 to 4 I/O groups managed as a single entity.
- * Stretched cluster - a site protection configuration with 1 to 4 I/O groups, each stretched across two sites, plus a witness site
- * Cluster IP address - a single IP address of a cluster that provides administrative interfaces via
- * Service IP address - an IP address used to service an individual node. Each node can have a service IP configured.
- * Configuration node - a single node that holds the cluster's configuration and has the assigned cluster IP address.
- Master Console - a management GUI for SVC until rel 5.1, based on WebSphere Application Server; not installed on any SVC node, but on a separate machine
- * As of SVC rel 6.1, a Master Console is no longer used. Web based administration is done directly on the configuration node, using a HTML5 GUI.
- Virtual Disk - a unit of storage presented to the host. The release 6 GUI refers to a VDisk as a Volume.
- Managed Disk - a unit of storage from a real, external disk array, virtualized by the SVC. An MDisk is the base to create an image mode VDisk.
- Managed Disk Group - a group of one or more Mdisks. The extents of the MDisks in an MDisk Group are the base to create a striped or sequential mode VDisk. The release 6 GUI refers to a Managed Disk Group as a Pool.
- Extent - a discrete unit of storage; an MDisk is divided into extents; a VDisk is formed from set of extents.
Timeline
Performance
Release 4.3 of the SVC held the Storage Performance Council world record for SPC-1 performance benchmarks, returning nearly 275K IOPS. There was no faster storage subsystem benchmarked by the SPC at that time. The SPC-2 benchmark also returned a world leading measurement of over 7 GB/s throughput.Release 5.1 achieved new records with a 4 node and 6 node cluster benchmark with DS8700 as backed storage device. SVC broke its own record of 274,997.58 SPC-1 IOPS in March 2010, with 315,043.59 for the 4 node cluster and 380,489.30 with the 6 node cluster, records that stood until October 2011.
Release 6.2 of the SVC held the Storage Performance Council world record for SPC-1 performance benchmarks, returning over 500K IOPS using 8 SVC nodes and Storwize V7000 as the backend disk. There was no faster storage subsystem benchmarked by the SPC at that time.
The full results and executive summaries can be reviewed at the SPC website referenced above.
Release 7.x provides multiple enhancements including support for additional CPUs, cache and adapters. The streamlined cache operates at 100µs fall-through latency and 60 µs cache-hit latency, enabling SVC as a front-end to IBM FlashSystem solid-state storage without significant performance penalty. See also: FlashSystem V9000
Included Features (7.x)
; Indirection or mapping from virtual LUN to physical LUN; Data migration and pooling
; Importing and exporting existing LUNs via Image Mode
; Fast-write cache
; Auto tiering
; Solid state drive capability
; Thin Provisioning
; Virtual Disk Mirroring
; Site protection with Stretched Cluster
; Geographical crossover access
; Hot Standby Nodes
; Enhanced Stretched Cluster
; Stretched Cluster with Golden Copy
; Hyperswap
; Transparent Cloud Tiering
Optional features
There are some optional features, separately licensed e.g. per TB:; Real-Time Compression
; FlashCopy
; FlashCopy rollback
; Metro Mirror - synchronous remote replication
; Global Mirror - asynchronous remote replication
; Global Mirror over IP - remote replication over the Internet
; Encryption of data at rest
Other products running SVC code
On 7 October 2010, IBM announced the IBM Storwize V7000, the first member of the Storwize family. Storwize uses the SAN Volume Controller code base with internal storage to provide a mid-price storage subsystem. The IBM Storwize V5000, V3700 and V3500 are shrunk compatible models with less cache/CPU/adapters and a reduced set of features.The IBM FlashSystem V9000 leverages the SVC firmware integrated with IBM FlashSystem solid-state drawers.
In 2015, IBM re-badged the virtualization functionality as Spectrum Virtualize, in order to align it with the IBM software-defined storage naming conventions and to highlight the interoperability aspect.