You spent three weeks preparing a presentation for management. Two days in Budget Committee meetings. Twelve visits to vendors and vendor reference sites before handing over £1/2 million. And now here you are, barely eighteen months later, faced with going through the whole process again because the high availability, high throughput Enterprise Storage system at the heart of your SAN, that was going to provide all your disk space for the next five years, will hit the ceiling the next time anyone updates their address book. And there's no way to expand it short of buying a complete new system. Ouch!
The InServ range of storage servers comprising the S400 and S800 models uses 3Par's 'InSpire' clustering architecture to combine the flexibility, and scalability, of modular storage with the reliability and throughput of a monolithic system. Indeed, their latest 'X' series server has set a mark for the standard SPC-1 storage performance benchmark that other vendors will struggle to match.
The architecture has essentially three components an array of disk units, managed by two or more intelligent controller nodes, clustered via a full-mesh backplane. All disks are standard FC drives, currently available in 36, 73 and 147GB capacities, with a 300 GByte unit planned.
A controller node comprises a proprietary ASIC with up to 8GB memory for I/O management, a pair of Pentium processors for process control and 6 PCI slots for external connections.
Tying everything together is a full-mesh backplane linking the controller nodes. Essentially a passive circuit board, the backplane provides a 1GByte/sec pathway between each pair of controllers. Although controllers function independently, the proprietary InForm operating system uses the fast point-to-point backplane connections to provide load balancing between controller nodes and to synchronize the caches, ensuring cache consistency.The raw numbers are impressive. An S400 system can have 2 or 4 controller nodes, while an S800 can accommodate up to 8. A single controller can manage as many as 32 drive chassis units, with 2 cages per chassis, 5 disk magazines per cage and 4 disks per magazine. The S400 thus has a maximum capacity of 189TBytes, while the S800 can provide up to 376TBytes of storage.
However, enterprise storage is about far more than raw capacity. With a 4-port Fibre Channel Adapter in every PCI slot each controller node can provide 24 full bandwidth FC connections to external servers or other devices, eliminating the need for separate switches to manage the SAN. The maximum internal data throughput rate is 28GBytes/sec for an S800, 6GBytes/sec for an S400. In our testing, with just a single server linked to a near-minimal S400 unit, we easily achieved a steady throughput of 60MBytes/sec at 7500 IOPS and 220MBytes/sec at 1000 IOPS.
As might be expected for a serious contender in the enterprise storage stakes, high availability is ensured by massive redundancy, both within and between components. For example, each controller node has two power supplies (1 + 1 redundant), which can be connected to independent AC supplies. In addition, onboard disk units and battery backup ensure that in the event of both power supplies failing the write cache can be saved to disk. The upshot is that an InServ system can lose a cable, a drive magazine or even a controller node and continue to function. All components are hot-swappable, though if a single drive fails the entire magazine must be removed, a minor restriction in an otherwise highly flexible system.
When faults or potential faults are detected an onboard service unit issues warnings and sends diagnostic information to 3PAR, where Customer Service engineers can analyse the problem. But cutting-edge hardware needs software to match and this is where the InServ really shines. The InForm operating environment effectively isolates the applications level from the physical storage through several layers of virtualisation.
From the point of view of an external user the available space is divided into Virtual Volumes, VVs. VVs are identified with Virtual Logical Units or VLUNs. Physical disk units are divided into a pool of 256MByte 'chunklets' and InForm assembles groups of chunklets from across all available disks into Logical Disks (LDs). A VV is built from part or all of an LD or spread cross several LDs. InForm supports RAID 0, RAID 10 (mirroring + striping) and RAID 50 (RAID 5 + striping).
Management, including security, is through a command-line interface (InForm CLI) or a graphical user interface (InForm GUI). Both are easy to use but do require an understanding of the underlying hardware for example, when creating a VV you must specify whether it should have Cage or Magazine-level redundancy, that is whether the VV can survive an entire cage failure or just a single magazine failing, which does, of course, imply you understand what cages and magazines are, and why the distinction is important.
Nonetheless 3PAR claims it typically needs to provide no more than a few hours instruction on the management tools before users can manage new installations efficiently. Part of the reason it has such confidence in the ease-of-use is that InForm automates most management functions. Indeed, far from needing months of expert tuning, the record-setting SPC-1 result was achieved with a near-default set-up.
The multiple layers of virtualisation allow InForm to provide a number of tools to optimise space utilisation. Virtual Copy makes copies efficiently by copying the allocation table rather than the contents, and storing change blocks as the copies diverge. Actual copying of data need not happen until the original space is overwritten. Thin Provisioning allows an application to allocate far more space than it actually uses disk space is only assigned when it's written. And Remote Copy (which requires two InServ units) combines both techniques to offer an efficient disaster recovery mechanism.
The clustered processors and massive I/O throughput, the multiple redundancy and intelligent software - it's all more suggestive of a supercomputer than a simple storage array. One can't help feeling the InServ could have real potential as a high-end computer server for multiply-threaded, memory intensive applications such as protein structure analysis, seismic data processing and orbital mechanics. It is, though, simply a very gifted dedicated storage server.