web-dev-qa-db-fra.com

Puis-je détecter des informations RAID matérielles depuis Linux?

Lorsque je suis à l'intérieur de Linux, je peux obtenir les informations suivantes à partir 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 à l'intérieur de Linux , et de comprendre toutes les informations à ce sujet (comme le type de RAID, 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?

15
IQAndreas

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 Sudo apt-get install lsscsi le ré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" . ne 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 commande lshw. Courir lshw -class disk en tant 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:

17
IQAndreas

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'utilitaire storcli pour interroger le contrôleur RAID.

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

storcli64 show vous donne le modèle de contrôleur en particulier, ainsi que l'index du contrôleur, le nombre de groupes de lecteurs et les lecteurs virtuels.

storcli64 /c0/d0 show vous 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 à partir de la commande lspci et à la possibilité pour votre recherche Google d'identifier le fabricant et de récupérer l'outil de ligne de commande approprié.

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.

5
Kassandry

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 beaucoup d'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.

2
sa289

Pour créer un profil de stockage, je ferais ce qui suit avant d'exécuter lspci ou 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.
1
nortally

3ware

Ceci 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 appropriée sur avagotech.com .

Tapez tw_cli dans 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 indiqué ici)

Extrayez le fichier Zip et dans le x86 ou x86_64 vous trouverez le tw_cli binaire dont vous avez besoin. Enregistrez ce binaire sur votre serveur ou ordinateur.

Exécution de 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 n'importe quel autre binaire en l'ajoutant au chemin ou en l'exécutant directement à partir du répertoire courant avec ./tw_cli.

Première exécution tw_cli show pour 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 attaché, 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 /c2 avec 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 p0 et p1 sont tous deux des disques de 300 Go du même fabricant, configurés pour utiliser RAID-1 (miroirs exacts l'un de l'autre)
  • u1 -> J'ai quatre disques Hitachi de 1 To (p2 par p5) configuré à l'aide de RAID-5 ("l'un des lecteurs" est utilisé pour s'assurer que les données sont préservées en cas de défaillance de l'un des autres lecteurs). Cela signifie (comme nous pouvons le voir en haut), u1 a 3 To (ou plutôt 2793.94 GB) de données utilisables.

Pour plus d'informations sur l'état et l'intégrité des disques, exécutez tw_cli /c2/u0 show ou tw_cli /c2/p0 show. Plus de détails et de commandes peuvent être trouvés dans les pages de manuel .

0
IQAndreas