Identifier RAID5 ou RAID4

Bonjour,
On a un serveur HP Proliant DL380 G7, sous DEB8 et 4 HDD de 300Go chacun. On m’a dit que les HDD étaient montés en RAID5. Il n’y a pas de mdadm installé sur le serveur ce qui me fait penser que le RAID a été créé lors de l’installation de l’OS.

Le jour où je me suis rendu physiquement au serveur, j’ai remarqué de la LED de l’un des disques clignotait à un rythme différent des 3 autres qui clignotaient de façon synchrones. Sachant que la console retourne bien un espace de 900Go utiles sur 1.2To, il y a bien 300Go utilisés pour la parité. Seulement, je suis en toute légitimité de penser que:

1- Il y a effectivement un RAID5 et le HDD qui clignote à un rythme différent est défectueux, et donc à remplacer de toute urgence.
2- Il y a un RAID4 et le HDD qui clignote à un rythme différent et dédié à la parité.

Ma question et la suivante, comment peut-on via la console, savoir s’il s’agit d’un RAID5 ou un RAID4, pour savoir ce que je dois faire.

Merci.

Est-ce du RAID matériel (du vrai, pas du fakeRAID) ou logiciel ?

Si c’est du RAID matériel, le contrôleur RAID ne laisse voir que les ensembles RAID logiques (avec des noms de périphériques parfois assez exotiques) et pas les disques physiques (avec des noms de périphériques classiques /dev/sd*). Pour voir le niveau de RAID il faut alors passer par un utilitaire spécifique au type de contrôleur RAID (cf. cciss-vol-status etcpqarrayd pour HP SmartArray) ou par le BIOS du contrôleur RAID. Selon le pilote RAID, il se peut que des informations soient disponibles dans les logs du noyau, dans /proc ou /sys.

Si c’est du RAID logiciel créé avec mdadm, les disques physiques /dev/sd* seront visibles et le niveau et l’état des ensembles RAID sera visible dans /proc/mdstat. Mais normalement dans ce cas mdadm devrait être présent.

Si c’est du fakeRAID, qui est en fait du RAID logiciel géré par le BIOS et par dm-raid, les disques physiques sont aussi visibles mais l’ensemble RAID n’est pas visible dans /proc/mdstat. Jamais utilisé, je ne sais pas comment ça marche.

2 J'aime

Bonjour, merci pour votre réponse. Je ne peux être sûr de quel type de RAID il s’agit, en tout cas, les noms sont bien /dev/sda(x)

Voici le résultats de quelques commandes:

Imgur

Il aurait été préférable de copier-coller le contenu de la console en texte brut au lieu de faire une copie d’écran difficile à lire.

Si le système ne voit qu’une seul “disque” /dev/sda de 900 Go, il ne peut s’agir que de l’ensemble RAID logique et non d’un disque physique et donc c’est du RAID matériel, auquel je ne connais rien. La commande lspci -k permettra d’identifier le contrôleur RAID et son pilote. Une recherche dans les logs du noyau avec le nom de pilote ou sda apportera peut-être des informations.

1 J'aime

Les serveurs Proliant sont équipés de contrôleurs de disques conçus par HP appelés “Smart Array”. Ils font du RAID matériel qui a été configuré au tout premier démarrage de la machine fraîchement assemblée.
En effet, le contrôleur Smart Array présente à l’OS des périphériques logiques ( /dev/sda /dev/sdb … ) qui correspondent chacun à 1 ou plusieurs disques physiques. Le pilote noyau pour ces périphériques s’appelle hpsa( et cciss pour des anciens systèmes ), c’est un module standard du noyau (Debian, RedHat Suse … )
Pour afficher la configuration des disques gérés par le contrôleur intégré au Peoliant, HP fournissait un utilitaire nommé hpacucli. Puis, la dénomination du service qui gère les serveurs s’est appelée Hewlett Packard Enterprise. Les logiciels fournis par Hewlett Packard Enterprise sont pour Redhat Entreprise et SLES. Ils se trouvent dans le HPE Software Delivery Repository
Vous pourriez imaginer que pour votre DL380G7 le dépôt spp-g7 serait adéquat. Mais si vous explorez un peu vous trouvez Debian.ReadMe qui vous annonce no Service Pack for ProLiant [SPP] si vous êtes un gueux qui n’utilise pas une distribution commerciale (RHEL, SLES ). Cependant dans sa grande bonté Hewlett Packard Enterprise met à disposition un dépôt nommé mcp Management Component Pack

