Depuis quelques mois, Online.net permet de personnaliser certaines Dedibox en ajoutant un ou plusieurs disques internes, SATA, SAS15K et même SSD, aux serveurs couverts par un support Business. Chez Sysnove, nous en avons profité pour étendre les capacités de notre cluster de virtualisation, en ajoutant 1To de SSD sur chaque nœud.

Et là, c'est le drame. Vous venez de dépenser des centaines voire des milliers d'euros pour ajouter des disques, mais le serveur ne voit les pas ! Dans cet article, nous allons voir comment ajouter un disque sur une Dedibox, à chaud !

Il est bien entendu que cet article présente une opération à cœur ouvert. Nous ne pourrons en aucun cas être tenus responsable si vous tentez ces opérations et que quoique ce soit se passe mal.

Une histoire de RAID

Le problème ici, c'est la carte RAID. Oui, le disque a bien été branché à chaud sur le serveur par les techniciens de Online. Oui, le serveur le voit, mais seulement la carte RAID, pas votre système d'exploitation. Pour preuve, si vous ouvrez l'iDRAC du serveur et que vous allez dans le menu stockage, vous verrez votre nouveau disque marqué « étranger ». Donc ce que l'on cherche, c'est comment configurer le RAID, pour lui dire de présenter le disque en « NO RAID » (c'est à dire en RAID 0 ne contenant que le nouveau disque).

Le premier réflexe, c'est de chercher dans la console Online comment ajouter ce disque. Et c'est possible, il suffit d'aller sur le serveur, puis dans le menu de configuration du RAID, d'ajouter le disque sur nouvel Array en mode NO RAID, et de confirmer avec le bouton rouge « Effacer toutes mes données et procéder au changement de niveau RAID ». Mais aussi attrayant que puisse être un gros bouton rouge, formater complètement le serveur, c'était pas le plan du jour.

Le deuxième réflexe, c'est d'aller dans l'iDRAC. Mais vous n'y trouverez rien à configurer, seulement des informations à consulter.

Et c'est à ce moment que vous devriez tomber sur la documentation Online.net. Vous retrouvez un peu d'espoir, il n'y a plus besoin de tout réinstaller mais juste de redémarrer le serveur, de l'opérer, et de le relancer. C'est mieux, mais ça implique tout de même une interruption de plusieurs minutes.

Mais c'est pas vrai ! À quoi ça sert d'avoir du hardware hotplug si on ne peut pas en profiter !

Les outils Dell

Ce que la documentation Online.net ne vous dit pas, c'est qu'il y a une autre solution pour configurer la carte RAID. Il s'agit de Dell OpenManage, un outil qui va vous permettre de parler à l'iDRAC et à la carte RAID depuis le système d'exploitation du serveur.

L'installation est assez simple et plus ou moins documentée sur la documentation de dell. En résumé, si vous êtes sur Debian (wheezy ou jessie, c'est le même dépôt) :

# Wheezy et Jessie, utilisez quand même le dépôt wheezy. Et, oui, le dépôt s'appelle ubuntu…
echo 'deb http://linux.dell.com/repo/community/ubuntu wheezy openmanage' | sudo tee -a /etc/apt/sources.list.d/linux.dell.com.sources.list
gpg --keyserver pool.sks-keyservers.net --recv-key 1285491434D8786F
gpg -a --export 1285491434D8786F | sudo apt-key add -
sudo apt-get update
sudo apt-get install srvadmin-all
sudo service dataeng start

Une fois installés, ces outils se trouvent dans /opt/dell/srvadmin. Il faut le savoir, parce que quand vous suivez la doc vous pouvez passer un moment à chercher pourquoi vous n'avez pas ces foutues commandes omreport, omconfig et omhelp

Configurer la carte RAID

Vous pouvez maintenant discuter avec le matériel, comme l'iDRAC ou, ce qui nous intéresse ici, la carte RAID. Par exemple, on peut récupérer la liste des disques physiques (pdisk) :

# /opt/dell/srvadmin/bin/omreport storage pdisk controller=0

List of Physical Disks on Controller PERC H710 Mini (Embedded)

Controller PERC H710 Mini (Embedded)
ID                              : 0:1:0
Status                          : Non-Critical
Name                            : Physical Disk 0:1:0
State                           : Online
Power Status                    : Not Applicable
Bus Protocol                    : SATA
Media                           : SSD
Part of Cache Pool              : Not Applicable
Remaining Rated Write Endurance : Not Applicable
Failure Predicted               : No
Revision                        : EMT01B6Q
Driver Version                  : Not Applicable
Model Number                    : Not Applicable
T10 PI Capable                  : No
Certified                       : No
Encryption Capable              : Yes
Encrypted                       : No
Progress                        : Not Applicable
Mirror Set ID                   : Not Applicable
Capacity                        : 465.25 GB (499558383616 bytes)
Used RAID Disk Space            : 465.25 GB (499558383616 bytes)
Available RAID Disk Space       : 0.00 GB (0 bytes)
Hot Spare                       : No
Vendor ID                       : 
Product ID                      : Samsung SSD 850 EVO 500GB
Serial No.                      : S21JNSAG184185T
Part Number                     : Not Available
Negotiated Speed                : 6.00 Gbps
Capable Speed                   : 6.00 Gbps
PCIe Maximum Link Width         : Not Applicable
PCIe Negotiated Link Width      : Not Applicable
Sector Size                     : 512B
Device Write Cache              : Not Applicable
Manufacture Day                 : Not Available
Manufacture Week                : Not Available
Manufacture Year                : Not Available
SAS Address                     : 4433221104000000

