Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would...
-
Upload
nigel-leonard -
Category
Documents
-
view
216 -
download
0
Transcript of Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would...
1
Multi-level Raid
91.520
2
Multi-level RaidAgenda
• Background- Definitions- What is it?- Why would anyone want it?
• Design Issues- Configuration and User Interface- Expansion- Memory Usage- Virtual Driver Implementation
3
Multi-level RaidDefinitions (according to RAB)
• Logical Disk - a set of consecutively addressed member disk blocks that is part of a single virtual disk-to-member disk mapping.
• Logical Volume - A virtual disk made up of logical disks. Also called a virtual disk, volume set, partition.
• Member Disk - A disk that is in use as a member of a disk array.
• Virtual Disk - synonym for volume set.• Volume set - A collection of user data extents
presented to an operating environment as a range of consecutive logical block addresses. A volume set is the disk array object most closely resembling a disk when viewed by the operating environment.
4
Multi-level RaidBackground
• What is ‘Multi-level Raid’?- Multi-level Raid is the combining of two (or more) levels of
Raid algorithms into a single addressable logical unit.- Ex. Raid10, Raid50, Raid30, Raid00, Raid 11, Raid 100
Raid 50
Raid 0 layer
Raid 5 layer
(Virtual Disk)
(Logical Disk)
Volume Set
(Logical Disk) (Logical Disk)
5
Multi-level RaidBackground (What)
Block 0Block 1Block 2Block 3Block 4….
Block 3061
Host Address Raid 0 Level
Block 0-1023
Block 1024-2047
Block 2048-3061
0-255
256-511
512-767
768-1023
Parity
Raid 5 Level
6
Multi-level RaidBackground (Why)
• Why use Multi-level Raid?• For Performance
- For the 3x5 Raid 50 shown, performance is 3x a single Raid 5
• For Capacity Without Sacrificing Reliability- A 3x5 Raid 50 can survive 3 failures, while a 12+1 Raid 5 with
the same capacity can only survive 1
• For Capacity Without Host Involvement- Striping units at the host level is difficult or impossible in some
clustered environments
7
Multi-level RaidDesign Issues - Configuration
• What makes up a raid group? - In our current model a raid group is a set of physical disks
on which one or more logical disks is created by partitioning.
• What makes up a logical disk?- Currently, a logical disk is a slice of a raid group.- Currently, a logical disk is equivalent to a volume set.- A partition is a logical disk.
• What is a volume set?- A volume set could be a single logical disk- A volume set could be a collection of logical disks- A Raid 50 is a type of volume set, and a type of logical
disk- A Raid 5 logical disk, that is part of a Raid 50 is not a
volume set.
8
Multi-level RaidDesign Issues -Configuration
• There are at least 2 approaches for creating Raid 50 volume sets.
- Stripe across logical disks (including partitions)> The underlying Raid 5 units can be partitions. In effect you could (not
that you’d want to) create a 3x5 Raid 50 on 5 drives.> The resulting volume sets can not be further partitioned> Advantages : more flexibility, physical disk units can be part of a Raid 50
and Raid 5 simultaneously, may support a layered architecture better.> Disadvantages : must keep the Raid 5 logical disks from being visible to
the host- Build multi-level Raid Groups
> Multiple raid groups are combined into a ‘super raid group’. Raid 50 logical disks are then created by taking slices (partitions) of the super raid group.
> Advantages : The Raid 5 groups are never visible to the host> Disadvantages : All space on the physical drives can only be used for
Raid 50
9
Multi-level RaidDesign Issues - Configuration
• Striping across arbitrary partitions seems like the best approach.
• How should this be presented to a user?- How do we keep the component Raid 5 logical disks from
being accessed independently?- The resulting Raid 50 will span multiple Raid groups. How
does the GUI hierarchically display that?- How does the user specify the combinations?
10
Multi-level RaidDesign Issues - Expansion
• How do we handle expansion of Raid groups that hold the component Raid 5 logical disks?
- In some ways, there is no issue.> The expansion of a Raid group does not affect the capacity of the Raid 5
logical disks.- The issue is geometry
> If the Raid 5 geometry changes, the Raid 0 stripe element size will be more or less efficient.
> If the Raid 5 logical disks have different geometry, the way to be efficient is to use a least common multiple approach.
• Is it possible to expand the Raid 50 volume set?- Its possible, but since it cannot be further partitioned, there
may not be reason to allow it.
11
Multi-level RaidDesign Issues - Memory
• A multi-level Raid design requires data to be reorganized at each level.
- Raid 0 layer splits data into 1 or more chunks per logical Raid 5 disk
- Raid 5 layer must split each chunk into data for each physical disk
• This reorganization is an extra computational step• A bigger problem is allocating ‘extra’ data buffers.
- The upper layer can only allocate what it needs for the host data.
- The lower layers must get additional buffers for parity and pre-reads.
12
Multi-level RaidDesign Issues - Virtual Drivers
• Multi-level Raid is an excellent opportunity to take advantage of the Virtual Driver architecture.
• The current model is:
Cache Driver
Lun Driver Lun DriverLun Driver
Raid Driver Raid Driver
13
Multi-level RaidDesign Issues - Virtual Drivers
• A multi-level Raid driver stack could look like this:
Cache Driver
Lun Driver Lun DriverLun Driver
Raid Driver Raid Driver
Raid Driver / Stripe Driver