Si vous voulez installer ce dépôt mcp, vous pouvez utiliser le script add_repo.sh sous la forme

chmod +x add_repo.sh
sudo ./add_repo.sh mcp

ce qui va vous créer le fichier /etc/apt/sources.list.d/HPE-mcp.list après vous avoir présenté un EULA.txt d’une dizaine d’items mais sans installer la clé qui a servi pour signer les paquets, ce qui rend ce dépôt inutilisable en l’état.
Pour installer la clé

#  d'après https://downloads.linux.hpe.com/SDR/keys.html
curl http://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub > hpe_key1.pub
sudo apt-key  add hpe_key1.pub 

Si vous vous amusez à installer la clé trouvée dans le dépôt mcp GPG-KEY.mcp cela ne fonctionne pas.
Une fois cela fait, vous pouvez installer le paquet ssacli par exemple

sudo apt update
sudo apt install ssacli

J’ai rarement vu un paquet aussi mal fait

  • pas d’indication de taille dans aptitude show ssacli
  • man ssacli renvoie à /opt/smartstorageadmin/ssacli/bin/ssacli-VERSION.PLATFORM.txt
    et les fichiers du répertoire bin ne peuvent être lus que par root (sauf ssacli.license)
  • description on ne peut plus sommaire dans les méta-données du paquet, alors qu’une description beaucoup plus complète existe dans /usr/share/smartupdate/ssacli/component.xml
  • des références à hpssacli dans les scripts (pre|post)(inst|rm)

bref, la configuration devrait apparaître avec

sudo ssacli ctrl all show config detail

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

2 J'aime

Merci pour votre réponse complète, j’ai suivi vos instructions, il fallait la trouver cette procédure, pas évident.

Résultat (je ne vais pas tout mettre):

Smart Array P410i in Slot 0 (Embedded)
Controller Status: OK
 Physical Drives
  physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS HDD, 300 GB, OK)
  physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS HDD, 300 GB, OK)
  physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS HDD, 300 GB, OK)
  physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS HDD, 300 GB, OK)
Internal Drive Cage at Port 2I, Box 1, OK

  Power Supply Status: Not Redundant
  Drive Bays: 4
  Port: 2I
  Box: 1
  Location: Internal

Physical Drives
None attached

Array: A
Interface Type: SAS
Unused Space: 0 MB (0.0%)
Used Space: 1.1 TB (100.0%)
Status: OK
Array Type: Data
Logical Drive: 1
Size: 838.1 GB
Fault Tolerance: 5
Heads: 255
Sectors Per Track: 32
Cylinders: 65535
Strip Size: 256 KB
Full Stripe Size: 768 KB
Status: OK
Caching: Enabled
Parity Initialization Status: Initialization Failed
Unique Identifier: 600508B1001C1F5D71020EF0F9B6895B
Disk Name: /dev/sda
Mount Points: / 8.4 GB Partition Number 1, /var 2.8 GB Partition Number 5, /tmp 380 MB Partition Number 7, /home 810.6 GB Partition Number 8
OS Status: LOCKED
Logical Drive Label: A1535619500143801752C2006C56
Drive Type: Data
LD Acceleration Method: Controller Cache

Tout les disques ont l’air OK, mais ça ne me dit pas si c’est du RAID5 ou RAID4.
La ligne suivante me laisse perplexe
Parity Initialization Status: Initialization Faile

Cela a l’air d’être du RAID5.

Un bloc d’une taille de 768kB est écrit étalé sur 3 disques successifs (3 blocs de 256kB) et un bloc de parité est écrit sur le quatrième disque.

