Kann ich Hardware-RAID-Informationen unter Linux erkennen?

13

Wenn ich mich in Linux befinde, kann ich die folgenden Informationen abrufen lsblk(irrelevante Laufwerke aus der Ausgabe entfernt):

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

Wenn ich die Laufwerke manuell aus dem Server ziehe, kann ich feststellen, dass ich die folgenden Laufwerke physisch verwende:

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

Da auf dem Server mehr physischer Speicher als unter Linux verfügbar ist, verwende ich offensichtlich eine Art RAID-System. Mit ein bisschen Mathe kann ich oft herausfinden, welche Art von RAID-System verwendet wird.

Gibt es eine Möglichkeit für mich, zu erkennen, ob ich Hardware-RAID innerhalb von Linux verwende , und alle Informationen darüber herauszufinden (z. B. RAID-Typ, verfügbare Laufwerke), ohne den Server auszuschalten und die Laufwerke physisch herauszuziehen? und ihre Etiketten lesen?

Können diese Informationen innerhalb von Linux gesammelt werden, oder ist es der Sinn von Hardware-RAID, das zugrunde liegende System für das Betriebssystem "unsichtbar" zu machen?

IQAndreas
quelle
Dies hängt vollständig vom verwendeten RAID-Controller und der Unterstützung unter Linux ab. Wenn Sie Informationen zu Ihrem Controller angeben, finden Sie hier möglicherweise Hilfe. Sie können auch eine Websuche nach "model # linux-Befehlen" durchführen, wenn Sie hier nicht die benötigten Informationen erhalten.
Gene
@Gene Das ist unglücklich. Ich hatte wieder gehofft, dass es eine Lösung gibt, bei der die spezifische Modellnummer nicht nachgeschlagen werden muss, die jedoch unabhängig von der verwendeten Hardware verwendet werden kann.
IQAndreas
Unterschiedliche Hardware macht RAID unterschiedlich und hat unterschiedliche Treiber. In vielen Fällen müssen Sie Ihr System nicht ausschalten, aber zumindest müssen Sie wissen, über welchen Modellcontroller oder Chipsatz Sie verfügen, damit Sie Befehle zum Abfragen des Controllers vom Betriebssystem finden können.
Gene
1
Normalerweise finden Sie die Controller- oder Chipsatzinformationen über dmesg, dmidecode, lspci und andere ähnliche Dienstprogramme. Wenn das RAID auf dem Motherboard integriert ist und Sie Marke und Modell des Motherboards kennen, gelangen Sie zu 99% dorthin.
Gene
1
adds an answer explaining how to figure out which RAID controller is being used from inside of Linux - @IQAndreas aber das kommt nicht in Frage. Antworten auf Serverfehler sollten die gestellte Frage beantworten. Wenn Sie eine andere Frage haben, sollten Sie Ihre Frage bearbeiten. Diese Frage könnte mit ziemlicher Sicherheit von Google selbst in wenigen Minuten beantwortet werden. Die Antwort darauf ist jedenfalls lshw.
Zoredache

Antworten:

16

Wie Sie die RAID-Informationen erhalten, hängt vollständig vom verwendeten RAID-Controller ab. Häufig verfügen Hersteller über Tools, die von ihrer Website heruntergeladen werden können, um den RAID-Controller abzufragen und diese Informationen abzurufen.

Versuchen Sie einen der folgenden Befehle, um herauszufinden, welchen RAID-Controller Sie verwenden:

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)

Hier suchen wir nach Informationen: "3ware Inc 9690SA SAS / SATA-II RAID PCIe" .

lsscsi

Der Befehl ist unter Debian und Ubuntu nicht verfügbar, wird jedoch schnell sudo apt-get install lsscsivon den Repos abgerufen . Hinweis: Wenn Sie keinen RAID-Controller verwenden, werden hier stattdessen der Hersteller und die Modellnummer Ihrer Festplatte angezeigt.

# 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 

Hier sehen wir, dass der Hersteller "AMCC" und die Modellnummer der RAID-Karte "9690SA-8I" ist . Eine schnelle Google-Suche zeigt, dass diese Karte auch als "AMCC 3Ware 9690SA-8I" bezeichnet wird .

lshw

Eine dritte Methode (die ziemlich viele Ausgabedaten liefert) ist die Verwendung des lshwBefehls. Führen Sie lshw -class diskals root nur die Details über Festplatten angezeigt werden (einschließlich RAID - Informationen).

Suchen der RAID-Controller-Tools

Nachdem wir die Hersteller- und Modellnummer haben, sollte es möglich sein, die Tools auf ihrer Website zu finden oder zumindest Google-Details zum Auffinden und Verwenden der Tools für diesen bestimmten Controller zu finden.

Wenn der Hersteller in dieser Liste angezeigt wird, finden Sie in diesen Antworten weitere Informationen zum Abrufen der RAID-Informationen für Ihre Karte:

IQAndreas
quelle
5

Führen Sie so etwas wie lspci -knn | grep 'RAID bus controller'.

Mit dieser Ausgabe kann Google (zum Beispiel) für LSI Logic / Symbios Logic MegaRAID SAS 2208.

Find it verwendet das storcliDienstprogramm, um den RAID-Controller abzufragen.

Laden Sie es herunter und installieren Sie es.

storcli64 show Gibt Ihnen das Modell des Controllers sowie den Controller-Index, die Anzahl der Laufwerksgruppen und die virtuellen Laufwerke an.

storcli64 /c0/d0 showzeigt Ihnen den ersten Controller, die erste Laufwerksgruppe. Zeigt dir Raid-Levels an, einschließlich Verschachtelung.

storcli64 /c0/eall/sall show all zeigt Ihnen alle Informationen auf allen Festplatten.

