Deployment Solution

 View Only

Rule Based RAID In Depth - Part 1: Creating RAID Rules 

Aug 27, 2007 11:40 AM

In this article we will take an in depth look at the new Rule based RAID feature of Deployment Solution for Dell Servers 3.0. Rule based RAID can be a very powerful tool that will simplify the process of deploying servers. When properly understood it can be used to deploy many different server configurations in a very customized way.

Requirements

It is presumed that you have Deployment Solution 6.8 SP2 installed along with Deployment Solution for Dell Servers 3.0.

Rule based RAID explained

The Job Builder features two different methods of configuring RAID: rule based or from a file. RAID from a file is useful when you have many identical systems that you want configured in the same way. Rule based RAID is most effective when you want a large collection of different systems configured in a particular way based on the number of controllers and drives on each system.

Definitions

First I'll start off with some definitions. It can get a little confusing when I start going on about controller definitions and physical controllers. I'll use the following terms throughout this article:

  • System - The client in automation (I avoid saying server, since that could be confused with the Deployment Server, but in reality we are working with Dell Servers here, but for our purposes they are systems).
  • Rule definition - A rule consists of a collection of controller definitions, only one rule can ever be applied to a system.
  • Applied rule - When a rule matches the configuration on a system the rule is applied, applying a rule means the disk groups defined for each controller definition are applied to the corresponding physical controller (i.e. each disk group in the definition becomes a virtual disk on the server).
  • Matched rule - A rule matches when the controller definitions in the rule match the physical controllers on the system.
  • Matched controller definition - A controller definition matches when the number of disks in the definition matches the number of disks connected to the physical controller.
  • Controller definition - A controller that is defined in a rule.
  • Physical controller - A controller that is physically contained in a physical system.
  • Disk group - Represents what will become a virtual disk when the rule is applied to a system.
  • Virtual disk - A collection of physical disks that have been combined into a RAID container.

Rule based RAID overview