Un inconvénient de ce genre de contrôleur de disques est l’aspect boîte noire. Par exemple, si vous créez un système de fichiers de type xfs sur une partition, ces paramètres très importants ne sont pas détectés (stripe size) et il faut les préciser

mkfs.xfs -d  sunit=512 ,sw=3

et pas moyen de savoir si le paramétrage est correct.
Je ne sais pas ce qu’il en est pour les systèmes de fichiers de type ext3/ext4.
C’est en fait extrêmement important pour la gestion des petits fichiers et des inodes. Les disques peuvent être soumis à une foule d’opérations seek inutiles et finissent par tomber en panne. Le volume logique /dev/sdX n’est plus présenté à l’OS et la machine ne démarre plus sans intervention manuelle :tired_face:

De plus, il n’y a pas vraiment de documentation et les sorties sont souvent difficiles à interpréter. Je pense que c’est ainsi à dessein de telle sorte que des sociétés de maintenance puissent proposer leurs services.

Redémarrez et battez-vous avec les touches du clavier et les délais pour entrer dans le paramétrage du BIOS et déchiffrer les infos relatives au contrôleur.

En résumé du matos de qualité mais bien fermé et coûteux. Et les revendeurs honnêtes qui insistent pour vendre en plus du matériel une formation à ces systèmes propriétaires cela ne court pas les rues.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

1 J'aime

Merci encore, effectivement j’ai dû me déplacer au serveur car il y avait eu une panne, un fichier de 5Go était entrain d’être d’uploadé dans un répertoire, et tout à coup, la page web ne répondait plus, j’ai pensé à un crash d’apache, mais je n’ai pas pu me connecter au serveur à distance, j’ai fait un teste de ping, aucune réponse.

En me déplaçant, j’ai vu que la machine était allumée, j’ai reboot manuellement mais elle bloquait à la lecture d’une partie d’un disque (/dev/sda5), jusqu’à ce que je m’y connecte en root et que je supprime le répertoire sur lequel le fichier était entrain d’être uploadé. Tout est rentré dans l’ordre. Puis c’est là que je remarque le disque n°03 qui clignotait régulièrement mais désynchronisé des autres.

En résumé c’est du RAID5, possibilité que le disque n°03 rencontre un problème.

Une autre question, pour un prochain serveur Proliant DL380 G8 sous Debian 9, il serait préférable de faire du RAID logiciel? Sachant que pendant l’installation de DEB9, il propose de créer un RAID, est-ce du logiciel?

Si vous achetez un proliant Dl xxx Gy, vous payez d’office pour un serveur équipé d’un vrai RAID matériel possible. Il est toujours possible de définir autant de disques logiques que de disques physiques mais c’est un peu dommage de ne pas profiter de l’électronique intégrée.

Oui (géré par mdadm ). Le flux logique est le suivant
disque(s) physique(s) -> contrôleur Smart Array -> disque(s) logique(s) nommé(s) /dev/sdX -> utilisation par l’OS des périphériques bloc /dev/sdx

Il est toujours possible de réassembler au niveau de l’OS les /dev/sdx comme des périphériques bloc de type RAID soit directement par le RAID logiciel ( md ), soit via LVM au moment de la création du volume logique

lvcreate --type segt_type ....

