desarrollo-web-br-bd.com

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

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 tipo de RAID, unidades disponibles) sin apagar el servidor, extraer físicamente las unidades y leer 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?

15
IQAndreas

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 Sudo apt-get install lsscsi lo obtendrá 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" . na 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 datos de salida) es usar el comando lshw. Correr lshw -class disk como 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:

17
IQAndreas

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 utilidad storcli 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 show muestra 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 de 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 comando lspci, y la capacidad de su búsqueda en 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.

5
Kassandry

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/dev especiales/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.

2
sa289

Para crear un perfil de almacenamiento, haría lo siguiente antes de ejecutar lspci o 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.
1
nortally

3ware

Esto ha sido 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 se preocupe, 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 .

Tipo tw_cli en la barra de búsqueda, luego navega hasta encontrar una descarga llamada CLI Linux - from the 10.2.2.1/9.5.5.1 code sets (el último número de versión puede ser diferente al que se muestra aquí)

Extraiga el archivo Zip y en el x86 o x86_64 encontrarás el tw_cli binario que necesitas. 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.

Primer intento tw_cli show para 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 (¡recuerda 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 /c2 con 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 p0 y p1 son unidades de 300 GB del mismo fabricante, configuradas para usar RAID-1 (espejos exactos entre sí)
  • u1 -> Tengo cuatro unidades de 1TB Hitachi (p2 mediante p5) configurado mediante RAID-5 ("una de las unidades" se utiliza para asegurarse de que se conservan los datos si falla alguna de las otras unidades). Esto significa (como podemos ver desde arriba), u1 tiene 3TB (o, más bien, 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 show o tw_cli /c2/p0 show. Se pueden encontrar más detalles y comandos en las páginas de manual .

0
IQAndreas