Posso rilevare le informazioni sull'hardware RAID dall'interno di Linux?


15

Quando sono all'interno di Linux, posso ottenere le seguenti informazioni da lsblk(unità irrilevanti rimosse dall'output):

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

Quando estraggo manualmente le unità dal server, posso dire che sto utilizzando fisicamente le seguenti unità:

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

Poiché nel server è presente più spazio di archiviazione fisico rispetto allo spazio disponibile in Linux, ciò significa che sto ovviamente utilizzando una qualche forma di sistema RAID. Con un po 'di matematica, spesso riesco a capire quale tipo di sistema RAID viene utilizzato.

Esiste un modo per rilevare se sto utilizzando l'hardware RAID dall'interno di Linux e capire tutte le informazioni su di esso (come tipo di RAID, unità disponibili) senza spegnere il server, estrarre fisicamente le unità, e leggendo le loro etichette?

Queste informazioni possono essere raccolte dall'interno di Linux o è il punto di RAID hardware di rendere il sistema sottostante "invisibile" al sistema operativo?


Dipende interamente dal controller RAID che stai usando e dal supporto che ha sotto Linux. Se fornisci informazioni sul tuo controller, potresti trovare aiuto qui. Puoi anche fare una ricerca sul web per "comandi modello # linux" se non ottieni le informazioni di cui hai bisogno qui.
Gene,

@Gene Questo è un peccato. Ancora una volta, speravo che ci fosse una soluzione che non richiede la ricerca del numero di modello specifico, ma può essere utilizzata indipendentemente dall'hardware che si sta utilizzando.
IQAndreas,

Hardware diverso fa RAID in modo diverso e ha driver diversi. In molti casi non è necessario spegnere il sistema, ma almeno è necessario conoscere il modello di controller o chipset in uso in modo da poter trovare i comandi per interrogare il controller dal sistema operativo.
Gene,

1
In genere è possibile trovare le informazioni sul controller o sul chipset tramite dmesg, dmidecode, lspci e altre utilità simili. Se è un RAID integrato sulla scheda madre che conosce la marca e il modello della scheda madre, otterrai il 99% del percorso.
Gene,

1
adds an answer explaining how to figure out which RAID controller is being used from inside of Linux - @IQAndreas ma non è nella domanda. Le risposte su serverfault dovrebbero essere la risposta alla domanda posta. Se hai una domanda diversa, dovresti modificarla. A questa domanda è quasi certamente possibile rispondere da soli pochi minuti su Google. Comunque la risposta è lshw.
Zoredache,

Risposte:


17

Come ottenere le informazioni RAID dipenderà interamente dal controller RAID che si sta utilizzando. Spesso i produttori disporranno di strumenti che possono essere scaricati dal loro sito Web e che possono essere utilizzati per interrogare il controller RAID e ottenere queste informazioni.

Per trovare quale controller RAID stai utilizzando, prova uno dei seguenti comandi:

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)

Qui, le informazioni che stiamo cercando sono "3ware Inc 9690SA SAS / SATA-II RAID PCIe" .

lsscsi

Il comando non è disponibile su Debian e Ubuntu, ma un veloce sudo apt-get install lsscsilo recupererà dai repository. Nota, se non si utilizza un controller RAID, il produttore e il numero di modello del proprio hard disk verranno visualizzati qui.

# 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 

Qui vediamo che il produttore è "AMCC" e il numero di modello della scheda RAID è "9690SA-8I" . Una rapida ricerca su Google mostra che questa scheda è anche conosciuta come "AMCC 3Ware 9690SA-8I" .

lshw