Mais cela devient difficile de s’y retrouver. Je suggère d’en discuter avec le décideur pressé qui veut acheter du Prliant DL pour qu’il vous paie une formation sur ces ces sujets. Pour piloter un engin à moteur thermique il faut bien un permis de conduire, on ne voit pas pourquoi pour piloter un système avec Samrt Array il ne faudrait pas un minimum de formation.
Pour la gestion des disques sous Linux, vous trouverez une foule de tutoriels et vous pouvez envisager de vous débrouiller ( avec LVM par exemple ), par contre pour un ensemble propriétaire et opaque comme les Smart Array intégré au Proliant il est quasiment impossible de trouver une information fiable librement accessible sur Internet. Et c’est voulu, faut bien faire marcher le commerce.
Une autre possibilité est de partir avec un Linux commercial avec support intégré RHEL ou SLES. Je déconseillerais Süse pour la simple raison que dans cette société ce ne sont pas les techniciens qui font la loi, l’activité Linux a été rachetée par N sociétés (Novell, Net IQ ou Mico Focus ) a tel point qu’un marketeux de Micro Focus ou NetIQ vous envoie un courriel pour vous vanter les mérites de son “Customer Cenetr” qui reprend les données de votre “Suse Customer Center” juste avant que vous ne passiez commande pour l’année en cours ce qui fait une copie non fonctionnelle. Et la personne qui répond à un ticket (enfin à un machin Request) a pour adresse de courriel support@novell.com alors que soi-disant ils ont passé plusieurs années pour avoir tout ce qui concerne SLES sous la bannière @suse.com

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

1 J'aime

Très bien, le G8 est déjà là, il prend la poussière dans son emballage depuis quelques années. On a suivi des tutoriels sur le RAID avec mdadm et LVM pour les partitions, sur une machine virtuelle, histoire de bien apprendre. Je pense que c’est ce qui va être fait le jour où on passera à la vraie pratique sur le G8.

Entre le RAID5 matériel et le RAID5 logiciel, lequel permet une reconstitution d’un disque défectueux en toute simplicité?

C’est bien triste ! Espérons qu’il soit encore sous garantie et que la documentation fournie avec la machine ne soit pas égarée.

A votre avis ? Un disque défectueux c’est bien matériel ? Je suppose que la configuration choisie est équipée de disques de même caractéristiques pour pouvoir les assembler en grappe(s).
Avec le contrôleur Smart Array vous avez tout intégré : la gestion des disques en réserve (spare), du cache (éventuellement avec batterie intégrée pour résister à une coupure de courant ), …

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. »
Antoine de Saint-Exupéry

1 J'aime

Merci pour vos réponses.
Alors si on fait du RAID avec le contrôleur intégré, il n’est plus nécessaire de faire quoi que ce soit sur l’OS, car l’OS verra le résultat du RAID, la grappe entière en tant qu’un seul disque.

Sur la documentation de Smart Array il y a donc tout ce qu’il faut savoir sur comment monter le RAID, d’après ce que j’ai pu trouver sur le net, on accède à l’utilitaire du contrôleur via F10 au démarrage. On devrait s’en sortir.

Merci encore pour toutes vos explications, ça m’a beaucoup aidé, et surtout appris.

Oui et non parfois pour des raisons plus ou moins mystérieuses, les actions de retrait et d’ajouts du(es) disques de spare(s)/ de reconstruction du raid etc … ne sont font pas automatiquement et nécessite une intervention humaine.

N’ayant pas l’accès à mon pense bête du taff et après une rapide recherche voici un lien utiles dans le cas d’un SSACLI :

Sinon selon la carte raid il faudra utiliser plutôt Megasas, Megacli, sas2ircu comme utilitaire.
Tous ces utilitaires nécessite d’être installé sur le système et permettent plus ou moins toutes les opération nécessaires y compris la relève d’informations pour le monitoring.

Il est effectivement possible de vous assurer du type de raid depuis le boot et de son état, mais il est possible de l’identifier autrement (et donc de déceler quel est l’utilitaire nécessaire).
la commande dmesg permettra de l’identifier (et delà procéder à l’installation du bon outil).

En effet sur la multitude de châssis géré par mon entreprise, il arrive qu’un même constructeur utilise de l’adapatec, du lsi voir autre chose encore.

L’avanatage du raid matériel outre le fait de pouvoir automatiser certaines opérations de maintenance permet d’exploiter son propre hardware pour gérer le RAID et soulage ainsi le serveur.
Le gain n’est pas énorme pour de petit serveur avec de petit raid de 4 ou 6 disques mais sur des châssis possédant parfois plus de 24 baies voir pus de 48 baies les gains sont indiscutables (outre le fait de permettre le branchement des disques).

1 J'aime