ID                              : 0:1:1
Status                          : Non-Critical
Name                            : Physical Disk 0:1:1
State                           : Online
Power Status                    : Not Applicable
Bus Protocol                    : SATA
Media                           : SSD
Part of Cache Pool              : Not Applicable
Remaining Rated Write Endurance : Not Applicable
Failure Predicted               : No
Revision                        : EMT01B6Q
Driver Version                  : Not Applicable
Model Number                    : Not Applicable
T10 PI Capable                  : No
Certified                       : No
Encryption Capable              : Yes
Encrypted                       : No
Progress                        : Not Applicable
Mirror Set ID                   : Not Applicable
Capacity                        : 465.25 GB (499558383616 bytes)
Used RAID Disk Space            : 465.25 GB (499558383616 bytes)
Available RAID Disk Space       : 0.00 GB (0 bytes)
Hot Spare                       : No
Vendor ID                       : 
Product ID                      : Samsung SSD 850 EVO 500GB
Serial No.                      : S21JNSAG184473J
Part Number                     : Not Available
Negotiated Speed                : 6.00 Gbps
Capable Speed                   : 6.00 Gbps
PCIe Maximum Link Width         : Not Applicable
PCIe Negotiated Link Width      : Not Applicable
Sector Size                     : 512B
Device Write Cache              : Not Applicable
Manufacture Day                 : Not Available
Manufacture Week                : Not Available
Manufacture Year                : Not Available
SAS Address                     : 4433221105000000

ID                              : 0:1:2
Status                          : Non-Critical
Name                            : Physical Disk 0:1:2
State                           : Foreign
Power Status                    : Not Applicable
Bus Protocol                    : SATA
Media                           : SSD
Part of Cache Pool              : Not Applicable
Remaining Rated Write Endurance : Not Applicable
Failure Predicted               : No
Revision                        : EXT0303Q
Driver Version                  : Not Applicable
Model Number                    : Not Applicable
T10 PI Capable                  : No
Certified                       : No
Encryption Capable              : No
Encrypted                       : Not Applicable
Progress                        : Not Applicable
Mirror Set ID                   : Not Applicable
Capacity                        : 893.75 GB (959656755200 bytes)
Used RAID Disk Space            : 0.00 GB (0 bytes)
Available RAID Disk Space       : 893.75 GB (959656755200 bytes)
Hot Spare                       : No
Vendor ID                       : 
Product ID                      : SAMSUNG MZ7GE960HMHP-00003
Serial No.                      : S1M7NWAG401190
Part Number                     : Not Available
Negotiated Speed                : 6.00 Gbps
Capable Speed                   : 6.00 Gbps
PCIe Maximum Link Width         : Not Applicable
PCIe Negotiated Link Width      : Not Applicable
Sector Size                     : 512B
Device Write Cache              : Not Applicable
Manufacture Day                 : Not Available
Manufacture Week                : Not Available
Manufacture Year                : Not Available
SAS Address                     : 4433221106000000

Et on retrouve exactement ce que l'on a dans le menu storage de iDRAC, c'est à dire deux disques « Online » (présentés au serveur par la carte RAID), et un disque « Foreign », celui qui vient d'être ajouté.

# /opt/dell/srvadmin/bin/omreport storage vdisk controller=0

List of Virtual Disks on Controller PERC H710 Mini (Embedded)

Controller PERC H710 Mini (Embedded)
ID                                : 0
Status                            : Ok
Name                              : Virtual Disk 0
State                             : Ready
Hot Spare Policy violated         : Not Applicable
Encrypted                         : No
Layout                            : RAID-0
Size                              : 465.25 GB (499558383616 bytes)
T10 Protection Information Status : No
Associated Fluid Cache State      : Not Applicable
Device Name                       : /dev/sda
Bus Protocol                      : SATA
Media                             : SSD
Read Policy                       : Adaptive Read Ahead
Write Policy                      : Write Back
Cache Policy                      : Not Applicable
Stripe Element Size               : 64 KB
Disk Cache Policy                 : Enabled

ID                                : 1
Status                            : Ok
Name                              : Virtual Disk 1
State                             : Ready
Hot Spare Policy violated         : Not Applicable
Encrypted                         : No
Layout                            : RAID-0
Size                              : 465.25 GB (499558383616 bytes)
T10 Protection Information Status : No
Associated Fluid Cache State      : Not Applicable
Device Name                       : /dev/sdb
Bus Protocol                      : SATA
Media                             : SSD
Read Policy                       : Adaptive Read Ahead
Write Policy                      : Write Back
Cache Policy                      : Not Applicable
Stripe Element Size               : 64 KB
Disk Cache Policy                 : Enabled