Basically rule based RAID allows you to define a set of rules, and the order in which the rules will be evaluated. At run time the RAID controllers on a system in automation are evaluated for the number of disks on each controller. Then, starting from the top, the rules are compared to what was found on the system. If the rule matches the evaluation process stops and that rule is applied to the system. Even if a later rule was also valid for that system, the first valid rule is used. Now what does it mean for a rule to match? That depends on what mode was chosen when the rule was defined. In physical mode it means that the order and number of disks on the controllers defined in the rule match the order and number of disks on the physical controllers on the system (there is a slight exception to this, which we'll cover later). In priority mode a rule matching means that each physical controller on the system has a controller definition that matches it. This can have several different meanings since there is the option of allowing a single controller definition to be used more than once. But basically even if 100 controller definitions are defined in the rule, and the system only has one controller, as long as one of those definitions matches the physical controller the rule will be applied. I'll get into this more later.

So this sounds thoroughly complicated right? Once you get the hang of it, it's not too bad. Now that we have some general stuff out of the way we'll get into some specifics. First we'll talk about the main RAID configuration screen. Then we'll move on to creating RAID rules, and get into the specifics of what the different modes mean.

Configure RAID Task

The main page for the configure RAID task allows you to choose between rule based RAID and RAID from a file. RAID from a file is beyond the scope of this article, so we're going to ignore it. The main panel of the rule base RAID portion displays the presently defined rules. The left side shows what will be matched to a system, the right side shows the configuration that will be applied if the rule matches. These rules are priority based and are evaluated from the top down. There is no limit to the number of rules that can be defined. From here you can add new rules, edit existing rules, change the ordering of the rules, and remove rules. You can also import rules that have been defined previously. You may have noticed that an export button it missing. The rules are automatically "exported" whenever a job is built. This way you can import the rules defined for an existing job at any time. From there you can modify them, or just use the same definitions for another job. The files are named after the name that was given to the job.

Figure 1 is an example of some defined rules. I'll go over the various elements in the main panel

  1. Server view - Gives a brief summary of the controller definitions for this rule. It is supposed to look like the front of a rack mount server.
  2. Controller definitions - Controllers that are defined in the rule. This is how a match is determined, based on the number of controllers and the number of disks on each controller. A small scroll bar will appear right below the controller definitions if more definitions are present than can be displayed.
  3. Rule evaluation mode - This can be either priority (numbers that are crossed out), or physical (numbers only).
  4. Disk group - Indicates what will be applied to each controller.

Creating a new rule

Now we're going to create a new RAID rule. The process is fairly straightforward, but it will be helpful it I explain a few things as we go.

First we need to select the controller definition matching mode. I've already given a brief summary on each mode. I'll defer the in depth explanation a bit longer. It really doesn't matter which mode is selected for our purposes here, the process of creating a rule is the same regardless of which mode is selected. We'll use physical mode for now since it is simpler. Controller definitions are evaluated from left to right. The ordering can be changed using the controls to the right of the server image. Now we'll move on to creating controller definitions.

Creating controller definitions

Click "Add controller" and the Add RAID controller screen will appear. Here you can specify to either match a set number of disks, or match this controller definition to all remaining controllers on the system.

Exact number of disks

The first option is to match a set number of disks. During the rule evaluation process this controller definition will be compared to a physical controller on the system. If this definition has the same number of disks as a physical controller that doesn't already have a match, it is matched to that physical controller. There is also the option to match the number of disks specified or more. This means a physical controller with at least the specified number of disks in the definition will match. You can tell when this option has been selected because a plus (+) sign will appear next to the number of disks.

Match all remaining

This option can be used only once for each rule. This is a special controller definition that will be applied to all the remaining controllers on the physical system, regardless of the mode that was selected. This means even if you selected physical mode, this controller definition will be applied to all the remaining controllers, even though normally physical mode is one-to-one. You'll notice you can't specify a set number of disks; this is because since this controller definition is going to be applied to all the remaining controllers on the system it must be valid for all the controllers. This basically means there are limits as to what RAID types can be applied to the disk group. We'll get to that in a bit. You may also notice that a controller definition that was defined with this option is always at the end of the priority order. It is not possible to change the order of this definition, and new definitions come before this one. This is because it is evaluated last. All the other controller definitions are first evaluated and matched to physical controllers, and then this one is applied to any remaining physical controllers that didn't have a match.

For our example here we'll create a controller definition with three or more disks, another with exactly two disks, and then a final "catch all" definition (match all remaining).

Creating disk groups

Now that we have a few controllers defined we will define some disk groups. Click "Configure" and you are presented with the Configure RAID Controller screen. By default no changes are made to a RAID controller. If you were to define some controllers and forget to define disk groups, any systems the rule matches will be left untouched. This is to error on the side of data preservation. The last thing we want to be doing is deleting important data. So to define new disk groups you must check the box indicating that the existing RAID configuration of any matching controllers will be overwritten. You may wonder why anyone would want to leave this unchecked. As I will cover later, in order for a rule to apply to a system, each controller on the system must have a matching controller definition. Even if you don't want a particular controller configured, it still must have a match. This way you can define a controller, but specify that it not be touched.

We'll check the box to overwrite the configuration and create some disk groups. By default a disk group already exists with the RAID type of NO RAID. I'll get into RAID types shortly.

You can choose to either remove the default group, or just change the RAID type assigned to it. We'll delete it and create some new disk groups.

Now we'll click "Add group" and we get the Disk Group Properties screen. Here you can select the number of disks you want to include in the group, and the RAID type to assign to the group. The grayed out values are invalid for the number of disks selected. Below you'll find a table with a listing of the RAID types along with the valid number of disks for each. For this example we'll select exactly three disks, and assign RAID-5.

When I click OK the new RAID group appears. You'll also notice that another RAID group appeared for zero or more disks. Since three or more disks were set for this controller definition, and only three disks were used in the disk group, the "or more" part still needs to be covered.

You can't remove this group but you can set its RAID type. Click "Properties" and you'll get the Disk Group Properties screen again. We'll set it to hotspare, so any disks beyond three on this controller will be set as a hotspare.

Click OK, then OK again and we're back to the RAID Configuration Rule screen. Now we'll configure the second controller definition. Select the second controller and click configure. We'll click the check box, and then select the default disk group. This time we will set it to RAID-1 and click OK until we get back to the RAID Configuration Rule screen.

Finally, we'll configure the catch all controller definition. We'll select the third controller definition and click configure. You'll notice that we can't remove the default disk group, we can only edit its properties. Click "Properties" and you'll notice there are a lot less options, the only valid ones being DYNAMIC and NO RAID. Those are the only two valid options because at this point we don't know how many disks are on the physcial controller, so NO RAID or DYNAMIC are the only ones guaranteed to work. We'll choose dynamic, which means a specialized script for configuring RAID dynamically will be used at run-time. For information on how to customize this script see my Juice article: "How to customize the behavior of the dynamic RAID type in the Job Builder"

Now click OK and return to the main Configure RAID task screen. The newly created rule will appear at the top of the list. At this point we could proceed and finish building the job, or add more rules to cover more configuration scenarios.

RAID types

RAID typeNumber of disks requiredNotes
01 or more up to about 32 (depends on controller)
1exactly 2
53 or more up to about 32 (depends on controller)
104 or more, but must be an even number up to about 16 (depends on controller)
506 or more, but must be an even number up to about 98 (depends on controller)
DYNAMICVariable0 disks: NO RAID, 1 disk: RAID-0, 2 disks: RAID-1, 3+ disks: RAID5 (can be customized)
HOTSPAREAt least 1Can't be the first disk group on a controller, hotspares are global only, they are not assigned to any particular virtual disk
NO RAIDVariableDeletes the existing RAID configuration, but doesn't configure anything new

Like an annoying mini-series I'm going to save the in depth explanations of physical and priority modes for part 2 of this article. Stay tuned...

Statistics
0 Favorited
0 Views
0 Files
0 Shares
0 Downloads

Tags and Keywords

Related Entries and Links

No Related Resource entered.