Puis-je détecter une infromation RAID matérielle depuis Linux?

15

Lorsque je suis à l'intérieur de Linux, je peux obtenir les informations suivantes de lsblk(lecteurs non pertinents supprimés de la sortie):

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda     8:0    0   298G  0 disk 
sdb     8:16   0   2.7T  0 disk

Lorsque je retire manuellement les lecteurs du serveur, je peux dire que j'utilise physiquement les lecteurs suivants:

0  Seagate 320GB
1  Seagate 320GB
2  Hitachi 1TB
3  Hitachi 1TB
4  Hitachi 1TB
5  Hitachi 1TB
6  [empty]
7  [empty]

Parce qu'il y a plus de stockage physique sur le serveur que d'espace disponible sous Linux, cela signifie évidemment que j'utilise une forme de système RAID. Avec un peu de calcul, je peux souvent comprendre quel type de système RAID est utilisé.

Existe-t-il un moyen pour moi de détecter si j'utilise un RAID matériel depuis Linux et de comprendre toutes les informations à ce sujet (comme le type de RAID, les disques disponibles) sans éteindre le serveur, retirer physiquement les disques, et lire leurs étiquettes?

Ces informations peuvent-elles être collectées à l'intérieur de Linux, ou l'intérêt du RAID matériel pour rendre le système sous-jacent "invisible" pour le système d'exploitation?

IQAndreas
la source
Cela dépend entièrement du contrôleur RAID que vous utilisez et de son support sous Linux. Si vous fournissez des informations sur votre contrôleur, vous trouverez peut-être de l'aide ici. Vous pouvez également faire une recherche sur le Web pour les "commandes model # linux" si vous n'obtenez pas les informations dont vous avez besoin ici.
Gene
@Gene C'est dommage. Encore une fois, j'espérais qu'il y avait une solution qui ne nécessite pas de rechercher le numéro de modèle spécifique, mais qui peut être utilisée indépendamment du matériel que vous utilisez.
IQAndreas
Différents matériels font RAID différemment et ont des pilotes différents. Dans de nombreux cas, vous n'avez pas besoin d'éteindre votre système, mais vous devez au moins savoir quel modèle de contrôleur ou de chipset vous avez pour pouvoir trouver des commandes pour interroger le contrôleur à partir du système d'exploitation.
Gene
1
Vous pouvez généralement trouver les informations du contrôleur ou du chipset via dmesg, dmidecode, lspci et d'autres utilitaires similaires. S'il s'agit d'un RAID intégré sur la carte mère, connaître la marque et le modèle de la carte mère vous permettra d'atteindre 99% du chemin.
Gene
1
adds an answer explaining how to figure out which RAID controller is being used from inside of Linux - @IQAndreas mais ce n'est pas la question. Les réponses sur serverfault doivent répondre à la question posée. Si vous avez une question différente, vous devez modifier votre question. Cette question pourrait presque certainement être répondue vous-même par quelques minutes sur Google. Quoi qu'il en soit, la réponse est lshw.
Zoredache

Réponses:

17

La façon d'obtenir les informations RAID dépendra entièrement du contrôleur RAID que vous utilisez. Souvent, les fabricants auront des outils téléchargeables sur leur site Web qui peuvent être utilisés pour interroger le contrôleur RAID et obtenir ces informations.

Afin de trouver le contrôleur RAID que vous utilisez, essayez l'une des commandes suivantes:

lspci

# lspci -knn | grep 'RAID bus controller'
08:00.0 RAID bus controller [0104]: 3ware Inc 9690SA SAS/SATA-II RAID PCIe [13c1:1005] (rev 01)

Ici, les informations que nous recherchons sont "3ware Inc 9690SA SAS / SATA-II RAID PCIe" .

lsscsi

La commande n'est pas disponible sur Debian et Ubuntu, mais un rapide la sudo apt-get install lsscsirécupérera dans les dépôts. Remarque: si vous n'utilisez pas de contrôleur RAID, le fabricant et le numéro de modèle de votre disque dur s'affichent ici à la place.

