Tuesday, February 12, 2008

MetaLUNs





MetaLUNs

The purpose of a MetaLUN is that a Clariion can grow the size of a LUN on the ‘fly’. Let’s say that a host is running out of space on a LUN. From Navisphere, we can “Expand” a LUN by adding more LUNs to the LUN that the host has access to. To the host, we are not adding more LUNs. All the host is going to see is that the LUN has grown in size. We will explain later how to make space available to the host.

There are two types of MetaLUNs, Concatenated and Striped. Each has their advantages and disadvantages, but the end result which ever you use, is that you are growing, “expanding” a LUN.

A Concatenated MetaLUN is advantageous because it allows a LUN to be “grown” quickly and the space made available to the host rather quickly as well. The other advantage is that the Component LUNs that are added to the LUN assigned to the Host can be of a different RAID type and of a different size.

The host writes to Cache on the Storage Processor, the Storage Processor then flushes out to the disk. With a Concatenated MetaLUN, the Clariion only writes to one LUN at a time. The Clariion is going to write to LUN 6 first. Once the Clariion fills LUN 6 with data, it then begins writing to the next LUN in the MetaLUN, which is LUN 23. The Clariion will continue writing to LUN 23 until it is full, then write to LUN 73. Because of this writing process, there is no performance gain. The Clariion is still only writing to one LUN at a time.

A Striped MetaLUN is advantageous because if setup properly could enhance performance as well as protection. Let’s look first at how the MetaLUN is setup and written to, and how performance can be gained. With the Striped MetaLUN, the Clariion writes to all LUNs that make up the MetaLUN, not just one at a time. The advantage of this is more spindles/disks. The Clariion will stripe the data across all of the LUNs in the MetaLUN, and if the LUNs are on different Raid Groups, on different Buses, this will allow the application to be striped across fifteen (15) disks, and in the example above, three back-end buses of the Clariion. The workload of the application is being spread out across the back-end of the Clariion, thereby possibly increasing speed. As illustrated above, the first Data Stripe (Data Stripe 1) that the Clariion writes out to disk will go across the five disks on Raid Group 5 where LUN 6 lives. The next stripe of data (Data Stripe 2), is striped across the five disks that make up RAID Group 10 where LUN23 lives. And finally, the third stripe of data (Data Stripe 3) is striped across the five disks that make up Raid Group 20 where LUN 73 lives. And then the Clariion starts the process all over again with LUN6, then LUN 23, then LUN 73. This gives the application 15 disks to be spread across, and three buses.

As for data protection, this would be similar to building a 15 disk raid group. The problem with a 15 disk raid group is that if one disk where to fail, it would take a considerable amount of time to rebuild the failed disk from the other 14 disks. Also, if there were two disks to fail in this raid group, and it was RAID 5, data would be lost. In the drawing above, each of the LUNs is on a different RAID group. That would mean that we could lose a disk in RAID Group 5, RAID Group 10, and RAID Group 20 at the same time, and still have access to the data. The other advantage of this configuration is that the rebuilds are occurring within each individual RAID Group. Rebuilding from four disks is going to be much faster than the 14 disks in a fifteen disk RAID Group.

The disadvantage of using a Striped MetaLUN is that it takes time to create. When a component LUN is added to the MetaLUN, the Clariion must restripe the data across the existing LUN(s) and the new LUN. This takes time and resources of the Clariion. There may be a performance impact while a Striped MetaLUN is re-striping the data. Also, the space is not available to the host until the MetaLUN has completed re-striping the data.

10 comments:

Anonymous said...

Great site! You've added even more depth to the "Best Practices for Fibre Channel Storage" whitepaper (which I consider the bible for Clariions).

Anyways, for an OLTP database, what are your thoughts on creating one large metalun (ala Oracle S.A.M.E.) vs. separate traditional RAID groups for data, redo, archivelogs, etc.?

san guy said...

i like the concept of the metalun for the data portion of the database, and separating the redo, archivelogs, etc from those disks...think also in terms of data protection...think of the performance impact and time to rebuild if a disk fails in a raid group...

Anonymous said...

Is it possible to un-do a metalun?

san guy said...

Sorry, undoing a MetaLUN destroys the Meta and all of the Component LUNs.

Buddha::Matrix said...

Great explanation... Thanks

Unknown said...

Hi,

does it make sense to have a metalun made of LUNs on 2 RGs, where 1 RG contains 5 disks and the other 9?

Can the CX use this config efficiently?
Both Raid5.
I guess not, but I am not sure.
thanks

Manu Panicker said...

Is it possible to expand a metalun which is already concatenated?

Manu Panicker said...

i just found out its possible & i did the expansion.. my mutelun was using a snapview session due to which it was not allowing me to expand the lun..it was giving me a information msg that the lun used is being used by a feature of the storage system..

Anonymous said...

what are the errors we face during the expansion of a meta?Please let me know.

care olders said...

قدمنا في دار رعاية المسنين الشكل الامثل من الاهتمام براحة كبير السن كما ان دار مسنين بمصر الجديدة و افضل جليسة مسنين توفر الرعاية المنزلية الشاملة كما ان دار مسنين بمدينة نصر و متخصصين العناية و تقديم الرعاية في دار مسنين بالمعادي يبحثوا عن راحتك بشتي السبل