Monthly Archive for November, 2009

Trends in the advancement of storage virtualization: location fault tolerance

Efficient approaches to location fault tolerance (Part 3)

We continue discussing trends in the advancement of storage virtualization. Two posts ago, we covered advanced data virtualization, and the last post we covered self organizing systems. We are now onto the future for location fault tolerance.

Current storage products are focused mainly on setting up storage tiers within a single data center, and using replication to gain offsite data protection. Yes, these products do address multiple data centers being managed centrally, but typical architectures do not have data being managed across data centers besides the replicated copies.

Why the single data center consolidation focus for tiers? Most likely, it is because the network is a big unknown for storage vendors who are trying to create sellable products. Taking the network out of the picture ensures QoS and performance. Further, clustered systems are difficult to run over WANs.

Using replication does solve site failure scenarios, but since it is making full copies of data, it does not provide ideal storage efficiency. Coupling the RAID parity (suppose 120% raw capacity required) with replication, perhaps to one or two sites, it is easy to calculate 240% to 360% raw storage is required. Ramp up this system to petabytes, and it gets expensive very fast.

Considering Dispersal, devices can be placed in multiple locations, and the M of N configuration can allow for location fault tolerance. For example, if the M of N configuration is 12 of 16, and the 16 data packets are stored across 16 devices in 4 locations, a location failure still leaves 12 available data packets to reconstruct that data.

Access with object storage is through a non-clustered approach since software clients can access the dsNet system, (as well as through accesser appliances). dsNet systems can efficiently run over WANs and store data packets in multiple data centers. This architecture will prove to be important for scale out systems in the future.

Coupling advanced data virtualization via Dispersal with features to store data packets at multiple sites solves the storage efficiency problems with replication – today’s expensive and predominant multi-site data protection feature. Cleversafe is the leader in this approach, and it will prove a requirement as storage virtualization progresses and networks improve.

We’ll discuss a shift in management systems in more detail in the next post.

Trends in the advancement of storage virtualization: self-organizing systems

Self-organizing systems (Part 2)
Last week, we kicked-off a blog series titled Trends in the advancement of storage virtualization whose impetus stemmed from the recent SNW in Phoenix, and the conclusion that the storage virtualization products on the market today are a good first step, but are going to have to evolve. Have tackled the trend of the advanced data virtualization in our first post, this blog will focus on the trend of self-organizing systems.

Current products focus on virtualizing storage pools and access from storage hardware. This too is a good step towards avoiding siloed storage systems, however, it appears there is still too much management burden placed on the storage administrator. The management systems do have self-discovery, but that simply means listing the hardware nodes that have been added to the system. The burden is still on the storage administrator to determine where and how to deploy those nodes.

To simplify the management burden, another step must occur – the system must evolve to self organize. Self-organizing systems are made up of small units that can determine an inherent order collectively. Instead of a storage administrator having to determine which pools and tiers to add storage nodes to, the nodes themselves will evolve to contain metadata and rules, and inherently place themselves within the storage tiers as the system requires.

An example of metadata and rules could be related to disk characteristics –SSD could know it is suited for tier 1 performance scenarios. Another example would be related to GPS location – storage nodes could know which data center they have been installed within, and determine which storage pools they need to join.

Beyond the storage system self-organizing in terms of provisioning hardware, systems will also self organize the tiers. Storage administrators will define the requirements for tiers (QoS, data reliability, performance), and the storage nodes will self organize underneath them. That means that when capacity and performance nodes are added to the system, the system will also determine which tiers need those resources.

Emergent patterns will surface once the storage nodes have metadata and rules, and the toolset for managing the system will change. Rather than managing the physical hardware, and individual storage pools and access, management will occur at a system level – what storage is required in which locations based on how information is dynamically moving across storage nodes and tiers.

We’ll discuss location fault tolerance in more detail in the next post.

Trends in the advancement of storage virtualization: advanced data virtualization

Advanced data virtualization (Part 1)
After attending the recent SNW in Phoenix, and having some time to synthesize and digest, I’m convinced that the storage virtualization products on the market today are a good first step, but are going to have to evolve.

Over the next few weeks, I’ll offer several trends we foresee will occur to realize true storage virtualization. This week’s post will focus on the trend of advanced data virtualization.

Storage virtualization is creating efficiencies by inserting a layer of abstraction between data and storage hardware, and that same concept can be taken further to present a layer of abstraction between data and the method in which data is stored.

RAID is actually a well-known form of data virtualization because the linear sequence of bytes for data are transformed to stripe the data across the array, and include the necessary parity bits. RAID’s data virtualization technique was designed over 20 years ago to improve data reliability and I/O performance, and it is now in the process of failing as we transition from structured data to large quantities of unstructured data.

Dispersal, as we’ve discussed in numerous posts on this blog, is a natural successor for RAID for data virtualization because it can be configured with M of N fault tolerance, which can provide much higher levels of data reliability than RAID. Dispersal essentially packetizes the data (N packets), and only requires a subset (M packets) to bit perfectly recreate the data.

One major change for data virtualization that will occur as Dispersal replaces RAID is that there will no longer be a tight coupling between hardware and the storage of the data packets. This will eliminate the concept of having copies of data on hardware.

Today’s RAID systems stripe data and parity bits across disks within an array within an appliance. When asked “Where is my data?” the answer is typically “On this piece of hardware.” This gives people peace of mind in terms of sensing something that is intangible (since the data is actually virtualized) is actually tangible because it is contained within a physical device.

The shift for people will be from asking “Where is my data?” since it will be virtualized across multiple devices in multiple locations to “Is my data protected?” because the root of the first question is the second. Once people can get comfortable with actually giving up control of actually knowing exactly where their data resides, they will realize the benefits of data virtualization. A future post in this series will discuss how management systems will need to evolve to address Data Protection concerns.

The largest benefit to storing data packets across multiple hardware nodes is increased fault tolerance. RAID basically is structured to provide disk drive fault tolerance – as disk fails, and the other disks can reconstruct the data. Dispersal provides not only disk drive level fault tolerance, but also device drive fault tolerance, and even location fault tolerance. When an entire device fails, the data can be reconstructed from virtualized data packets on other devices, whether centrally located or across multiple sites.

We’ll discuss self organizing systems in more detail in the next post.