# lsscsi
[2:0:0:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sda 
[2:0:1:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sdb 

Ici, nous voyons que le fabricant est "AMCC" et le numéro de modèle de la carte RAID est "9690SA-8I" . Une recherche rapide sur Google montre que cette carte est également connue sous le nom de "AMCC 3Ware 9690SA-8I" .

lshw

Une troisième méthode (qui donne pas mal de données de sortie) consiste à utiliser la lshwcommande. Exécutez en lshw -class disktant que root pour afficher uniquement les détails sur les disques durs (qui incluent les informations RAID).

Trouver les outils du contrôleur RAID

Maintenant que nous avons le fabricant et le numéro de modèle, il devrait être possible de trouver les outils sur leur site Web, ou au moins être en mesure de Google des détails sur la façon de trouver et d'utiliser les outils pour ce contrôleur spécifique.

Si le fabricant apparaît dans cette liste, consultez ces réponses pour plus de détails sur la façon d'obtenir les informations RAID pour votre carte:

IQAndreas
la source
5

Exécutez quelque chose comme lspci -knn | grep 'RAID bus controller'.

En utilisant cette sortie, Google (par exemple) pour LSI Logic / Symbios Logic MegaRAID SAS 2208.

Find it utilise l' storcliutilitaire pour interroger le contrôleur RAID.

Téléchargez-le et installez-le.

storcli64 show vous donne le modèle de contrôleur spécifiquement, et l'index du contrôleur, le nombre de groupes de lecteurs et les lecteurs virtuels.

storcli64 /c0/d0 showvous montre le premier contrôleur, le premier groupe de lecteurs. Vous indique les niveaux de raid, y compris l'imbrication.

storcli64 /c0/eall/sall show all vous montre toutes les informations sur tous les disques.

D'autres données de référence pour ces commandes peuvent être trouvées ici:

http://mycusthelp.info/LSI/_cs/AnswerPreview.aspx?sSessionID=&inc=8275

Devrait être tout ce que vous avez à faire. Utilisez simplement l'introspection matérielle normale sous Linux, puis Google, puis téléchargez et installez les utilitaires qui vont avec.

Les suggestions et commentaires de @ Gene sont absolument parfaits.

Cette réponse est entièrement spécifique à la sortie que vous obtenez de la lspcicommande et à la capacité de votre recherche Google d'identifier le fabricant et de saisir l'outil de ligne de commande correct.

Mais cela montre que vous pouvez obtenir tout cela à partir d'un serveur, sur une ligne de commande, sans arrêter la machine, ouvrir le boîtier et tirer les lecteurs, ce qui, je l'espère, est utile.

Kassandry
la source
Étant donné que la réponse à ma question va être spécifique au matériel, j'ai ajouté une réponse wiki communautaire sur la façon de savoir quel contrôleur RAID vous utilisez . Cette réponse renvoie ensuite à des réponses (y compris la vôtre) qui fournissent des détails sur des contrôleurs ou des fabricants spécifiques.
IQAndreas du
Si vous souhaitez mettre à jour le format de votre réponse pour refléter cela, ce serait bien, mais pas strictement nécessaire.
IQAndreas du
2

Ce n'est pas une réponse unique et ne vous donne pas toutes les informations dont vous avez besoin, mais sur un contrôleur RAID matériel Adaptec que nous avons utilisé, il a donné un accès aux disques eux-mêmes via des périphériques spéciaux / dev / sg1 / dev / sg2, etc. Nous pourrions exécuter smartctl -a / dev / sg1 pour obtenir de nombreuses informations sur ce lecteur physique, notamment le fabricant, le numéro de modèle, l'interface, le numéro de série, la taille et d'autres données.

Pour ce qui est de déterminer quel contrôleur est utilisé, je suis d'accord avec le commentaire de Gene sur dmidecode, dmesg et lspci - ce serait à moi d'essayer en premier aussi.

sa289
la source
1

Pour créer un profil de stockage, je ferais ce qui suit avant d'exécuter lspciou de télécharger quoi que ce soit.

# cat /etc/fstab         What partitions get mounted at boot?

# sudo pvs               Are you running LVM? List the physical volumes

# cat /proc/mdstat       List software RAID devices & status

# for D in /dev/sd?; do parted $D print; done
                         If hardware RAID is being used, the "Model" field will list
                         the Mfr. name, otherwise the hard drive Mfr.
au nord
la source
0

3ware

Cela a été testé sur les contrôleurs RAID suivants: 9690SA-8I

Veuillez me faire savoir dans les commentaires si cela a fonctionné pour votre contrôleur spécifique, ou si les instructions doivent être mises à jour pour votre modèle.

Téléchargement

Tout d'abord, vous devez télécharger l'outil tw_cli. Vous pouvez le trouver sur le site Web d'Avago Technologies *:

* Ne vous inquiétez pas, ce n'est pas un site Web tiers; 3ware a été acheté par AMCC, puis revendu par la suite à LSI Corporation, qui a par la suite fait partie d'Avago [ source ]. Pour sauvegarder cela, notez que 3ware.com redirige vers la page pertinente sur avagotech.com .

Tapez tw_clidans la barre de recherche, puis naviguez jusqu'à ce que vous trouviez un téléchargement nommé CLI Linux - from the 10.2.2.1/9.5.5.1 code sets(le dernier numéro de version peut être différent de celui répertorié ici)

Extrayez le fichier zip, et dans le x86ou x86_64vous trouverez le tw_clifichier binaire dont vous avez besoin. Enregistrez ce binaire sur votre serveur ou ordinateur.

Exécuter tw_cli

REMARQUE: (1) L'utilitaire de ligne de commande peut avoir besoin de s'exécuter en tant que root. (2) Exécutez-le comme vous le feriez pour tout autre binaire en l'ajoutant au chemin ou en l'exécutant directement à partir du répertoire courant avec ./tw_cli.

Tout d'abord, exécutez tw_cli showpour répertorier les contrôleurs RAID disponibles sur votre système:

# tw_cli show
Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c2    9690SA-8I    6         6        2       0       1       1      Charging 

Ici, nous pouvons voir qu'il y a un contrôleur connecté, avec l'ID de c2(rappelez-vous cet ID!), Qui a 6 disques physiques connectés. Pour obtenir plus de détails sur les disques connectés à l'unité, exécutez tw_cli /c2 show(en remplaçant /c2par l'ID de votre contrôleur):

# tw_cli /c2 show
Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       298.013   Ri     ON     
u1    RAID-5    OK             -       -       64K     2793.94   Ri     ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   298.09 GB SATA  0   -            ST3320613AS         
p1    OK             u0   298.09 GB SATA  1   -            ST3320613AS         
p2    OK             u1   931.51 GB SATA  2   -            Hitachi HDS721010CL 
p3    OK             u1   931.51 GB SATA  3   -            Hitachi HDS721010CL 
p4    OK             u1   931.51 GB SATA  4   -            Hitachi HDS721010CL 
p5    OK             u1   931.51 GB SATA  5   -            Hitachi HDS721010CL 

Le premier groupe montre les configurations RAID utilisées. Le deuxième groupe indique quels lecteurs sont actuellement physiquement connectés au serveur.

Dans ce cas particulier, j'ai deux configurations RAID:

  • u0-> Lecteurs p0et p1sont tous les deux des disques de 300 Go du même fabricant, configurés pour utiliser RAID-1 (miroirs exacts les uns des autres)
  • u1-> J'ai quatre disques Hitachi de 1 To (à p2travers p5) configurés en utilisant RAID-5 ("l'un des disques" est utilisé pour s'assurer que les données sont préservées si l'un des autres disques tombe en panne). Cela signifie (comme nous pouvons le voir en haut), u1a 3 To (ou plutôt 2793.94 GB) de données utilisables.

Vous pouvez trouver encore plus d'informations sur l'état et l'intégrité des disques en exécutant tw_cli /c2/u0 showou tw_cli /c2/p0 show. Plus de détails et de commandes peuvent être trouvés dans les pages de manuel .

IQAndreas
la source