Et on retrouve ici les deux premiers disques, montés par la carte RAID dans deux disques virtuals (vdisk), chacun en RAID 0. Reste donc à faire de même pour le nouveau disque.

Avant tout, il faut lui enlever cet état « Foreign ».

# /opt/dell/srvadmin/bin/omconfig storage controller controller=0 action=clearforeignconfig
Command successful!

# /opt/dell/srvadmin/bin/omreport storage pdisk controller=0 pdisk=0:1:2 | grep -B3 State
ID                              : 0:1:2
Status                          : Non-Critical
Name                            : Physical Disk 0:1:2
State                           : Ready

Puis on crée le nouveau vdisk de type RAID 0 et contenant le nouveau pdisk (0:1:2 chez moi, mais faites très attention à utiliser le bon ID !).

# /opt/dell/srvadmin/bin/omconfig storage controller controller=0 action=createvdisk raid=r0 size=max pdisk=0:1:2
Command successful!

# /opt/dell/srvadmin/bin/omreport storage pdisk controller=0 | grep -A3 ^ID
ID                              : 0:1:0
Status                          : Non-Critical
Name                            : Physical Disk 0:1:0
State                           : Online
--
ID                              : 0:1:1
Status                          : Non-Critical
Name                            : Physical Disk 0:1:1
State                           : Online
--
ID                              : 0:1:2
Status                          : Non-Critical
Name                            : Physical Disk 0:1:2
State                           : Online

# /opt/dell/srvadmin/bin/omreport storage vdisk controller=0
List of Virtual Disks on Controller PERC H710 Mini (Embedded)

Controller PERC H710 Mini (Embedded)
ID                                : 0
Status                            : Ok
Name                              : Virtual Disk 0
State                             : Ready
Hot Spare Policy violated         : Not Applicable
Encrypted                         : No
Layout                            : RAID-0
Size                              : 465.25 GB (499558383616 bytes)
T10 Protection Information Status : No
Associated Fluid Cache State      : Not Applicable
Device Name                       : /dev/sda
Bus Protocol                      : SATA
Media                             : SSD
Read Policy                       : Adaptive Read Ahead
Write Policy                      : Write Back
Cache Policy                      : Not Applicable
Stripe Element Size               : 64 KB
Disk Cache Policy                 : Enabled

ID                                : 1
Status                            : Ok
Name                              : Virtual Disk 1
State                             : Ready
Hot Spare Policy violated         : Not Applicable
Encrypted                         : No
Layout                            : RAID-0
Size                              : 465.25 GB (499558383616 bytes)
T10 Protection Information Status : No
Associated Fluid Cache State      : Not Applicable
Device Name                       : /dev/sdb
Bus Protocol                      : SATA
Media                             : SSD
Read Policy                       : Adaptive Read Ahead
Write Policy                      : Write Back
Cache Policy                      : Not Applicable
Stripe Element Size               : 64 KB
Disk Cache Policy                 : Enabled

ID                                : 2
Status                            : Ok
Name                              : Virtual Disk 2
State                             : Ready
Hot Spare Policy violated         : Not Applicable
Encrypted                         : No
Layout                            : RAID-0
Size                              : 893.75 GB (959656755200 bytes)
T10 Protection Information Status : No
Associated Fluid Cache State      : Not Applicable
Device Name                       : /dev/sdc
Bus Protocol                      : SATA
Media                             : SSD
Read Policy                       : Adaptive Read Ahead
Write Policy                      : Write Back
Cache Policy                      : Not Applicable
Stripe Element Size               : 64 KB
Disk Cache Policy                 : Enabled

Plus qu'à vérifier :

# ls /dev/sdc
/dev/sdc

Et voilà !

Aller plus loin ?

Alors bien sûr, cet article se limite au cas simple où on ajoute un disque physique en « NO RAID » (c'est à dire tout seul dans un vdisk dédié en RAID 0). Nous n'avons pas tenté plus compliqué, comme l'ajout d'un disque dans un RAID 0 voire 5 déjà existant, ou encore la création d'un RAID 5 à partir d'un RAID 1. Mais a priori, omreport et omconfig permettent de faire beaucoup de choses.

À propos de l'auteur



Guillaume est l'un des deux fondateurs et cogérants de Sysnove. Développeur Python et administrateur système passionné de logiciel libre et des technologies liées à Internet, il participe à divers projets, notamment le fournisseur d'accès Internet Aquilenet ainsi que la Fédération FDN.

Chez Sysnove, son rôle consiste à mettre en place et administrer les infrastructures nécessaires à l'hébergement des services fournis aux clients. En tant que directeur général, il gère aussi les aspects administratifs de l'entreprise.