Clustered Data Storage Based on the RAIDIX Software and GPFS File System
In this article, we’ll analyze the technical interoperation of RAIDIX and the GPFS cluster file system, benefits of the comprehensive solution for servicing resource-intensive applications in M&E and HPC, as well as architecture, configuration, and other technical parameters of GPFS and RAIDIX.
Data Storage System based on RAIDIX and GPFS
RAIDIX is a high-performance, reliable, high-density data storage system managing high workloads in Video Surveillance, Media & Entertainment, Enterprise, and other data-rich segments. RAIDIX-powered data storage systems reveal record performance when processing hundreds of parallel streams, ensures full integrity of large data volumes, and uninterrupted system functioning. RAIDIX Data Storage supports an Active-Active cluster out-of-the-box without any external devices.
Bundled with the GPFS cluster system (General Parallel File System) developed by IBM, RAIDIX helps the system administrator to set up a storage cluster out of multiple nodes, building on commodity-off-the-shelf hardware.
GPFS is utilized in Top 500 high-performance supercomputers. GPFS stands out from other cluster file systems by enabling shared high-speed access to files from applications executed on multiple cluster nodes, under various operating systems – including RAIDIX. Aside from data storage features, GPFS provides cluster management and administration capabilities and allows concurrent access to file systems from remote GPFS-clusters.
Further on, we’ll review tasks and scenarios that require implementation of a highly scalable data storage system powered by RAIDIX and GPFS, as well as configuration and complex architecture issues.
Challenges and the Solution
Given the snowballing growth of data volumes, film companies, TV channels, CCTV operators and users require highly scalable solutions. It’s not uncommon that the system deals with petabytes of data and entails a multi-node storage cluster. When faced with this task, the system administrator comes across limitations of the traditional file systems:
- Metadata and data are stored on the same partitions
- Files are ‘scattered’ across the partition, causing access latencies
- No protection against defragmentation
- Low scalability by capacity, performance, file number, directory depth, etc.
- Lack of ‘native’ cross-platform support.
Aside from high performance and low latencies, the list of key features expected from a fully functional Scale-Out solution includes:
- Single namespace for multiple storage clusters
- Concurrent access via versatile protocols
- File and block access to the same data.
All these requirements are fulfilled by the GPFS system. A GPFS-based architecture reveals high performance, enabling shared data access from multiple workstations. Most file systems are designed for single-server environments, so adding yet another file server doesn’t make a difference in terms of performance. GPFS provides greater input/output performance as it combines into stripes the data blocks from specific files stored across multiple disks – and performs parallel reading of these blocks. Other GPFS features include high availability, support for heterogeneous clusters, disaster recovery, security, DMAPI, HSM, and ILM.
A file written into a file systems is split into several blocks of specified size, under 1MB each. The blocks are distributed across several nodes of the file system, which adds up to higher read/write speed for each file (resulting from high aggregated throughput of multiple physical drives). At that, the file system does not guarantee full fault-tolerance: a single drive failure may cause data loss. To ensure data integrity, the system administrator should employ RAID-controllers for the file system nodes: multiple copies of each block are written to physical drives on the separate nodes.
GPFS supports the following features:
- Distributed metadata, including the directory tree. The file system has no single directory controller or index server.
- Efficient indexing of directory records for large-scale directories. Many file systems support a limited number of files in a directory (as a rule, 65536). GPFS does not have these limitations.
- Distributed locking. Full support for Posix filesystem semantics, including locking for exclusive file access.
- Flexible partition management (Partition Aware). Network failure may cause file system splitting into two or more group nodes. At that, the groups may only view their respective nodes. This can be tracked via the heartbeat protocol: in case of partitioning, the file system remains functional for the largest partition. Ultimately, most workstations will keep on functioning even when the file system goes degraded.
GPFS may be serviced online. Most modifications in the system (adding new drives, balanced data distribution) may be performed on-the-fly. Thus, the file system provides a higher availability level in a supercomputing cluster.
The RAIDIX software is a high-performance platform for deploying GPFS — as a standalone storage node or a storage node bundled with an NSD server. The combination of RAIDIX and NSD stands out as a cost-effective solution that helps decrease equipment expenses and use the same hardware resources for the storage system and GPFS servers.
*Configuration below is able only with specific RAIDIX software release
The RAIDIX software can be configured to operate as a dual controller cluster (Image. 1).
Image. 1: The RAIDIX dual controllers architecture
In this scenario, the system includes two separate nodes for point-to-point connections:
- 1 GbE for HeartBeat
- 4 x SAS 12G for write cache synchronization (CacheSync)
Both nodes are connected to JBOD enclosures through 4 SAS 12G ports for each node. In this architecture, we recommend using Infiniband 100GbE as a hardware interface.
In case the system requires a large number of client connections — without any dedicated client software installed — a NAS Gateway may be employed for data transmission.
RAIDIX is installed on both AH-RM212-SX12 nodes and configured according to the Administrator’s Guide. GPFS packages should also be installed on both nodes operated by RAIDIX. You may find a step-by-step guide in the GPFS tech documentation.
RAIDIX provides an opportunity to path through the volumes from one RAIDIX node to the other — via the sync channel — and configure GPFS using mpath devices.
Image. 2: Sync channel between nodes
Based on IOzone and fio-test results, the overall sequential performance on a SAS back end may reach 12–13 GB/s when writing with 1MB blocks. These showings are available on using 120 NL-SAS HDDs. These drives are distributed across 12 RAID6i (8D+2P) arrays.
A comprehensive RAIDIX — GPFS solution allows system integrators to utilize a multitude of storage nodes, distributing data dynamically and balancing workloads along the nodes. The solution architecture enables adding new storage nodes upon request — with no need for data migration or system re-configuration.
The RAIDIX technology in combination with the GPFS file system complies with the high performance and fault-tolerance requirements, and ensures shared access to video content from multiple workstations. The use of the RAIDIX technology allows the user to minimize hardware overheads when building a storage cluster — by providing effective scale-out of existing infrastructures with no downtime or performance slump.