How-to : Create a RAID array using omconfig / omreport CLI

dell

Introduction

This how-to will guide you through the creation of a RAID array, using only omreport and omconfig command line utilities.

In this post I will be creating a RAID5 array based on 4 Hdd’s on a R620 chassis, connected to a Dell PowerVault MD1200 storage array through a PERC H810 controller. This server also have a PERC H310 Mini controller for internal Hdd’s.

 

Master plan

Here is the master plan that should help you to best understand the process as a whole.

  1. Finding the controller number & ID
  2. Finding the physical Hdd’s number & ID
  3. Checking (and correcting) the Hdd’s state
  4. Creating the RAID array
  5. Checking the newly created array
  6. Have a drink !

 

 

1) Finding the controller number & ID

Remember my server has 2 controllers, a PERC H310 Mini for internal storage and a PERC H810 for external storage (connected to a MD1200), I want to create a RAID 5 array on my external MD1200 storage array, first mission is then to accordingly identify which controller is the H810.

The following command should give you a clear view of how many and what controllers you have on your server :

[root@server ~]# omreport storage controller |grep -A3 "^ID"
ID : 0
Status : Ok
Name : PERC H310 Mini
Slot ID : Embedded
--
ID : 1
Status : Ok
Name : PERC H810 Adapter
Slot ID : PCI Slot 1

The PERC H810 controller has the ID #1, this is the ID number we will be using for the whole process.

Note : Be careful here because wrong ID means wrong Hdd and also means losing all your data !

 

 

2) Finding the physical Hdd’s number & ID

Let’s now find the Hdd’s physical addresses to be used by the RAID array creation.

[root@server ~]# omreport storage pdisk controller=1 |grep -Ew "^ID"
ID : 0:0:0
ID : 0:0:1
ID : 0:0:2
ID : 0:0:3

These are the pdisk attached to the H810 controller (ID : 1), the ones we are going to use for the vdisk (RAID array) creation.

 

 

3) Checking (and correcting) the Hdd’s state

Before starting the effective creation of the RAID array, we must ensure the Hdd’s are in a correct state, by correct I mean not in a “Foreign state” for example, or in any state other than “Ready”. Check the example in this section to see what could be a “not-correct” Hdd state that would prevent us from creating the array.

 

3.1 Wrong Hdd state and the corresponding error

Here is an example of a Hdd state that would prevent us to create an array.

[root@server ~]# omreport storage pdisk controller=1 |grep "^State"
State : Foreign
State : Foreign
State : Foreign
State : Foreign

Let’s see what happens if we do launch the array creation command :

[root@server ~]# omconfig storage controller controller=1 action=createvdisk raid=r5 size=max pdisk=0:0:0,0:0:1,0:0:2,0:0:3 name=seances
The virtual disk cannot be created on the physical disks you selected. Possible reasons include: Insufficient disk space, available disks are not initialized, incorrect number of disks selected, unsupported mix of SAS and SATA type disks, unsupported mix of SSD and HDD type disks, unsupported mix of 512Bytes and 4KBytes sector size disks, unsupported mix of PI capable and incapable type disks, controller restrictions or unsupported configuration.

 

 

3.2 Correcting the Hdd state

As seen above the Hdd’s are in a “Foreign” state, the next command will get the Hdd’s back in a “Ready” state (which, basically, clear the actual RAID config contains by the Hdd’s. Check this page for more information about Hdd’s state).

[root@server ~]# omconfig storage controller controller=1 action=clearforeignconfig
Command successful!

A quick check of the current Hdd’s state :

[root@server ~]# omreport storage pdisk controller=1 |grep "^State"
State : Ready
State : Ready
State : Ready
State : Ready

All disks are now “Ready”, we can now start the array creation…

 

 

4) Creating the RAID array

As we now have everything in order, we may create the RAID array, the next command will do that for us…

[root@server ~]# omconfig storage controller controller=1 action=createvdisk raid=r5 size=max pdisk=0:0:0,0:0:1,0:0:2,0:0:3 name=seances
Command successful!

Here is some information about the different parameters used in the above line :

raid=r5

This is the RAID level, RAID5 here.

size=max

This is the size one want the vdisk (RAID array in the Dell terminology) to be.

pdisk=0:0:0,0:0:1,0:0:2,0:0:3

These are the physical drives (pdisk) of the RAID array, 4 drives in this case.

name=seances

The vdisk (RAID array) name, this is an optional parameter.

 

