The storage side of the data center is waking up to what the server side has known for some time: Clustering is cool.
Clustering has improved the reliability, availability and manageability of data center servers while allowing bundles of inexpensive configurations like blades to replace costly, monolithic servers. The benefits of server clustering haven't escaped the notice of the storage industry, but clustering storage involves challenges other than just tying servers together. Vendors have taken diverse paths to address those challenges, but they fall into two main categories: clustered file systems and standalone hardware with a clustered architecture.
"With traditional midrange storage systems, you can quickly run out of hardware resources," said Tony Asaro, senior analyst at the Enterprise Strategy Group (ESG), Milford, Mass. When more capacity or horsepower is needed, traditional systems offer few alternatives other than installing another storage device with all of its associated costs.
Implementing a clustered storage system doesn't require clustered servers. While the technologies are quite similar, they aren't interdependent.
The growing popularity of clustered storage has also spawned the usual industry buzzword mania. Storage vendors of all stripes are touting their hardware and software products as clustering technologies -- products that may be implemented at nearly any point in a storage environment. While spiels tend toward hyperbole, most of these products are clustering applications, although many are point, rather than total, solutions.
Vendors have turned toward clustering technologies to address the four big issues facing most storage managers. These design goals aren't the exclusive province of clustering -- nearly all storage systems strive for these -- but they're the fundamental goals of clustered systems:
- Capacity scaling. Additional storage capacity should be easy to add in a non-disruptive manner.
- Performance scaling. As capacity is added and the number of supported hosts grows, performance should scale sufficiently to maintain an acceptable service level.
- Availability. Redundant components and transparent failover should ensure data is always available.
- Manageability. Scaling, failover and capacity management should be as automated as possible.
These goals may be achieved in a variety of ways, but there are some basic precepts of clustered storage. For example, clustered systems pool their storage and present it as a single image to hosts as a global file system that's often referred to as "a single drive letter." This makes better use of available capacity while easing storage management. It also enhances the ability of hosts to share data while avoiding multiple instances of the same files.