Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would...

13
1 Multi-level Raid 91.520

Transcript of Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would...

Page 1: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

1

Multi-level Raid

91.520

Page 2: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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

Page 3: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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.

Page 4: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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)

Page 5: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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

Page 6: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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

Page 7: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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.

Page 8: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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

Page 9: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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?

Page 10: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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.

Page 11: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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.

Page 12: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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

Page 13: Multi-level Raid 1 91.520. Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.

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