¿Puedo detectar información de RAID de hardware desde Linux?


15

Cuando estoy dentro de Linux, puedo obtener la siguiente información de lsblk(unidades irrelevantes eliminadas de la salida):

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

Cuando extraigo manualmente las unidades del servidor, puedo decir que estoy usando físicamente las siguientes unidades:

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

Debido a que hay más almacenamiento físico en el servidor que espacio disponible en Linux, esto significa que obviamente estoy usando algún tipo de sistema RAID. Con un poco de matemática, a menudo puedo averiguar qué tipo de sistema RAID se está utilizando.

¿Hay alguna manera de detectar si estoy usando RAID de hardware desde dentro de Linux y averiguar toda la información al respecto (como el tipo de RAID, las unidades disponibles) sin apagar el servidor, extraer físicamente las unidades, y leyendo sus etiquetas?

¿Se puede recopilar esta información desde el interior de Linux, o el objetivo del RAID de hardware es hacer que el sistema subyacente sea "invisible" para el sistema operativo?


Depende completamente del controlador RAID que esté utilizando y de la compatibilidad que tenga con Linux. Si proporciona información sobre su controlador, puede encontrar ayuda aquí. También puede hacer una búsqueda en la web de "comandos de model # linux" si no obtiene la información que necesita aquí.
Gene

@Gene Eso es desafortunado. Una vez más, esperaba que hubiera una solución que no requiera buscar el número de modelo específico, pero se pueda usar independientemente del hardware que esté utilizando.
IQAndreas

Diferentes hardware hacen RAID de manera diferente y tienen diferentes controladores. En muchos casos, no tiene que apagar su sistema, pero al menos necesita saber qué modelo de controlador o conjunto de chips tiene para poder encontrar comandos para consultar el controlador desde el sistema operativo.
Gene

1
Por lo general, puede encontrar la información del controlador o del conjunto de chips a través de dmesg, dmidecode, lspci y otras utilidades similares. Si se trata de RAID incorporado en la placa base, conocer la marca y el modelo de la placa base te llevará al 99% del camino.
Gene

1
adds an answer explaining how to figure out which RAID controller is being used from inside of Linux - @IQAndreas pero eso no está en la pregunta. Las respuestas en serverfault deben responder a la pregunta que se hace. Si tiene una pregunta diferente, debe editar su pregunta. Esa pregunta casi con seguridad podría responderse por unos minutos en Google. De todos modos la respuesta a eso es lshw.
Zoredache

Respuestas:


17

Cómo obtener la información RAID dependerá completamente del controlador RAID que esté utilizando. A menudo, los fabricantes tendrán herramientas que se pueden descargar desde su sitio web que se pueden utilizar para consultar el controlador RAID y obtener esta información.

Para encontrar qué controlador RAID está utilizando, pruebe uno de los siguientes comandos:

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)

Aquí, la información que estamos buscando es "3ware Inc 9690SA SAS / SATA-II RAID PCIe" .

lsscsi

El comando no está disponible en Debian y Ubuntu, pero un rápido lo sudo apt-get install lsscsiobtendrá de los repositorios. Tenga en cuenta que si no está utilizando un controlador RAID, el fabricante y el número de modelo de su disco duro aparecerán aquí.

# 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 

Aquí vemos que el fabricante es "AMCC" y el número de modelo de la tarjeta RAID es "9690SA-8I" . Una búsqueda rápida en Google muestra que esta tarjeta también se conoce como "AMCC 3Ware 9690SA-8I" .

lshw

Un tercer método (que proporciona bastante información de salida) es usar el lshwcomando. Ejecútelo lshw -class diskcomo root para mostrar solo los detalles sobre los discos duros (que incluye información RAID).

Encontrar las herramientas del controlador RAID

Ahora que tenemos el fabricante y el número de modelo, debería ser posible encontrar las herramientas en su sitio web, o al menos poder obtener detalles de Google sobre cómo encontrar y usar las herramientas para ese controlador específico.

Si el fabricante aparece en esta lista, consulte estas respuestas para obtener más detalles sobre cómo obtener la información RAID para su tarjeta:


5

Ejecute algo como lspci -knn | grep 'RAID bus controller'.

Usando esa salida, Google (por ejemplo) para LSI Logic / Symbios Logic MegaRAID SAS 2208.

Find it usa la storcliutilidad para interrogar al controlador RAID.

Descárgalo e instálalo.

storcli64 show le proporciona el modelo de controlador específicamente, y el índice del controlador, el número de grupos de unidades y las unidades virtuales.

storcli64 /c0/d0 showmuestra su primer controlador, primer grupo de unidades. Le indica los niveles de incursión, incluida la anidación.

