IBM SAN Volume Controller
The IBM SAN Volume Controller (SVC) 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.
The IBM 2145 SAN Volume Controller (SVC) is an inline virtualization or "gateway" device. It logically sits between hosts and storage arrays, presenting itself to hosts as the storage provider (target) and presenting itself to storage arrays as one big host (initiator). SVC is physically attached to any available port in 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 (stretched clustering) enables basic disaster protection paired with continuous availability.
SVC nodes are always clustered, with a minimum of 2 and a current maximum of 8 nodes, and linear scalability. Each node is a 1U high rack-mounted appliance leveraging IBM System x server hardware, protected by redundant power supplies and an integrated 1U high uninterruptible power supply. An integrated two-row display and five-button keyboard offer stand-alone configuration and monitoring options. Each node has four Fibre Channel ports and two or four 10/1 Gbit/s Ethernet ports used for FCoE, iSCSI and management. All Fibre Channel & FCoE ports on the SVC are both targets and initiators, and are also utilized for inter-cluster communication. This includes maintaining read/write cache integrity, sharing status information, and forwarding reads and writes.[note 1]
Write cache is protected by mirroring within a pair of SVC nodes, called I/O group. Virtualized resources (= storage volumes presented to hosts) are randomly distributed across all I/O groups. 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. This requires multipath drivers such as IBM Subsystem Device Driver (SDD) or standard MPIO drivers.
SVC is based on COMmodity PArts Storage System (Compass) architecture, developed at the IBM Almaden Research Center. The majority of the software has been developed at the IBM Hursley Labs in the UK.
- Node - a single 1U machine.
|SVC node models|
|Type-model||Cache [GB]||FC speed [Gb/s]||iSCSI Speed [Gb/s]||Based upon||Announced|
|2145-4F2||4||2||n/a||x335||2 June 2003|
|2145-8F2||8||2||1||x336||25 October 2005|
|2145-8F4||8||4||1||x336||23 May 2006|
|2145-8G4||8||4||1||x3550||22 May 2007|
|2145-8A4||8||4||1||x3250M2||28 October 2008|
|2145-CF8||24||8||1||x3550M2||20 October 2009|
|2145-CG8||24||8||1 (10 Gbit/s optional)||x3550M3||9 May 2011|
- 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 (SSH and HTTPS)
- 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 (or SSPC) - 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 (SSPC) is no longer used. Web based administration is done directly on the configuration node, using a HTML5 GUI.
- Virtual Disk (VDisk) - a unit of storage presented to the host. The release 6 GUI refers to a VDisk as a Volume.
- Managed Disk (MDisk) - a unit of storage (a LUN) from a real, external disk array, virtualized by the SVC. An MDisk is the base to create an image mode VDisk.
- Managed Disk Group - (MDisk 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.
Release 4.3 of the SVC held the Storage Performance Council (SPC) world record for SPC-1 performance benchmarks, returning nearly 275K (274,997.58) IOPS. There was no faster storage subsystem benchmarked by the SPC at that time (October 2008). 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 (SPC) world record for SPC-1 performance benchmarks, returning over 500K (520,043.99) IOPS (I/Os per second) using 8 SVC nodes and Storwize V7000 as the backend disk. There was no faster storage subsystem benchmarked by the SPC at that time (January 2012). The full results and executive summaries can be reviewed at the SPC website referenced above.[note 2]
- Indirection or mapping from virtual LUN to physical LUN
- Servers access SVC as if it were a storage controller. The SCSI LUNs they see represent virtual disks (volumes) allocated in SVC from a pool of storage made up from one or more managed disks (MDisks). A managed disk is simply a storage LUN provided by one of the storage controllers that SVC is virtualizing. The virtual capacity can be larger than the managed physical capacity, with a current maximum of 32 PB, depending on management granularity (extent size)
- Data migration and pooling
- SVC can move volumes from one capacity pool (MDisk group) to another whilst maintaining I/O access to the data. Write and read caching remain active. Pools can be shrunk or expanded by removing or adding hardware capacity, while maintaining I/O access to the data. Both features can be used for seamless hardware migration. Migration from an old SVC model to the most recent model is also seamless and implies no copying of data.
- Importing and exporting existing LUNs via Image Mode
- "Image mode" is a non-virtualized pass-through representation of an MDisk (managed LUN) that contains existing client data; such an MDisk can be seamlessly imported into or removed from an SVC cluster.
- Fast-write cache
- Writes from hosts are acknowledged once they have been committed into the SVC mirrored cache, but prior to being destaged to the underlying storage controllers. Data is protected by replication to the other node in an I/O group (node pair). Cache size is dependant on the model of SVC used. Fast-write cache is also used to increases performance in midrange storage configurations.
- Auto tiering (Easy Tier)
- SVC automatically selects the best storage hardware for each chunk of data, according to its access patterns. Cache unfriendly "hot" data is dynamically moved to solid state drives SSD, whereas cache friendly "hot" and any "cold" data is moved to economic spinning disks.
- Solid state drive SSD support
- SVC can use any supported external SSD storage device or provide its own internal SSD slots, up to 32 per cluster. Easy Tiering is automatically active when mixing SSDs with spinning disks in hybrid capacity pools (MDisk groups).
- Thin Provisioning
- LUN capacity is only used when new data is written to a LUN. Data blocks equal zero are not physically allocated, unless previous data unequal zero exists. During import or during internal migrations, data blocks equal zero are discarded (Thick-to-thin migration).
- Besides, thin provisioning is integrated in the FlashCopy features detailed below to provide space-efficient snapshots
- Real-Time Compression
- This technology, invented by the acquired startup Storwize, has been integrated in the SVC and other IBM storage systems. Originally implemented as real-time file compression, it has since been enhanced to also support in-flight block compression. The efficiency is equal to "zip" LZW (Lempel–Ziv–Welch) with a very large dictionary. The temporal locality of the algorithm may also increase the read/write performance on adequate data patterns such as uncompressed databases stored on spinning disks.
- Real-time compression can be combined with Easy Tiering, Thin Provisioning and Virtual Disk Mirroring.
- Virtual Disk Mirroring
- Provides the ability to make two copies of a LUN, implicitly on different storage controllers
- Site protection with Stretched Cluster, also called Split IOgroup
- A geographically distributed cluster layout leveraging the virtual disk mirroring feature across datacenters within 300 km distance. A stretched cluster presents one logical storage layer over synchronous distances for increased high availability. Unlike in classical mirroring, logical LUNs are writable on both sides (tandem) at the same time, removing the need for "failover", "role switch", or "site switch". The feature can be combined with Live Partition Mobility or VMotion to avoid any data transport during a metro-distance virtual server motion.
- Each side's SVC nodes also have access to the other side's physical storage hardware, removing the need for site-resynchronization in case of a simple node failures.
There are some optional features, separately licensed per TB:
- Metro Mirror - synchronous remote replication
- This allows a remote disaster recovery site at a distance of up to about 300km
- Global Mirror - asynchronous remote replication
- This allows a remote disaster recovery site at a distance of thousands of kilometres. Each Global Mirror relationship can be configured for high latency / low bandwidth or for high latency / high bandwidth connectivity, the latter allowing a consistent recovery point objective RPO below 1 sec.
- FlashCopy (FC)
- This is used to create a disk snapshot for backup, or application testing of a single volume. Snapshots require only the "delta" capacity unless created with full-provisioned target volumes. FlashCopy comes in three flavours: Snapshot, Clone, Backup volume. All are based on optimized copy-on-write technology, and may or may not remain linked to their source volume.
- One source volume can have up to 256 simultaneous targets. Targets can be made incremental, and cascaded tree like dependency structures can be constructed. Targets can be re-applied to their source or any other appropriate volume, also of different size (e.g. resetting any changes from a resize command).
- Copy-on-write is based on a bitmap with a configurable grain size, as opposed to a journal.
Other products running SVC code
- IBM Subsystem Device Driver (SDD), a multipathing driver for IBM System Storage, originally used by IBM Enterprise Storage Server
- Netapp V-Series
- EMC VPLEX, a competing solution
- IBM Storwize V7000
- These ports must be zoned together.
- "Cache hit" or "bandwidth" performance numbers are usually much higher, e.g. "20 GBPS", but are relatively meaningless as they cannot be achieved in real-word scenarios.
- "IBM System Storage SAN Volume Controller", IBM's Redbook SG24-6423-05, pp. 12.
- SVC Rel 4.3 SPC results
- SVC Rel 6.2 SPC results
- "IBM News room - 2010-07-29 IBM Acquires Storage Company Storwize for Data Compression Capabilities - United States". 03.ibm.com. 2010-07-29. Retrieved 2012-11-07.
- "DS8000 Information Center". Publib.boulder.ibm.com. Retrieved 2012-11-07.
- "IBM Storwize V7000 and Storwize V7000 Unified Disk Systems". 03.ibm.com. Retrieved 2012-11-07.
- "IBM Storwize V7000 and Storwize V7000 Unified Disk Systems". 03.ibm.com. Retrieved 2012-11-07.
- "Actifio, IBM Partner On Virtualized Storage, Target MSPs". http://www.mspmentor.net. Retrieved 2013-01-10.