4.1 Additional information

You will find here an excerpt of the above command help that explain the possible (required and optional) parameters and their meaning.

  • Required parameters
    1. controller=<id>

      Specify the controller id here, should be a numerical id.

    2. raid=<raid_level>

      The RAID level is given here.
      – Possible values are :
      c | r0 | r1 | r1c | r5 | r10 | r50 | r6 | r60
      Value like “r” are for RAID level, the “c” value stands for “concatenated” and is now useless, please check this Open Manage manual for more info.

    3. size=<size>

      This is the desired size for the vdisk.
      You may want to use the whole available space or just a part of it when creating a RAID array.
      – Possible values are :
      <number><b | m | g> | <max | min>
      Where :
      <number><b|m|g> = Use this specification to indicate a specific size for the virtual disk. The virtual disk size may be specified in b (bytes), m (megabytes), or g (gigabytes). For example, size=500m indicates that the virtual disk should be 500 MB.
      max = To create a virtual disk that is the maximum size possible, specify size=max. When creating a RAID-50 virtual disk, this parameter must be specified as size=max.
      min = To create a virtual disk that is the minimum size possible, specify size=min

    4. pdisk=<PDISKID,PDISKID,.....>

      Use this parameter to specify the physical disks to be included in the virtual disk.
      The physical disk specification applies to physical disks in the original virtual disk and will continue to be in the reconfigured virtual disk and to any new physical disks being added to the reconfigured virtual disk. Some controllers allow you to remove a physical disk from a virtual disk. In this case, do not specify the physical disk to be removed.

  •  Optional parameters are:
    Feel free to ask if you need more information about the optional parameters.

    stripesize=< 2kb | 4kb | 8kb | 16kb | 32kb | 64kb | 128kb | 256kb | 512kb | 1mb> 
    cachepolicy=<d | c>
    readpolicy=<ra | nra | ara | rc | nrc>
    writepolicy=<wb | wt | wc | nwc |fwb>
    diskcachepolicy=<disabled | enabled>
    name=<string>
    spanlength=<n>
    secureflag=yes
    vdpienabled=yes

 

5) Checking the newly created array

We may now check the state of the new array to ensure everything went smooth and we may use it as expected (we still have to create a filesystem on top of it and add some files and dirs …)

 

[root@server ~]# omreport storage vdisk controller=1

Virtual Disk 0 on Controller PERC H810 Adapter (Slot 1)

Controller PERC H810 Adapter (Slot 1)
ID : 0
Status : Ok
Name : seances
State : Ready
Hot Spare Policy violated : Not Assigned
Encrypted : No
Layout : RAID-5
Size : 5,587.50 GB (5999532441600 bytes)
T10 Protection Information Status : No
Associated Fluid Cache State : Not Applicable
Device Name : /dev/sdb
Bus Protocol : SAS
Media : HDD
Read Policy : Adaptive Read Ahead
Write Policy : Write Back
Cache Policy : Not Applicable
Stripe Element Size : 64 KB
Disk Cache Policy : Disabled

 

As we can see in the above excerpt, everything is OK on our newly created RAID5 array, we now have to create the desired filesystem on top of it and use it !

Resources

 

More “Sysadmin” posts

