分类: 服务器与存储
2007-08-05 12:44:54
By Ray Lucchesi
What is it?
To use an analogy, my
children occasionally play in rooms with inflatable castles and other
structures. Thin provisioning is like an empty hall with a number of
inflatable castles. The castles cannot inflate bigger than the hall,
and each castle has its own inflation unit. In this analogy, the
castles are LUNs, expanding (or inflating) whenever new block addresses
are written to them. The size of the hall is either installed storage
capacity or the storage defined to a thin-provisioned partition. In
contrast, hard allocation is like building a house where each room is a
LUN. You need to know the size of each room of the house ahead of time,
and once the house is constructed, the only way to alter the size of a
room is to demolish some nearby rooms.
Thin provisioning provides an alternative to the traditional method of hard allocation of storage for LUNs. Instead, thin provisioning allows allocation of storage space to applications or users in excess of actual physically installed storage. That is, a group of applications or users may be allocated space, which in total exceeds the available installed physical space. As a result, more applications or users can be assigned to a particular storage subsystem than would be allowable under the hard allocation methodology.
Most thin-provisioning products operate similarly to the familiar operating systems and/or virtual memory systems that use page tables to convert virtual memory addresses to physical memory addresses. Specifically, thin provisioning creates a page table to convert virtual LUN block addresses to physical LUN block addresses in real time, transparently to applications and users.
What are the benefits?
The
overall benefit of thin provisioning—minimizing actual physical storage
needed—is multi-faceted. For example, the need to purchase additional
storage can be significantly delayed, resulting in current capital
expense savings. Further, savings can also be significant due to
ongoing storage price erosion. Even more basic is the fact that fewer
spinning disks reduce power and cooling costs as well.
Thus, cost savings from thin provisioning can be significant. However, the benefits don't stop there. Thin provisioning can positively affect operating efficiency of a storage subsystem. Again, the benefits are intertwined and not entirely obvious. Perhaps most important when addressing operating efficiency is thin provisioning's ability to utilize all available storage with many applications or users. Thus, assuming available physical storage, thin provisioning allows additional new data to be written and stored without administrator activity and without application or user interruption. Before thin provisioning, operations would have been negatively impacted to change storage allocation both by interrupting the application and by the need for prompt administrator intervention.
Storage administrators are further aided by thin provisioning in that estimating application or user storage requirements is no longer necessary. All LUN storage can be configured to the maximum LUN size allowed, disregarding—at least during configuration—the finite physical storage in the subsystem.
Another area that has both storage administrators and their CIOs concerned, and where thin provisioning provides a significant advantage, is the often-abysmal storage utilization of non-thinly provisioned LUNs. Over-provisioned LUNs rarely exceed 50% storage utilization. In contrast, thinly provisioned LUNs are typically 100% utilized except in rare cases (see below).
Besides improving storage utilization, thin provisioning can improve application performance. For example, many thin-provisioning vendors automatically stripe LUN data across all disks in the subsystem or thin-provisioned partition. Without thin provisioning, the striping performance boost is achieved by RAID N+0 technology. However, this technology limits the number of disks available for a stripe by the number of RAID groups used. In contrast, thin provisioning is not likewise limited and can take advantage of all storage in the subsystem or thin-provisioned partition. As such, more disks are available to service I/O.
What's the downside?
As is usually
the case with new technology, the benefits often give rise to increased
complexity by requiring more intelligence and logic. In the best case,
end users, administrators, and CIOs would be impacted only minimally by
the layer of complexity added by thin provisioning. However, this added
complexity might result in functionality problems. Moreover, because of
the global nature of thin provisioning these problems may negatively
impact the entire storage subsystem.
The benefits of thin provisioning can also be decreased, or even erased, if a thinly provisioned subsystem is allowed to run out of space just as an application is attempting to write a new block. All new block writes are brought to a halt because the thinly provisioned subsystem has transparently allowed all of the subsystem capacity to be utilized. Non-thinly provisioned subsystems can also encounter storage deficiencies with hard-allocated LUNs. However, operations can be resumed more easily than thin- provisioned products by simply reconfiguring readily available, underutilized, hard-allocated LUNs.
As such, vendors of thin-provisioning products have provided for space warnings at designated intervals. However, these space warnings—although critical to the smooth operation of the subsystem—are elementary at best. A comprehensive plan for reacting to the space warning is paramount. A good plan should be based on historical capacity consumption over a specified time period (usually one week) and the time needed to order, deliver, and install additional storage. A simpler and less-comprehensive plan used by some administrators would hard-allocate a spare LUN and then delete that LUN for immediate additional storage when needed. Obviously, this latter plan would decrease the benefit of thin provisioning.
Will it work for you?
The decision
to implement thin provisioning is not an easy one, as both the
advantages and disadvantages are like high-stakes poker: Gains or
losses can be significant. However, consideration of some factors may
make the overall decision more clear. These factors might include the
following:
Once the thin-provisioning
decision has been answered affirmatively, still other considerations,
particularly as to vendor selection, become more important. Vendors
differ dramatically in at least three areas in their approach to thin
provisioning, including the following:
Conclusion
Thin
provisioning, long available to NAS users, has only recently moved into
the block-level storage subsystem arena. The cost, performance, and
utilization benefits of thin provisioning can be substantial in this
space. However, unwillingness or inability to be operationally vigilant
can be deadly to thinly provisioned subsystems. In addition, a
particular vendor's approach to thin provisioning can be very
important. However, given appropriate vigilance and a proper
determination of current storage use behavior, thin provisioning can
provide a superior alternative to the traditional method of
hard-allocation.
Ray Lucchesi is president of , a storage, strategy, and systems consultancy.