Weitere Referenzdaten für diese Befehle finden Sie hier:

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

Sollte alles sein, was Sie tun müssen. Verwenden Sie einfach die normale Hardware-Selbstbeobachtung unter Linux, dann Google, und laden Sie die dazugehörigen Dienstprogramme herunter und installieren Sie sie.

@ Gens Vorschläge und Kommentare sind absolut genau richtig.

Diese Antwort ist ganz spezifisch für die Ausgabe, die Sie vom lspciBefehl erhalten, und für die Fähigkeit Ihrer Google-Suche, den Hersteller zu identifizieren und das richtige Befehlszeilentool zu finden.

Es zeigt jedoch, dass Sie all dies von einem Server über eine Befehlszeile abrufen können, ohne den Computer anzuhalten, das Gehäuse zu öffnen und Laufwerke zu ziehen, was hoffentlich hilfreich ist.

Kassandry
quelle
Da die Antwort auf meine Frage hardwarespezifisch sein wird, habe ich eine Community-Wiki-Antwort hinzugefügt , um herauszufinden, welchen RAID-Controller Sie verwenden . Diese Antwort enthält dann Links zu Antworten (einschließlich Ihrer), die Details zu bestimmten Controllern oder Herstellern enthalten.
IQAndreas
Wenn Sie das Format Ihrer Antwort aktualisieren möchten, um dies widerzuspiegeln, wäre dies nett, aber nicht unbedingt erforderlich.
IQAndreas
2

Dies ist keine einheitliche Antwort und bietet Ihnen nicht alle Informationen, die Sie benötigen. Auf einem von uns verwendeten Adaptec-Hardware-RAID-Controller konnten Sie jedoch über spezielle Geräte / Entwickler auf die Laufwerke selbst zugreifen / sg1 / dev / sg2 usw. Wir könnten smartctl -a / dev / sg1 ausführen, um viele Informationen zu diesem physischen Laufwerk zu erhalten, einschließlich Hersteller, Modellnummer, Schnittstelle, Seriennummer, Größe und anderer Daten.

Was das Herausfinden des verwendeten Controllers angeht, stimme ich Gens Kommentar zu dmidecode, dmesg und lspci zu - dies wären auch meine ersten Versuche.

sa289
quelle
0

3ware

Dies wurde auf den folgenden RAID-Controllern getestet: 9690SA-8I

Bitte lassen Sie mich in den Kommentaren wissen, ob es für Ihren spezifischen Controller funktioniert hat oder ob die Anweisungen für Ihr Modell aktualisiert werden müssen.

wird heruntergeladen

Zunächst müssen Sie das Tool herunterladen tw_cli. Dies finden Sie auf der Avago Technologies-Website *:

* Keine Sorge, es handelt sich nicht um eine Website eines Drittanbieters. 3ware wurde von AMCC gekauft und später an die LSI Corporation verkauft, die später Teil von Avago [ Quelle ] wurde. Beachten Sie zur Sicherung , dass 3ware.com auf die entsprechende Seite auf avagotech.com weiterleitet .

Geben Sie tw_cliin die Suchleiste ein und navigieren Sie herum, bis Sie einen Download mit dem Namen finden CLI Linux - from the 10.2.2.1/9.5.5.1 code sets(die neueste Versionsnummer kann von der hier aufgeführten abweichen).

Extrahieren Sie die Zip-Datei, und entweder in x86oder x86_64finden Sie die tw_cliBinärdatei, die Sie benötigen. Speichern Sie diese Binärdatei auf Ihrem Server oder Computer.

Tw_cli ausführen

HINWEIS: (1) Das Befehlszeilenprogramm muss möglicherweise als root ausgeführt werden. (2) Führen Sie es wie jede andere Binärdatei aus, indem Sie es entweder dem Pfad hinzufügen oder direkt aus dem aktuellen Verzeichnis mit ausführen ./tw_cli.

Führen Sie zunächst aus, tw_cli showum aufzulisten, welche RAID-Controller auf Ihrem System verfügbar sind:

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

Hier sehen wir, dass ein Controller mit der ID c2(diese ID merken!) Angeschlossen ist, an den 6 physische Laufwerke angeschlossen sind. Führen Sie Folgendes aus, um weitere Informationen darüber zu erhalten, welche Laufwerke an das Gerät angeschlossen sind tw_cli /c2 show(ersetzen Sie es /c2durch die ID Ihres Controllers):

# 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 

Die erste Gruppe zeigt die verwendeten RAID-Setups. Die zweite Gruppe zeigt, welche Laufwerke derzeit physisch an den Server angeschlossen sind.

In diesem speziellen Fall habe ich zwei RAID-Konfigurationen:

  • u0-> Laufwerke p0und p1beide 300-GB-Laufwerke desselben Herstellers, eingerichtet für die Verwendung von RAID-1 (exakte Spiegel voneinander)
  • u1-> Ich habe vier 1-TB-Hitachi-Laufwerke ( p2durch p5) mit RAID-5 eingerichtet ("eines der Laufwerke" wird verwendet, um sicherzustellen, dass Daten erhalten bleiben, wenn eines der anderen Laufwerke ausfällt). Dies bedeutet (wie wir von oben sehen können), dass u13 TB (oder besser gesagt 2793.94 GB) verwendbare Daten vorhanden sind.

Weitere Informationen zum Status und Zustand der Laufwerke finden Sie unter Ausführen von tw_cli /c2/u0 showoder tw_cli /c2/p0 show. Weitere Details und Befehle finden Sie in den Manpages .

IQAndreas
quelle
0

Zum Erstellen eines Speicherprofils würde ich Folgendes tun, bevor ich etwas ausführe lspcioder herunterlade.

# 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.
nördlich
quelle