storcli64 /c0/eall/sall show all le muestra toda la información en todos los discos.

Se pueden encontrar más datos de referencia para esos comandos aquí:

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

Debería ser todo lo que tienes que hacer. Simplemente use la introspección de hardware normal en Linux, luego Google, luego descargue e instale las utilidades que lo acompañan.

Las sugerencias y comentarios de @ Gene son absolutamente acertados.

Esta respuesta es completamente específica para el resultado que obtiene del lspcicomando y la capacidad de su búsqueda de Google para identificar al fabricante y obtener la herramienta de línea de comando correcta.

Pero sí muestra que puede obtener todo esto desde un servidor, en una línea de comando, sin detener la máquina, abrir la carcasa y extraer unidades, lo que espero sea útil.


Dado que la respuesta a mi pregunta será específica del hardware, lo que hice fue agregar una respuesta wiki comunitaria sobre cómo averiguar qué controlador RAID está utilizando . Esta respuesta luego se vincula a respuestas (incluida la suya) que proporcionan detalles para controladores o fabricantes específicos.
IQAndreas

Si desea actualizar el formato de su respuesta para reflejar esto, sería bueno, pero no estrictamente necesario.
IQAndreas

2

Esta no es una respuesta única para todos y no le brinda toda la información que necesita, pero en un controlador RAID de hardware Adaptec que hemos utilizado, le dio cierto acceso a las unidades a través de dispositivos especiales / dev / sg1 / dev / sg2, etc. Podríamos ejecutar smartctl -a / dev / sg1 para obtener mucha información sobre esa unidad física, incluido el fabricante, el número de modelo, la interfaz, el número de serie, el tamaño y otros datos.

En cuanto a averiguar qué controlador se está utilizando, estoy de acuerdo con el comentario de Gene sobre dmidecode, dmesg y lspci; esos también serían los que probaría primero.


1

Para crear un perfil de almacenamiento, haría lo siguiente antes de ejecutar lspcio descargar cualquier 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

Esto se ha probado en los siguientes controladores RAID: 9690SA-8I

Avíseme en los comentarios si funcionó para su controlador específico, o si las instrucciones necesitan actualizarse para su modelo.

Descargando

Primero, necesitas descargar la herramienta tw_cli. Esto se puede encontrar en el sitio web de Avago Technologies *:

* No te preocupes, no es un sitio web de terceros; 3CC fue comprado por AMCC y luego vendido a LSI Corporation, que luego se convirtió en parte de Avago [ fuente ]. Para respaldar esto, tenga en cuenta que 3ware.com redirige a la página correspondiente en avagotech.com .

Escriba tw_clien la barra de búsqueda, luego navegue hasta encontrar una descarga con el nombre CLI Linux - from the 10.2.2.1/9.5.5.1 code sets(el número de la última versión puede ser diferente al que aparece aquí)

Extraiga el archivo zip, y en el x86o x86_64encontrará el tw_clibinario que necesita. Guarde este binario en su servidor o computadora.

Ejecutando tw_cli

NOTA: (1) La utilidad de línea de comandos puede necesitar ejecutarse como root. (2) Ejecútelo como lo haría con cualquier otro binario al agregarlo a la ruta o al ejecutarlo directamente desde el directorio actual con ./tw_cli.

Primero, ejecute tw_cli showpara enumerar qué controladores RAID están disponibles en su sistema:

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

Aquí podemos ver que hay un controlador conectado, con la identificación de c2(¡recuerde esta identificación!), Que tiene 6 unidades físicas conectadas. Para obtener más detalles sobre qué unidades están conectadas a la unidad, ejecute tw_cli /c2 show(reemplazando /c2con la ID de su controlador):

# 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 

El primer grupo muestra las configuraciones RAID que se están utilizando. El segundo grupo muestra qué unidades están actualmente conectadas físicamente al servidor.

En este caso particular, tengo dos configuraciones RAID:

  • u0-> Unidades p0y unidades de p1300 GB del mismo fabricante, configuradas para usar RAID-1 (espejos exactos entre sí)
  • u1-> Tengo cuatro unidades de 1 TB de Hitachi (a p2través p5) configuradas con RAID-5 ("una de las unidades" se utiliza para garantizar que se conserven los datos si falla alguna de las otras unidades). Esto significa (como podemos ver desde arriba), u1tiene 3 TB (o, mejor dicho 2793.94 GB) de datos utilizables.

Incluso puede encontrar más información sobre el estado y el estado de las unidades ejecutando tw_cli /c2/u0 showo tw_cli /c2/p0 show. Se pueden encontrar más detalles y comandos en las páginas del manual .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.