8 thoughts on “How-to : Create a RAID array using omconfig / omreport CLI

  1. Joseph

    Bonjour,

    j’ai bien créé le RAID mais je n’arrive pas à booter sur ce RAID après :
    omconfig chassis biossetup attribute=HddSeq sequence=RAID.Integrated.1-1
    Error! The specified device name(s) are not valid. See command help for valid device name(s).

    Dans le help :
    attribute=HddSeq sequence=

    Est-ce qu’il y a un moyen de refresh sans devoir rebooter la machine ?

    1. Pier Post author

      Bonjour,

      Es-tu certain de l’alias que tu fourni en argument (RAID.Integrated.1-1) au paramètre “sequence”, l’idéal serait de lister les alias possibles pour ce paramètre, une commande dans le genre de :
      omreport chassis biossetup attribute=bootorder
      fournira quelques indices sur la syntaxe des alias…

      Comment as-tu trouvé le tien ?

      L’autre cause pourrait être que l’initialisation de la pile RAID ne soit pas terminée, à contrôler via :
      omreport storage vdisk controller=1

      A mon avis le refresh n’est pas un problème, le contrôleur rend la nouvelle pile RAID visible instantanément, au moins au niveau matériel / carte mère (peut-être pas pour l’OS), il faut donc plutôt chercher côté alias (le nom de la pile RAID donné en argument au paramétrage sequence…)

      je n’ai plus d’openmanage sous la main je ne suis donc plus aussi réactif et pertinent dans mes réponses, mais je vais essayer d’en installer un rapidement !

  2. Richard

    Bonjour Pier,
    SAS
    Merci pour la rapidité de ta réponse.
    Pour la version, il s’agit de la 7.4.0-1. Sinon, il semble que ce soit l’option elle-même qui pose problème car j’obtiens la même réponse :

    root@bourdon:/# /opt/dell/srvadmin/bin/omconfig storage controller action=
    Error! Unrecognized parameter: action=

    En attendant de trouver la solution j’ai contourné le pb en créant le raid via l’utilitaire de configuration du contrôleur (ctrl-R au démarrage du serveur). Je vais ensuite tester les commandes que tu proposes dans tes deux articles consacrés à l’extension du raid et au remplacement de disque endommagé.
    Bien cordialement,
    Richard

    1. Pier Post author

      Re-bonjour Richard,

      J’ai juste vérifié sur le openmanage command guide (http://downloads.dell.com/Manuals/all-products/esuprt_software/esuprt_ent_sys_mgmt/esuprt_ent_sys_mgmt_opnmng_svr_admin/dell-opnmang-srvr-admin-v7.4_Reference%20Guide_fr-fr.pdf) que l’option createvdisk existait toujours ! au cas ou …
      C’est bien le cas, et voici l’exemple (tronqué pour éviter les options non obligatoire et simplement valider la syntaxe de ta commande) donné dans ledit pdf :

      omconfig storage controller action=createvdisk controller=1 raid=r5 size=500m pdisk=0:0,0:1,0:2,0:3

      Tu peux essayer de coller cette commande sur ton serveur juste pour voir si il bloque sur le createvdisk aussi, ou bien sur le controllerID ou le PDISKID comme on pourrait s’y attendre…

      1. Richard

        Re-bonjour Pier,

        Je ne lis ta réponse qu’aujourd’hui car en congés la semaine dernière j’ai pris un peu de distance avec OpenManage ! J’avais déjà parcouru le guide pour faire cette vérfication et constaté avec beaucoup de regrets que l’option et son paramètre existent toujours ;-). Ca commence à devenir problématique car je rencontre la même erreur sur d’autres commandes comme par exemple sur la configuration d’un disque supplémentaire en spare (action=action=assigndedicatedhotspare). J’ai des missions plus urgentes, j’abandonne… pour l’instant.

        Un grand merci pour ton aide et ta réactivité.

        Richard

      2. Pier Post author

        OK, je vais essayer d’installer un openmanage ququ part à mon nouveau taff … Car ce problème m’intrigue :)

  3. Richard

    Bonjour,

    J’ai lu ton article avec beaucoup d’intérêt. En reproduisant les différentes étapes sur un PowerEdge T620 (Debian Wheezy sur 2x300Go en raid1 + 5 disques de 3 To chacun) je rencontre un pb sur la commande de création du raid5 :

    root@bourdon:/# /opt/dell/srvadmin/bin/omconfig storage controller action=createvdisk controller=0 raid=r5 size=max pdisk=0:1:2,0:1:3,0:1:4,0:1:5,0:1:6 name=data
    Error! Unrecognized parameter: action=createvdisk

    Mes recherches internet sur le message d’erreur n’ont absolument rien donné. Si tu as une idée…
    Merci d’avance pour ton aide,
    Richard

    1. Pier Post author

      Bonjour Richard,

      Je n’ai plus accès à des serveurs Dell AVEC openmange installé (nouveau travail), donc je ne suis pas vraiment capable de debugger ça facilement, néanmoins, il me semble qu’en entrant la commande avec un argument vide pour l’option action, telle que :
      root@bourdon:/# /opt/dell/srvadmin/bin/omconfig storage controller action=
      Tu aura accès aux arguments valables pour cette option, cela pourra te donner un indice.
      D’autre part si tu peux me donner la version d’openmanage que tu utilises cela m’aidera à t’aider sur ce problème….

      Si jamais tu repasses par ici dis moi ou tu en es :)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site supports SyntaxHighlighter via WP SyntaxHighlighter. It can highlight your code.
How to highlight your code: Paste your code in the comment form, select it and then click the language link button below. This will wrap your code in a <pre> tag and format it when submitted.