Un terzo metodo (che fornisce un bel po 'di dati di output) è usare il lshwcomando. Esegui lshw -class diskcome root per visualizzare solo i dettagli sui dischi rigidi (che includono informazioni RAID).

Trovare gli strumenti del controller RAID

Ora che abbiamo il produttore e il numero del modello, dovrebbe essere possibile trovare gli strumenti sul loro sito Web, o almeno essere in grado di Google dettagli su come trovare e utilizzare gli strumenti per quel controller specifico.

Se il produttore appare in questo elenco, vedere queste risposte per maggiori dettagli su come ottenere le informazioni RAID per la scheda:


5

Esegui qualcosa di simile lspci -knn | grep 'RAID bus controller'.

Utilizzando tale output, Google (ad esempio) per LSI Logic / Symbios Logic MegaRAID SAS 2208.

Trova che utilizza l' storcliutilità per interrogare il controller RAID.

Scaricalo e installalo.

storcli64 show fornisce specificamente il modello di controller e l'indice del controller, il numero di gruppi di unità e unità virtuali.

storcli64 /c0/d0 showmostra il primo controller, il primo gruppo di unità. Ti dice i livelli di incursione, incluso l'annidamento.

storcli64 /c0/eall/sall show all mostra tutte le informazioni su tutti i dischi.

Ulteriori dati di riferimento per tali comandi sono disponibili qui:

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

Dovrebbe essere tutto ciò che devi fare. Basta usare la normale introspezione hardware in Linux, quindi Google, quindi scaricare e installare le utilità che ne derivano.

I suggerimenti e i commenti di @Gene sono assolutamente esatti.

Questa risposta è del tutto specifica dell'output ottenuto dal lspcicomando e della possibilità per la tua ricerca su Google di identificare il produttore e acquisire lo strumento da riga di comando corretto.

Ma mostra che puoi ottenere tutto questo da un server, su una riga di comando, senza arrestare la macchina, aprire il case e tirare le unità, che spero sia utile.


Poiché la risposta alla mia domanda sarà specifica per l'hardware, quello che ho fatto è stato aggiungere una risposta wiki della comunità su come scoprire quale controller RAID stai usando . Questa risposta si collega quindi alle risposte (incluso il tuo) che forniscono dettagli per controller o produttori specifici.
IQAndreas,

Se vuoi aggiornare il formato della tua risposta per riflettere questo, sarebbe bello, ma non strettamente necessario.
IQAndreas,

2

Questa non è una risposta unica e non ti dà tutte le informazioni di cui hai bisogno, ma su un controller RAID hardware Adaptec che abbiamo usato, ha dato un po 'di accesso alle unità stesse tramite dispositivi speciali / dev / sg1 / dev / sg2, ecc. Potremmo eseguire smartctl -a / dev / sg1 per ottenere molte informazioni su quell'unità fisica tra cui produttore, numero di modello, interfaccia, numero di serie, dimensioni e altri dati.

Per quanto riguarda il capire quale controller viene utilizzato, sono d'accordo con il commento di Gene su dmidecode, dmesg e lspci - quelli sarebbero i miei da provare anche per primi.


1

Per creare un profilo di archiviazione, farei quanto segue prima di eseguire lspcio scaricare qualsiasi cosa.

# 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.

0

3ware

Questo è stato testato sui seguenti controller RAID: 9690SA-8I

Per favore fatemi sapere nei commenti se ha funzionato per il vostro controller specifico o se le istruzioni devono essere aggiornate per il vostro modello.

Download

Innanzitutto, devi scaricare lo strumento tw_cli. Questo è disponibile sul sito Web di Avago Technologies *:

* Non preoccuparti, non è un sito Web di terze parti; 3ware è stato acquistato da AMCC e successivamente venduto a LSI Corporation, che in seguito è diventata parte di Avago [ fonte ]. Per eseguire il backup, si noti che 3ware.com reindirizza alla pagina pertinente su avagotech.com .

Digita tw_clinella barra di ricerca, quindi scorri fino a trovare un download chiamato CLI Linux - from the 10.2.2.1/9.5.5.1 code sets(l'ultimo numero di versione potrebbe essere diverso da quello elencato qui)

Estrai il file zip e in x86o x86_64troverai il file tw_clibinario di cui hai bisogno. Salva questo file binario sul tuo server o computer.

Esecuzione di tw_cli

NOTA: (1) Potrebbe essere necessario eseguire l'utilità della riga di comando come root. (2) Eseguilo come faresti con qualsiasi altro binario aggiungendolo al percorso o eseguendolo direttamente dalla directory corrente con ./tw_cli.

Innanzitutto, esegui tw_cli showper elencare quali controller RAID sono disponibili sul tuo sistema:

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

Qui possiamo vedere che c'è un controller collegato, con l'id di c2(ricorda questo id!), Che ha 6 unità fisiche collegate. Per ottenere maggiori dettagli su quali unità sono collegate all'unità, eseguire tw_cli /c2 show(sostituendo /c2con l'ID del controller):

# 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 

Il primo gruppo mostra le impostazioni RAID utilizzate. Il secondo gruppo mostra quali unità sono attualmente fisicamente collegate al server.

In questo caso particolare, ho due configurazioni RAID:

  • u0-> Unità p0e p1sono entrambe unità da 300 GB dello stesso produttore, configurate per utilizzare RAID-1 (mirror esatti l'uno dell'altro)
  • u1-> Ho quattro unità Hitachi da 1 TB ( p2tramite p5) configurate tramite RAID-5 ("una delle unità" viene utilizzata per assicurarsi che i dati vengano conservati se una delle altre unità si guasta). Questo significa (come possiamo vedere dall'alto), u1ha 3 TB (o, piuttosto, 2793.94 GB) di dati utilizzabili.

Ancora più informazioni sullo stato e lo stato delle unità possono essere trovate eseguendo tw_cli /c2/u0 showo tw_cli /c2/p0 show. Maggiori dettagli e comandi sono disponibili nelle pagine man .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.