Published: 10 Oct 2006
Provisioning storage is mostly a manual job. But you can still tune your storage for greater performance and higher...
Fifty years after IBM Corp. invented the disk drive, storage provisioning remains a complicated, and mostly manual, labor- intensive task. Each vendor has its proprietary tools and recommended approach. And the task keeps getting harder due to the increasing complexity of enterprise storage environments.
Storage provisioning is the process of logically carving up physical disk space to meet an organization's need for storage capacity, performance, security and efficiency. It encompasses the assignment of servers/hosts to appropriate storage, specifying network paths between hosts and storage, and masking servers and zoning the network to ensure access by the right servers. The entire task involves dozens of individual steps.
|Storage provisioning pitfalls|
When done correctly, provisioning results in storage that performs well and scales nondisruptively. When provisioning isn't done correctly, application performance can degrade, security is compromised, scalability is inhibited and capacity utilization is low, resulting in wasted storage space (see "Storage provisioning pitfalls," at right).
Complicating the provisioning challenge are today's widely heterogeneous enterprise storage environments: more storage, additional arrays, different types of array devices, multiple storage tiers, more RAID levels, increasing complexity, and many best-practice provisioning guidelines or standards. "Some day there will have to be a standard way to deal with storage provisioning, but there isn't now," says Rhoda Phillips, research manager, storage software at IDC, Framingham, MA. And, she adds, that day won't be coming anytime soon.
Without a set of best practices for provisioning, storage managers are left trying to hammer out what works best for their organization based on application requirements and the organization's particular mix of storage technology. For most, it's a manual trial-and-error process in which the lessons learned the last time may no longer apply when a new array, large-capacity disk drive or new tier of storage is thrown into the mix.
To get a better handle on storage provisioning, try to figure out who actually takes charge of provisioning. "With provisioning, there are a lot of handoffs," says Robert Stevenson, managing director, storage practice at TheInfoPro, a New York-based research company. Stevenson is a former storage manager at Nielsen Media Research, where he supervised the provisioning of 1,000 LUNs.
At Nielsen, Stevenson would begin the provisioning process by huddling with the DBA whose system needed the storage. Before the job was done, however, provisioning would involve system and network administrators in addition to the storage team.
The DBA knew the performance and capacity requirements, while the system administrator would make sure the hosts could find the newly provisioned storage. The network team handled the zoning, while the storage team did the actual carving up of the capacity. Even within the storage team, different groups might have a hand in the process. "The engineers would carve up the disk arrays. The operations group would do the LUN mapping and masking," explains Dan Weinstein, senior consultant at storage research and consulting firm GlassHouse Technologies Inc., Framingham, MA.
Effective provisioning requires a coordinated effort (see "Provisioning best practices") with good communication among all team members. In smaller organizations, "the storage team or maybe just one person would do it all by hand: allocate the storage in the array, configure the connections and point the hosts at the storage," says Jason Anderson, storage architect at Datalink Corp., a storage integrator in Chanhassen, MN. Even then, you still need information about the application and its performance, capacity and protection requirements, which will involve input from other people.
"The first thing you need to do before you start provisioning the storage is to understand what is needed," says Weinstein. That means defining the application's service-level requirements in terms of storage capacity, protection, performance and resource management. Without knowing this information, administrators can't make the provisioning decisions that will be required almost immediately.
The requirements must then be translated into storage terms: what kind of storage array and disk, which tier of storage and what RAID level. "Once you determine this information, you can look for appropriate [physical] space before you start carving it up logically," says Weinstein.
Stevenson would kick off the provisioning process by sitting down with the storage administrator and the DBA. Using a standard spreadsheet, they'd translate the application capacity and service requirements into a list of possible LUNs and their associated I/O performance. "This is a lot easier for existing applications that need more storage and have a history of what they have used before," says TheInfoPro's Stevenson. With a new application, the team would make their best estimates based on similar applications. The information on the spreadsheet would then become their guide when they began provisioning storage.
You should also "know the criteria and process by which requests for storage get approved in the first place," says Tim Arland, principal consultant at independent storage integrator Forsythe Solutions Group. Without firm criteria and an orderly process, storage provisioning quickly descends into chaos, with LUNs being carved out willy-nilly any place there seems to be physical capacity and without regard for the performance characteristics of the storage system or storage service requirements of the applications.
Administrators have to make decisions at numerous points in the storage provisioning process. These decisions revolve around such things as the specific RAID level, the size of the LUNs, as well as zoning, masking, striping and concatenating LUNs. For example, if the application requires mirroring for protection, you'll need to provision double the amount of storage and set up the necessary paths.
In general, experts recommend provisioning LUNs at least 30% to 50% larger than the expected size. "This is not wasting capacity," says Jerry Namery, chief technology officer at Winchester Systems Inc., Burlington, MA. "Especially when you're provisioning for database performance, this leaves room to move things around without hitting a performance wall."
Depending on the vendor, you may have more or fewer choices. Let's use LUN sizing, a storage admin's primary decision, as an example. Ideally, administrators want to size the LUN on the basis of performance requirements, efficient capacity utilization or protection. To provide greater performance, for example, you need to provision the LUNs to encompass more spindles.
For example, Forsythe Solutions Group's Arland might recommend provisioning 100GB LUNs on a midrange array for database performance. But he would stripe that 100GB across an entire 16 to 24 disk RAID group, which would allow plenty of spindles for performance. "For performance, you want smaller drives and more spindles in your RAID group," he says.
On the other hand, "big LUNs--anything over 200GB--I would reserve for low-performance applications and archival storage and use fewer spindles," adds Arland. In this case, the RAID group might consist of just four to eight drives.
The goal of sizing is twofold: getting the right amount of appropriate storage while "avoiding being stuck with small fragments of storage which kills utilization," says Namery. The trick is to use smaller LUNs, which leave you more flexibility. Fragmented storage happens surprisingly often, usually when someone starts provisioning the array without mapping it on paper first.
LUN sizing also differs from vendor to vendor. "It helps to know which array you're using. Some of the enterprise storage systems allow less freedom of choice when it comes to LUN size than midrange arrays," says Datalink's Anderson.
Similarly, vendors have different limitations on internal striping of the drives. "The high-end Hitachi arrays don't do internal striping," continues Anderson. "You can still do RAID but not RAID 0." If his client needs RAID 0 and the array won't do it, Anderson provisions a smaller LUN and stripes at the host.
The largest enterprise arrays, originally intended for use in mainframe environments, will often come preconfigured with many small LUNs, around 8GB to 9GB. "The high-end arrays like EMC's Symmetrix DMX are designed to work best with small 8.4GB LUNs," says GlassHouse's Weinstein. "It's built into the design and the microcode of the array. The best practice then is to configure the entire array at once into many small LUNs."
These small LUNs can be concatenated into larger LUNs, adds Arland. In contrast, midrange array vendors may sell the array already cut into large LUNs, often 200GB in size.
With midrange arrays, the best practice is to configure an entire row or shelf of drives at one time, striping the LUNs across multiple spindles, says Weinstein. But don't feel restricted to small LUNs. In the end, "performance has less to do with the size of the LUN than with how many disks it's spread across," he concludes.
When he was at Nielsen Media Research, Stevenson often relied on the prebuilt LUNs that came with the array. "We knew their I/O capabilities," he says. The prebuilt LUNs worked well with Nielsen's standard RAID 5 configuration. "The only question left was how many spindles to put in the RAID set," adds Stevenson.
|Provisioning best practices|
You'll also need to think about replication early on in the cycle. "When it comes to provisioning for replication, you have two options--but a lot depends on the manufacturer," says Arland. You can define the replication during the initial provisioning when you'll pair drives for replication. Some midrange arrays, how-ever, allow for more flexibility by letting you specify replication at a later time. "The best practice would be to take care of the replication during the initial provisioning," he adds.
GlassHouse's Weinstein recommends that snapshot and replication be decided even earlier, when you're gathering the initial requirements. "There is only so much capacity available for internal snapshots, so you need to plan for it during the design phase," he says.
Zoning and masking don't require much planning. "Zoning and masking can be done before or after the provisioning or in parallel," says Datalink's Anderson. The only decision is whether to do hard or soft zoning. Hard zoning uses the physical port on the switch. Soft zoning relies on the device's worldwide name, a 16-character string. "The trend today is to use the name. Management tools and switch vendors prefer worldwide name-level zoning," says Anderson.
Carving up the storage
It's only after they have captured the storage service requirements that the pros start carving the physical array into logical chunks of storage. This entails firing up the storage array vendor's element manager, a low-level tool.
In the past, provisioning was done strictly through the command line interface (CLI). When mastered, the CLI gave very granular control and was fast. In recent years, vendors have offered GUI element managers that rival the CLI for control. Third-party tools have also emerged, but they have been slower to catch on.
GUI-based element managers are easier. "We're new at this. We got a new array earlier this year so we're using the GUI," says Anthony Bergen, manager of server technologies at The North West Company Inc., a retail distributor based in Winnipeg, Manitoba. The company is using the Navisphere element manager that came with its Dell Inc./EMC Corp. array.
Bergen is using Dell consultants to set up the initial provisioning on The North West Company's new array. The consultants configured the storage into striped meta LUNs, 300GB in size. Meta LUNs are created by striping across multiple storage volumes to create new, larger volumes. In the case of The North West Company, the meta LUNs are formed out of 50GB LUNs. "Meta LUNs allow us to grow our storage easily," says Bergen.
Meta LUNs are similar to concatenated LUNs. In both cases, multiple, smaller LUNs are joined to form a large LUN. Meta LUNs, however, are striped across all the spindles of the constituent LUNs, which results in better performance. With concatenated LUNs, data is written to each LUN sequentially, filling the first constituent LUN before moving on to the next, according to GlassHouse's Weinstein. Meta LUNs and concatenated LUNs are particularly useful when the organization wants to expand existing volumes on the fly.
The final provisioning step entails setting the masking to ensure that only the right servers see the newly provisioned LUNs. System admins can then use the volume managers on the servers to find the storage.
Software vendors are touting automated provisioning tools, usually as part of larger storage resource management packages. But many provisioning tools don't work across different vendors' products. "When it comes to automated provisioning, I've never seen it consistently work right," says Weinstein. "The success rate is about 50%. Something always gets left out." The biggest challenge automated provisioning tools face is the sheer diversity of arrays, with each having to be addressed natively at a low level.
Automated provisioning, it turns out, isn't very automated at all. "The tools essentially use workflow to automate pieces of the manual provisioning process, but some things are always missing, such as change management, approvals or the server side," says Robert Passmore, vice president, research at Stamford, CT-based research firm Gartner Inc. They also don't get deep into the storage. "The tools operate at a high level, after the RAID sets have already been created, for example," he continues. "They can't do all the nitty-gritty work. For that you need each array vendor's tool. But, eventually, automated tools will get there."
Automated heterogeneous storage provisioning tools from vendors like CA Inc., Hewlett-Packard Co., IBM and others will eventually make storage provisioning a snap--but not today. Until then, storage administrators will just have to provision storage the old-fashioned way ... by carving raw disk capacity into LUNs by hand.