0% found this document useful (0 votes)
36 views10 pages

Megacli para Controladoras LSI Bajo Linux

This document provides examples of using the MegaCli utility to monitor and manage LSI RAID controllers under Linux. It shows commands to view adapter information, logical drive details, physical disks, and enable or disable auto-rebuild. It also discusses using MegaCli to add a new RAID array without rebooting.

Uploaded by

mjc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views10 pages

Megacli para Controladoras LSI Bajo Linux

This document provides examples of using the MegaCli utility to monitor and manage LSI RAID controllers under Linux. It shows commands to view adapter information, logical drive details, physical disks, and enable or disable auto-rebuild. It also discusses using MegaCli to add a new RAID array without rebooting.

Uploaded by

mjc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Chuleta de Megacli para controladoras LSI bajo Linux

Posted by: admin In: Almacenamiento|Hardware|Linux|RAID

En servidores Linux, a veces necesitamos monitorizar nuestro RAID de discos que estan
bajo controladoras LSI, ya sea el caso de Supermicro con sus LSI Mezzanine (9260)
bajo plataformas 2U TWIN 2, Dell con sus versiones PERC de LSI o las Asus Pike.
Para ello, mostrare una chuleta de la utilidad propietaria y “no-muy-amigable” de LSI,
Megacli.

Mostrar informacion de adaptadores y status:

[root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll

Adapter #0

==============================================================
===== Versions
================
Product Name : MegaRAID SAS 8704EM2
Serial No : P488060910
FW Package Build: 9.0.1-0034

Image Versions in Flash:


================
FW Version : 1.20.32-0512
BIOS Version : 2.01.00
WebBIOS Version : 1.1-49-e_15-Rel
Ctrl-R Version : 1.02-012B
Preboot CLI Version: 01.00-021:#%00004
Boot Block Version : 1.00.00.01-0011
————————————————-

Mostrar el virtual drive/logical drive 0 en el adaptador 0:

[root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -L0 -a0

Adapter 0 — Virtual Drive Information:


Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 110.827 GB
State : Optimal
Strip Size : 64 KB
Number Of Drives : 2
Span Depth : 1
Default Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad
BBU
Current Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad
BBU
Access Policy : Read/Write
Disk Cache Policy : Disk’s Default
Encryption Type : None

Mostrar como esta la funcion de autorebuild para los volumenes RAID que
tengamos:

[root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -AdpAutoRbld -Dsply -a0

Adapter 0: AutoRebuild is Enabled.

Habilitar autorebuild para los volumenes RAID que tengamos:

[root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -Enbl -a0

Adapter 0: AutoRebuild is Enabled.

Deshabilitar autorebuild para los volumenes RAID que tengamos:

[root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -AdpAutoRbld -Dsbl -a0

Adapter 0: AutoRebuild is Disabled.

Mostrar los dispositivos fisicos (discos) que tenemos conectados a la primera


controladora que tengamos:

[root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0

Adapter #0

Enclosure Device ID: 252


Slot Number: 0
Enclosure position: 0
Device Id: 4
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
Raw Size: 111.790 GB [0xdf94bb0 Sectors]
Non Coerced Size: 111.290 GB [0xde94bb0 Sectors]
Coerced Size: 110.827 GB [0xdda7800 Sectors]
Firmware state: Online, Spun Up
SAS Address(0): 0x3d5648536a8b424c
Connected Port Number: 0(path0)
Inquiry Data: GS01103909280024 FM-25S2S-120GBP2 2.1
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 3.0Gb/s
Link Speed: 3.0Gb/s
Media Type: Hard Disk Device
Drive Temperature :0C (32.00 F)

Enclosure Device ID: 252


Slot Number: 1
Enclosure position: 0
Device Id: 5
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
Raw Size: 111.790 GB [0xdf94bb0 Sectors]
Non Coerced Size: 111.290 GB [0xde94bb0 Sectors]
Coerced Size: 110.827 GB [0xdda7800 Sectors]
Firmware state: Online, Spun Up
SAS Address(0): 0x3d5647506b82414a
Connected Port Number: 1(path0)
Inquiry Data: GS03104110140009 FM-25S2S-120GBP2 2.1
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 3.0Gb/s
Link Speed: 3.0Gb/s
Media Type: Hard Disk Device
Drive Temperature :0C (32.00 F)

Enclosure Device ID: 252


Slot Number: 2
Enclosure position: 0
Device Id: 6
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Non Coerced Size: 1.818 TB [0xe8d088b0 Sectors]
Coerced Size: 1.817 TB [0xe8b6d000 Sectors]
Firmware state: Online, Spun Up
SAS Address(0): 0x81709e2e88d6feb1
Connected Port Number: 2(path0)
Inquiry Data: JK1171YBJ07VSFHitachi HDS722020ALA330 JKAOA28A
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 3.0Gb/s
Link Speed: 3.0Gb/s
Media Type: Hard Disk Device
Drive Temperature :0C (32.00 F)

Enclosure Device ID: 252


Slot Number: 3
Enclosure position: 0
Device Id: 7
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Non Coerced Size: 1.818 TB [0xe8d088b0 Sectors]
Coerced Size: 1.817 TB [0xe8b6d000 Sectors]
Firmware state: Online, Spun Up
SAS Address(0): 0x81709e2e88d5f7b1
Connected Port Number: 3(path0)
Inquiry Data: JK1171YBJ07ULFHitachi HDS722020ALA330 JKAOA28A
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 3.0Gb/s
Link Speed: 3.0Gb/s
Media Type: Hard Disk Device
Drive Temperature :0C (32.00 F)

En el proximo post mas informacion de como crear un RAID o hacer un autorebuild


desde la utilidad Megacli sin tener que reiniciar para entrar en la Web GUI de LSI.

Ver los discos físicos y lógicos de una controladora PERC

Ante las eternas preguntas “¿Cuantos discos tiene RAID?“, “¿Que nivel de RAID
tiene este disco?” para las controladoras PERC 5 (PowerEdge Expandable RAID
Controller) de los antiguos 1950 de Dell podemos tener memoria o usar el odioso
megacli.

# lspci | grep "PowerEdge"


02:0e.0 RAID bus controller: Dell PowerEdge Expandable RAID controller
5

Las opciones básicas que debemos usar para referirnos a lo que estamos pidiendo son:

 -L: Para especificar un disco lógico (un RAID para entendernos). Para indicar
todos podemos usar -LAll
 -a: Para indicar un controlador en concreto, en el caso que tengamos varios.
Para el primero debemos usar -a0 y para todos -aAll

A parte de estas opciones genéricas deberemos especificar que queremos hacer.

Para ver los discos físicos es con la opción -PDList:

# MegaCli -PDList -a0

Adapter #0

Enclosure Device ID: 8


Slot Number: 0
Device Id: 0
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 140014MB [0x11177328 Sectors]
Non Coerced Size: 139502MB [0x11077328 Sectors]
Coerced Size: 139392MB [0x11040000 Sectors]
Firmware state: Online
SAS Address(0): 0x5000c5000c6e8b5d
SAS Address(1): 0x0
Connected Port Number: 0
Inquiry Data: SEAGATE ST9146802SS S2222NM22QDF

Enclosure Device ID: 8


Slot Number: 1
Device Id: 1
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 140014MB [0x11177328 Sectors]
Non Coerced Size: 139502MB [0x11077328 Sectors]
Coerced Size: 139392MB [0x11040000 Sectors]
Firmware state: Online
SAS Address(0): 0x5000c5000c6ce7ed
SAS Address(1): 0x0
Connected Port Number: 1
Inquiry Data: SEAGATE ST9146802SS S2222NM22QCX

Para ver los datos del disco lógico, como el nivel de RAID o su estado podemos usar la
opción -LDInfo indicando tanto el disco lógico y de que adaptador:
# MegaCli -LDInfo -LAll -aALL

Adapter 0 -- Virtual Drive Information:


Virtual Disk: 0 (target id: 0)
Name:local
RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
Size:139392MB
State: Optimal
Stripe Size: 128kB
Number Of Drives:2
Span Depth:1
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if
Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if
Bad BBU
Access Policy: Read/Write
Disk Cache Policy: Disk's Default

Para ver ambos datos combinados, discos lógicos y sus discos físicos, podemos usar la
opción -LdPdInfo indicando únicamente el adaptador:

# MegaCli -LdPdInfo -a0

Adapter #0

Number of Virtual Disks: 1


Virtual Disk: 0 (target id: 0)
Name:local
RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
Size:139392MB
State: Optimal
Stripe Size: 128kB
Number Of Drives:2
Span Depth:1
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if
Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if
Bad BBU
Access Policy: Read/Write
Disk Cache Policy: Disk's Default
Number of Spans: 1
Span: 0 - Number of PDs: 2
PD: 0 Information
Enclosure Device ID: 8
Slot Number: 0
Device Id: 0
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 140014MB [0x11177328 Sectors]
Non Coerced Size: 139502MB [0x11077328 Sectors]
Coerced Size: 139392MB [0x11040000 Sectors]
Firmware state: Online
SAS Address(0): 0x5000c5000c6e8b5d
SAS Address(1): 0x0
Connected Port Number: 0
Inquiry Data: SEAGATE ST9146802SS S2222NM22QDF
PD: 1 Information
Enclosure Device ID: 8
Slot Number: 1
Device Id: 1
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 140014MB [0x11177328 Sectors]
Non Coerced Size: 139502MB [0x11077328 Sectors]
Coerced Size: 139392MB [0x11040000 Sectors]
Firmware state: Online
SAS Address(0): 0x5000c5000c6ce7ed
SAS Address(1): 0x0
Connected Port Number: 1
Inquiry Data: SEAGATE ST9146802SS S2222NM22QCX

Añadir un RAID con MegaCLI

Al añadir unos discos a un servidor podemos reiniciarlo para configurar el nuevo RAID
por el interfaz de la controladora o bien usando el MegaCli. Vamos a ver como hacerlo
con esta herramienta.

El MegaCli no se caracteriza por su fácil manejo ni por lo bien documentado que está.
Todo lo contrario, sus parámetros cuestan de recordar y los errores son poco
descriptivos.

Anteriormente ya vimos cómo ver los discos físicos y lógicos con megacli. Deberemos
listarlos para obtener sus datos mediante PDList. Los datos que necesitamos para
definir el raid es la Enclosure y el Slot por lo que con grep podemos verlo mejor:

# ./MegaCli64 -PDList -a0 | grep -e "Enclosure\|Slot\|Raw Size"


Enclosure Device ID: 32
Slot Number: 0
Enclosure position: 0
Raw Size: 136.732 GB [0x11177328 Sectors]
Enclosure Device ID: 32
Slot Number: 1
Enclosure position: 0
Raw Size: 136.732 GB [0x11177328 Sectors]
Enclosure Device ID: 32
Slot Number: 2
Enclosure position: 0
Raw Size: 279.396 GB [0x22ecb25c Sectors]
Enclosure Device ID: 32
Slot Number: 3
Enclosure position: 0
Raw Size: 279.396 GB [0x22ecb25c Sectors]
Con el tamaño del disco igual nos vale para saber que discos queremos añadir. Para este
ejemplo crearemos un RAID1 con los discos de 300G. Para ello podemos ver en la
ayuda del megacli lo siguiente:

# ./MegaCli64 -h
(...)
MegaCli -CfgLdAdd rX[E0:S0,E1:S1,...] -enblPI -aN|-a0,1,2|-aALL
(...)

Por lo tanto debemos indicar:

 Tipo de RAID: Mediante la -r. Para RAID1 haríamos -r1


 Discos a usar: Mediante un parámetro entre corchetes con el id de enclosure
y el número de slot. Por ejemplo, para los discos en los slots 2 y 3 (empieza
por 0) de la enclosure 32 sería: [32:2, 32:3]
 Adaptador: Para indicar el adapador, si únicamente tenemos una controladora
es el -a0

Por lo que el comando quedaría:

# ./MegaCli64 -CfgLdAdd -r1 '[32:2, 32:3]' -a0

Adapter 0: Created VD 1

Adapter 0: Configured the Adapter!!

Exit Code: 0x00

Al completarse el comando, en general, ya lo podremos ver en el sistema operativo:

# cat /proc/partitions
major minor #blocks name

8 0 142737408 sda
8 1 4192933 sda1
8 2 8385930 sda2
8 3 130150597 sda3
253 0 14680064 dm-0
253 1 4194304 dm-1
253 2 105906176 dm-2
8 16 292421632 sdb

A partir de aquí simplemente ya podremos proceder a particionarlo y crear los sistemas


de ficheros que necesitemos.

Como crear y leer particiones en una imagen de un disco

Resulta útil poder crear particiones en una imagen de un disco, ya sea para máquinas
virtuales como para dispositivos empotrados. Es possible hacerlo mediante un
dispositivo loopback.

Sus posibles aplicaciones són:


 Particionado de un disco virtual: Normalmente, al instalar un servidor,
creariamos varias particiones con sus sistemas de ficheros. Una máquina
virtual no tiene porqué ser diferente. En lugar de crear una imagen para cada
partición, lo que resulta poco pràctico, podemos crear un disco con el root y el
resto de sistemas de ficheros los creamos particionando una imagen entera.
 Montar las particiones de una imagen de un disco físico: Supongamos que
tenemos un servidor que apagamos, para conservar durante un tiempo
prudencial los datos creamos una imagen del disco mediante el comando dd y
la imagen resultante la almacenamos en otro servidor más grande. Si al cabo
de cierto tiempo, cuando ya se ha tirado el servidor antiguo, se desea
recuperar algún fichero mediante la imagen no podremos montar directamente
las particones, sinó que lo tendremos que hacer mediante el kpartx
 Creación de sistema empotrado: Si deseamos crear un sistema empotrado y
disponemos de un simulador para la arquitectura, podemos crear una imagen
con sus particiones para instalar el sistema allí, simulando el entorno. Una
vez finalizado el proyecto, se puede pasar esa imagen a una memória CF, por
ejemplo, mediante el comando dd

Para ver como hacerlo, supongamos que tenemos una imagen como la siguiente:

# ionice -n7 dd if=/dev/zero of=~/image.sda bs=1024k count=100


100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.545893 seconds, 192 MB/s

Lo que haremos es mapear el loop a la imagen que tenemos:

# losetup /dev/loop0 ~/image.sda

Entonces podemos porceder a particionar:

# fdisk /dev/loop0
Device contains neither a valid DOS partition table, nor Sun, SGI or
OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by


w(rite)

Command (m for help): n


Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-12, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-12, default 12):
Using default value 12

Command (m for help): p

Disk /dev/loop0: 104 MB, 104857600 bytes


255 heads, 63 sectors/track, 12 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/loop0p1 1 12 96358+ 83 Linux

Command (m for help): t


Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w


The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid
argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

fdisk nos indica que la nueva partición debería llamarse /dev/loop0p1, pero tal como
indica el mensaje de error:

WARNING: Re-reading the partition table failed with error 22: Invalid argument

Aún se usa la tabla de particiones anterior al particionado, por lo que las particiones
no estan accesibles.

# ls /dev/loop0*
/dev/loop0

Mediante kpartx podemos hacer que lea las particiones y cree dispositivos con sus
particiones:

# kpartx -a /dev/loop0

Por lo que dentro de /dev/mapper econtraremos las particiones que hemos creado con
fdisk:

# ls /dev/mapper/loop0p1
/dev/mapper/loop0p1

Para deshacer el motaje solo hace falta ejecutar estos dos comandos:

# kpartx -d /dev/loop0
# losetup -d /dev/loop0

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy