Skip to content
NyverraNyverra
Articles
⌘K
HomeArticlesCorporate site
🇺🇸
Nyverra

Editorial channel

Articles on technology, operations and partners — infrastructure, monitoring and critical environments.

Social media

Explore

  • Home
  • Articles
  • Categories
  • Tags
  • Authors
  • About
  • Contact
  • RSS
  • Corporate site

Nyverra

  • Our services
  • Case studies
  • Partners

Contact

Email[email protected]WhatsApp(62) 99309-1592Client portalITSM · tickets and SLA

Rua RB 18, S/N — Casa 01, Sala 01 · Residencial Buriti · Senador Canedo – GO, Brazil · ZIP 75260-459

Hours: Mon–Fri, 8am–6pm

© 2026 Nyverra. All rights reserved.

CNPJ: 61.571.209/0001-08 · State registration: 20.291.265-5 · D-U-N-S®: 57-323-5796

blog.nyverra.com.br

Terms of usePrivacyCookies
Back to top

LSI / Broadcom MegaRAID Manual — MegaCli and StorCLI

Consolidated documentation of commands and procedures for LSI/Broadcom/Dell PERC RAID controllers (MegaRAID SAS), covering both command-line tools: MegaCli (legacy) and StorCLI (current, recommended by Broadcom for SAS-3 controllers onward, such as the PERC H730P).

Based on real production issues already resolved (Dell PowerEdge, IBM x3650 M4, LSI 1068E, 2108, 3108 controllers).

Table of Contents

  1. Compatibility and Requirements

  2. Download and Installation

  3. Controller Identification

  4. MegaCli — Query Commands

  5. MegaCli — Physical Disk Management

  6. MegaCli — RAID Creation

  7. MegaCli — Hot Spare, Rebuild, and Foreign Configurations

  8. MegaCli — Patrol Read and Consistency Check

  9. MegaCli — BBU (Battery Backup Unit)

  10. Real Scenario: No Backplane (No Backplane Scenario)

  11. Real Scenario: IBM x3650 M4 Conversion — JBOD to RAID

  12. StorCLI — Complete Cheat Sheet

  13. StorCLI — Volume Creation (Correct Syntax and Cache Flags)

  14. StorCLI — CacheCade / SSD Caching

  15. Troubleshooting / Known Issues

  16. Quick Reference Status Table

  17. Operational Best Practices

1. Compatibility and Requirements

# Oracle Linux 8.9 / RHEL 8.x
dnf install ncurses-compat-libs -y

Note: MegaCli has been discontinued by Broadcom in favor of StorCLI. On new controllers (3108 onward), prefer StorCLI whenever possible — its syntax is more consistent and support for CacheCade, SED (Self-Encrypting Drives), and telemetry is more complete.

2. Download and Installation

MegaCli

# Pacote com vários binários (todas as versões/plataformas)
wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip

# RPM direto (mirror próprio)
wget https://nextcloud.wedson.com.br/s/5FL5CFe2PqDG9ax/download/MegaCli-8.07.14-1.noarch.rpm --no-check-certificate

# Instalação
rpm -Uvh MegaCli-8.07.14-1.noarch.rpm

StorCLI

wget https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p1544409578/v233762/storcli-007.2613.0000.0000-1.noarch.rpm
rpm -Uvh storcli-007.2613.0000.0000-1.noarch.rpm

The official installation path for StorCLI on Linux varies depending on the source: it may install to /opt/MegaRAID/storcli/storcli64 (Dell/MegaRAID) or to /opt/lsi/storcli/storcli (generic Broadcom package). Always confirm with find / -iname "storcli*" 2>/dev/null after installation.

Permanent aliases

vim ~/.bash_profile

Add:

alias megacli='/opt/MegaRAID/MegaCli/MegaCli64'
alias storcli='/opt/MegaRAID/storcli/storcli64'

Reload:

source ~/.bash_profile

In non-interactive sessions (scripts/cron), use the full path instead of relying on the alias — aliases are not expanded by default in non-interactive shells.

3. Controller Identification

# Via lspci, filtrando por fabricante/classe
lspci -v | grep -E "RAID|SAS|SCSI|LSI|MegaRAID|PERC"

Example output (old controller):

05:00.0 SCSI storage controller: Broadcom / LSI SAS1068E PCI-Express Fusion-MPT SAS (rev 08)
	Subsystem: Dell SAS 6/iR Adapter RAID Controller
# Via class code 0104 (RAID bus controller) — mais preciso para identificar o chip exato
lspci -d::0104 -m

Example output (modern controller):

03:00.0 "RAID bus controller" "Broadcom / LSI" "MegaRAID SAS-3 3108 [Invader]" -r02 "Dell" "PERC H730P Adapter"

Correction: the correct PCI class filter for RAID controllers is 0104, not 104. Use lspci -d::0104 -m (with the two colons before) to filter only devices of the "RAID bus controller" class, reducing noise on servers with multiple SCSI/SAS controllers.

4. MegaCli — Query Commands

# Informações completas da controladora
megacli -AdpAllInfo -aall

# Todos os volumes lógicos (Virtual Drives)
megacli -LDInfo -Lall -aall

# Todos os discos físicos
megacli -PDList -aall

# Tipo de disco (SAS/SATA/SSD)
megacli -PDList -aall | grep -i "PD Type:"

# Dados de identificação (modelo, fabricante, firmware, serial)
megacli -PDList -aall | grep -i "Inquiry Data:"

# Tamanho bruto do disco
megacli -PDList -aall | grep -i "Raw Size:"

# Tamanho "coerced"/forçado (capacidade utilizável após normalização)
megacli -PDList -aall | grep -i "Coerced Size:"

# Velocidade do dispositivo (negociada)
megacli -PDList -aall | grep -i "Device Speed:"

# Velocidade do link (capacidade da controladora/porta)
megacli -PDList -aall | grep -i "Link Speed:"

# Temperatura do disco
megacli -PDList -aall | grep -i "Drive Temperature"

# Enclosure ID dos discos
megacli -PDList -aall | grep -i "Enclosure Device ID:"

# Enclosure + Slot
megacli -PDList -aall | grep -E "Enclosure Device ID:|Slot Number:"

# Enclosure + Slot + Modelo do disco
megacli -PDList -aall | grep -E "Enclosure Device ID:|Slot Number:|Inquiry Data:"

# Informações do(s) enclosure(s)
megacli -EncInfo -aALL

# Status de firmware de todos os discos (visão geral rápida de saúde do array)
megacli -PDList -aAll | grep "Firmware state"

Correction: the original document had "Non Coerced Size" — the correct attribute returned by MegaCli is Coerced Size: (size after normalization/coercion for array disk pairing purposes). There is also Non Coerced Size: in some versions, which is the actual size without adjustment — both can be useful depending on the diagnosis, but it's important not to confuse one with the other when planning disk replacement.

5. MegaCli — Physical Disk Management

# Ejetar disco do SO Linux (antes de remoção fisica seguro / hot-remove)
echo 1 | sudo tee /sys/block/sdb/device/delete

# Criar disco JBOD (apresentar disco bruto sem RAID)
megacli -PDMakeJBOD -PhysDrv[32:9] -a0

# Marcar disco(s) como "Unconfigured Good" — necessário antes de criar array em discos JBOD/Foreign
megacli -PDMakeGood -PhysDrv[62:0] -a0
megacli -PDMakeGood -PhysDrv[62:1] -force -a0   # -force ignora avisos de dados existentes — USE COM CUIDADO

# Marcar disco como offline
megacli -PDOffline -PhysDrv[32:5] -a0

# Marcar disco como online (após reconexão, se aplicável)
megacli -PDOnline -PhysDrv[32:5] -a0

# Localizar fisicamente o disco (acende o LED da baía)
megacli -PdLocate -start -physdrv[32:5] -a0
megacli -PdLocate -stop  -physdrv[32:5] -a0

# Apagar dados de segurança / preparar disco para reuso completo (SECURE ERASE — IRREVERSÍVEL)
megacli -PDInstantSecureErase -PhysDrv[32:5] -a0

⚠️ -PDInstantSecureErase irreversibly erases all data on the disk. Use only for decommissioning or secure disposal, never on production disks.

6. MegaCli — RAID Creation

Before any array creation, always confirm the Enclosure ID and Slot Number with:

megacli -PDList -aall | grep -E "Enclosure Device ID:|Slot Number:"

RAID 0

# E = Enclosure, S = Slot
megacli -CfgLdAdd -r0 [E:S] -a0

# Exemplo
megacli -CfgLdAdd -r0 [69:2,69:3] -a0

RAID 1

megacli -CfgLdAdd -r1 [E:S] -a0

# Exemplo
megacli -CfgLdAdd -r1 [69:2,69:3] -a0

RAID 5

# Necessário no mínimo 3 discos
megacli -CfgLdAdd -r5 [E:S,E:S,E:S] WB ADRA -a0

# Exemplo
megacli -CfgLdAdd -r5 [32:0,32:1,32:2] WB ADRA -a0

RAID 10

# Pares de E:S — striping sobre mirrors
megacli -CfgLdAdd -r10 [E:S,E:S,E:S,E:S] WB ADRA -a0

# Exemplo (4 discos: 2 pares espelhados em stripe)
megacli -CfgLdAdd -r10 [69:0,69:1,69:2,69:3] WB ADRA -a0

Note about WB and ADRA: WB = WriteBack (write cache enabled — better performance, requires a healthy BBU/supercapacitor to be safe). ADRA is not an officially documented MegaCli parameter — the correct term for automatic read-ahead is ADRA only in some builds; the default and widely documented parameter is RA (Read Ahead) or NORA (No Read Ahead). If the ADRA command is rejected by your version of MegaCli, replace it with RA:

megacli -CfgLdAdd -r5 [32:0,32:1,32:2] WB RA -a0

"Pass-through" disk (Non-RAID / present disk without RAID)

megacli -CfgLdAdd -r0[<Adapter>:<DiskID>] Direct -a0

# Exemplo
megacli -CfgLdAdd -r0[32:6] Direct -a0

Complete workflow to present a "pure" disk to the OS:

# 1. Identificar o disco
megacli -PDList -aALL

# 2. Criar virtual drive pass-through (RAID0 single-disk, Direct I/O)
megacli -CfgLdAdd -r0[32:6] Direct -a0

# 3. Confirmar criação
megacli -LDInfo -Lall -aALL

# 4. Particionar e formatar no Linux
fdisk /dev/sdX        # ou parted
mkfs.ext4 /dev/sdX1   # ou xfs, conforme necessidade

Rename Virtual Drive (VD)

# 1. Confirmar o número lógico do VD antes de renomear
megacli -LDInfo -Lall -aall

# 2. Renomear
megacli -LDSetProp -Name 'backup' -L1 -a0

Remove Virtual Drive

megacli -CfgLdDel -L0 -a0   # apaga VD/Logical Drive 0
megacli -CfgLdDel -L1 -a0   # apaga VD/Logical Drive 1

⚠️ CfgLdDel deletes all data on the logical volume. Always have a confirmed backup beforehand.

7. MegaCli — Hot Spare, Rebuild, and Foreign Configurations

Hot Spare

# Hot spare dedicado a um array específico
megacli -PDHSP -Set -Dedicated -Array0 -PhysDrv[32:8] -a0

# Hot spare global (serve qualquer array da controladora)
megacli -PDHSP -Set -PhysDrv[32:8] -a0

# Remover hot spare
megacli -PDHSP -Rmv -PhysDrv[32:8] -a0

Monitor Rebuild

# Visão geral de status de firmware (identifica qual disco está em "Rebuild")
megacli -PDList -aAll | grep "Firmware state"

# Progresso detalhado de rebuild de um disco específico
megacli -PDRbld -ShowProg -PhysDrv [32:5] -aAll

Example output:

Rebuild Progress on Device at Enclosure 32, Slot 5 Completed 62% in 234 Minutes.
Exit Code: 0x00

Operational tip: run the progress command in a loop (watch -n 60 "megacli -PDRbld -ShowProg -PhysDrv [32:5] -aAll") to monitor without manually repeating.

Foreign Configurations

Occurs when disks with previous RAID configuration (from another controller or after reinsertion) are detected.

# Listar configurações estrangeiras detectadas
megacli -CfgForeign -Scan -aAll

# Importar a configuração estrangeira (mantém os dados e o array original)
megacli -CfgForeign -Import -aAll

# Limpar (descartar) configurações estrangeiras — APAGA o metadado RAID do disco
megacli -CfgForeign -Clear -aAll

⚠️ -Clear does not erase the data itself, but removes the RAID metadata — without it, the controller no longer recognizes the old array. Use Import when you want to recover data; use Clear only when you are sure you will reconfigure the disk from scratch.

8. MegaCli — Patrol Read and Consistency Check

Commands not present in the original document, but essential for preventive disk health maintenance.

# Ver configuração atual do Patrol Read
megacli -AdpPR -Info -aALL

# Habilitar Patrol Read automático
megacli -AdpPR -EnblAuto -aALL

# Iniciar Patrol Read manualmente
megacli -AdpPR -Start -aALL

# Parar Patrol Read em andamento
megacli -AdpPR -Stop -aALL

# Consistency Check — verificar paridade do array (RAID 5/6/10)
megacli -LDCC -Start -LAll -aALL
megacli -LDCC -ShowProg -LAll -aALL
megacli -LDCC -Stop -LAll -aALL

# Agendar Consistency Check automático
megacli -AdpCcSched -SetConfig -enable -aALL

Patrol Read proactively checks for media errors on all disks (even those not used in arrays). Consistency Check verifies whether the calculated parity data matches the actual data — essential for RAID 5/6/10 before a real disk failure exposes inconsistency. It is recommended to schedule both monthly during low-load periods.

9. MegaCli — BBU (Battery Backup Unit)

Critical for environments with WriteBack cache enabled — without a healthy BBU, the controller typically automatically reverts to WriteThrough (slower, but safe against power loss).

# Status completo da BBU
megacli -AdpBbuCmd -GetBbuStatus -aALL

# Informações de capacidade/design
megacli -AdpBbuCmd -GetBbuCapacityInfo -aALL

# Iniciar ciclo de aprendizado (recalibração) da bateria
megacli -AdpBbuCmd -BbuLearn -aALL

The Learn cycle fully discharges and recharges the battery to recalibrate the charge estimate — during this process, the controller typically temporarily disables WriteBack. Plan for maintenance windows, as write performance may drop during the cycle.

10. Real Scenario: No Backplane (No Backplane Scenario)

On directly connected disks (without backplane/enclosure — common with SATA SSDs connected directly to the controller), the Enclosure Device ID appears as N/A. In these cases, omit the enclosure in the [E:S] syntax, using only [:S].

megacli -PDList -aall | grep -E "Enclosure Device ID:|Slot Number:|Inquiry Data:"

Example of real output (srvoracle-stb):

Enclosure Device ID: 32
Slot Number: 3
Inquiry Data: B9KWJTNF    Hitachi HUA722020ALA331    JKAOA3FD

Enclosure Device ID: N/A
Slot Number: 0
Inquiry Data: YS202010011025AA    SSD 1TB    FW210415
# Progresso de rebuild quando não há enclosure (note o espaço antes dos dois-pontos)
megacli -PDRbld -ShowProg -PhysDrv [:2] -aALL

Output:

Rebuild Progress on Device at Enclosure N/A, Slot 2 Completed 75% in 1072 Minutes.
Exit Code: 0x00

Attention to the rebuild time in this real case: 1074 minutes (~17.9 hours) stuck at 75% indicates possible severe performance degradation (old Hitachi 2TB SATA disks, possibly with reallocated sectors) or high concurrent I/O load during the rebuild. When the rebuild gets stuck at a percentage for a long time without visible progress between checks, verify:

  • Media errors on the disk (megacli -PDList -aall | grep -i "Media Error")

  • Application I/O load during the rebuild (rebuild competes for IOPS with production)

  • Rebuild rate configured on the controller (megacli -AdpSetProp RebuildRate -aALL)

11. Real Scenario: IBM x3650 M4 Conversion — JBOD to RAID

Documented procedure to convert JBOD disks into disks eligible for RAID arrays, and then create two RAID 10 arrays from 8 disks.

# Passo 1: Converter cada disco JBOD para "Unconfigured Good" (necessário antes de qualquer array)
megacli -PDMakeGood -PhysDrv[62:0] -force -a0
megacli -PDMakeGood -PhysDrv[62:1] -force -a0
megacli -PDMakeGood -PhysDrv[62:2] -force -a0
megacli -PDMakeGood -PhysDrv[62:3] -force -a0
megacli -PDMakeGood -PhysDrv[62:4] -force -a0
megacli -PDMakeGood -PhysDrv[62:5] -force -a0
megacli -PDMakeGood -PhysDrv[62:6] -force -a0
megacli -PDMakeGood -PhysDrv[62:7] -force -a0

# Passo 2: Criar dois arrays RAID 10 via CfgSpanAdd
# (cada par é um mirror, e os mirrors são combinados em stripe)
megacli -CfgSpanAdd -r10 -Array0[62:0,62:1] -Array1[62:2,62:3] WT RA Direct -a0
megacli -CfgSpanAdd -r10 -Array0[62:4,62:5] -Array1[62:6,62:7] WT RA Direct -a0

⚠️ -force in PDMakeGood ignores warnings about existing configuration or previous data on the disk — confirm that there is no relevant data before using it. This procedure is destructive to any previous content on the JBOD disks.

Note that here WT (WriteThrough) was used instead of WB — a deliberate safety choice in an environment without confirmed BBU, since WriteThrough writes directly to disk without relying on volatile cache.

12. StorCLI — Complete Cheat Sheet

With StorCLI, the binary path on Linux is typically /opt/MegaRAID/storcli/storcli64 (Dell) or /opt/lsi/storcli/storcli (generic Broadcom) — confirm which one exists on your system. The examples below use storcli64, but the syntax is identical for storcli.

General

storcli64 -v                  # Versão da ferramenta
storcli64 show                # Lista controladoras disponíveis
storcli64 show all            # Detalhes de todas as controladoras
storcli64 /c0 show            # Status resumido da controladora 0
storcli64 /c0 show all        # Detalhes completos da controladora 0
storcli64 /c0 show events     # Log de eventos
storcli64 /c0 show termlog    # Log de terminal (eventos recentes)
storcli64 /c0 show alarms     # Status de alarme físico (buzzer)
storcli64 /c0 show help       # Ajuda contextual de comandos

Virtual Drives (RAID Volumes)

storcli64 /c0/vall show           # Todos os VDs da controladora 0
storcli64 /c0/v0 show             # Detalhes do VD 0
storcli64 /c0/v0 show all         # Detalhes completos (inclui propriedades de cache)
storcli64 /c0/v0 delete           # Remove o VD 0 (sem force = falha se houver dados/MBR)
storcli64 /c0/v0 delete force     # Remove o VD 0 mesmo com dados existentes — IRREVERSÍVEL
storcli64 /c0/v0 set wb           # Habilita WriteBack no VD 0
storcli64 /c0/v0 set wt           # Habilita WriteThrough no VD 0
storcli64 /c0/v0 set rdcache=ra   # Habilita Read Ahead
storcli64 /c0/v0 set rdcache=nora # Desabilita Read Ahead
storcli64 /c0/v0 set name=backup  # Renomeia o VD 0
storcli64 /c0/v0 start init       # Inicializa (zera) o VD — apaga dados
storcli64 /c0/v0 show init        # Mostra progresso de inicialização
storcli64 /c0/v0 start cc         # Inicia Consistency Check no VD 0
storcli64 /c0/v0 show cc          # Mostra progresso de Consistency Check
storcli64 /c0/v0 show bgi         # Mostra progresso de Background Initialization
storcli64 /c0/v0 show migrate     # Mostra progresso de migração de RAID level/expansão

Physical Drives

storcli64 /c0/pall show              # Todos os discos físicos
storcli64 /c0/eall/sall show all     # Detalhes completos via enclosure/slot
storcli64 /c0/e32/s5 show            # Detalhes do disco no enclosure 32, slot 5
storcli64 /c0/e32/s5 set good        # Marca disco como Unconfigured Good
storcli64 /c0/e32/s5 set offline     # Marca disco como offline
storcli64 /c0/e32/s5 set missing     # Marca disco como missing
storcli64 /c0/e32/s5 start locate    # Acende LED de localização
storcli64 /c0/e32/s5 stop locate     # Apaga LED de localização
storcli64 /c0/e32/s5 show all        # SMART, temperatura, contadores de erro de mídia

Hot Spares

storcli64 /c0/e32/s3 add hotsparedrive             # Hot spare global
storcli64 /c0/e32/s3 add hotsparedrive dgs=0       # Hot spare dedicado ao Drive Group 0
storcli64 /c0/e32/s3 delete hotsparedrive          # Remove hot spare

Foreign Configuration

storcli64 /c0/fall show       # Lista configurações estrangeiras
storcli64 /c0/fall import     # Importa todas
storcli64 /c0/fall delete     # Descarta todas (apaga metadado, não os dados)

Battery Backup Unit (BBU)

storcli64 /c0/bbu show all      # Status completo da bateria
storcli64 /c0/bbu show events   # Eventos relacionados à BBU
storcli64 /c0/bbu start learn   # Ciclo de aprendizado/recalibração

Controller Global Cache

storcli64 /c0 show preservedcache         # Verifica se há cache preservado (write-pending órfão)
storcli64 /c0 delete preservedcache       # Descarta cache preservado órfão — risco de perda de dados não comitados
storcli64 /c0 set cacheflushint=10        # Intervalo de flush de cache em segundos
storcli64 /c0 show cacheflushint          # Mostra intervalo configurado

Scheduled Consistency Check (Global)

storcli64 /c0 set cc=conc delay=168 starttime=2026/07/01 00
storcli64 /c0 show cc

Firmware

storcli64 /c0 download file=firmware.rom   # Atualiza firmware da controladora
storcli64 /c0/fwbackup file=backup.rom     # Backup do firmware atual
storcli64 /c0/fwpkg show                   # Informações do pacote de firmware

Detailed Configuration

storcli64 /c0/cfgdsply        # Exibe configuração detalhada
storcli64 /c0/cfgdsply full   # Exibe configuração RAID completa (todos os DGs/VDs/PDs)

13. StorCLI — Volume Creation (Correct Syntax and Cache Flags)

Important correction relative to the original document: the syntax storcli64 /c0 add vd r0 drives=0:0,0:1 works in some older versions, but the official and recommended syntax by Broadcom, valid in all current versions, is:

storcli64 /cX add vd type=raidN drives=<EID>:<Slot> [flags de cache] [name=NOME]

General syntax

storcli64 /c0 add vd type=raid[0|1|5|6|10|50|60] \
  drives=<EID>:<Slot>[,<EID>:<Slot>...] \
  [WT|WB|AWB] [ra|nora] [direct|cached] [pdcache=on|off|default] \
  [name=<NOME>] [Strip=<8|16|32|64|128|256|512|1024>]

Practical examples

# RAID 0, dois discos, WriteBack + Read Ahead, I/O direto
storcli64 /c0 add vd type=raid0 drives=69:2,69:3 wb ra direct

# RAID 1
storcli64 /c0 add vd type=raid1 drives=69:2,69:3 wb ra direct

# RAID 5, três discos, com nome customizado
storcli64 /c0 add vd type=raid5 drives=32:0,32:1,32:2 wb ra direct name=dados01

# RAID 10, quatro discos
storcli64 /c0 add vd type=raid10 drives=69:0,69:1,69:2,69:3 wb ra direct

# RAID 10 com 12 discos e 2 discos por array (sintaxe de range)
storcli64 /c0 add vd type=raid10 drives=7:0-11 pdperarray=2 wt cached

# Disco "pass-through" (apresentar disco bruto ao SO) com pdcache desabilitado
# — recomendado para SSDs sem capacitor de energia em uso single-disk
storcli64 /c0 add vd type=raid0 drives=6:2 direct wb ra pdcache=off

About pdcache=off on individual disks: when a SATA disk does not have its own power-loss protection capacitor, its internal write cache may lose uncommitted data on a power failure, even with a healthy controller BBU — because the BBU protects the controller cache, not the disk's internal cache. Therefore, in more conservative deployments, it is common to disable pdcache per disk.

Delete Virtual Drive

storcli64 /c0/v0 delete          # falha se houver MBR/dados
storcli64 /c0/v0 delete force    # força remoção mesmo com dados — IRREVERSÍVEL
storcli64 /c0/vall delete        # remove todos os VDs da controladora — EXTREMAMENTE DESTRUTIVO

14. StorCLI — CacheCade / SSD Caching

CacheCade uses an SSD (or pool of SSDs) as a read/write cache layer accelerating mechanical disks. Useful on servers with conventional SATA/SAS disks and at least one available SSD.

# 1. Criar a VD de CacheCade (RAID0 sobre o SSD dedicado a cache)
storcli64 /c0 add vd cachecade r0 drives=252:0 WB

# 2. Verificar o VD ID criado para o CacheCade
storcli64 /c0/vall show

# 3. Associar/habilitar o caching no VD de dados que vai se beneficiar do cache
storcli64 /c0/v0 set ssdcaching=on

# 4. Confirmar (coluna "Cac" deve indicar "ON")
storcli64 /c0/vall show

# Remover associação de CacheCade de um VD específico
storcli64 /c0/v0 del cachecade

# Remover o CacheCade por completo
storcli64 /c0/v1 del cachecade

⚠️ Caution when using single-disk RAID0 for CacheCade in WriteBack mode: without redundancy, failure of the cache SSD can lead to loss of write data not yet committed to the original mechanical disk. Use RAID0 + WB only if the server is tolerant of this risk (e.g., cache proxy, non-critical data) or, ideally, use 2+ SSDs in RAID1 for CacheCade when the use case requires reliability.

Reading the Cache column in show: NRWBD = No Read Ahead + WriteBack + Direct I/O. RAWBD = Read Ahead + WriteBack + Direct.

15. Troubleshooting / Known Issues

"controller has data in cache for offline or missing virtual disks"

Occurs when a disk was removed without the proper procedure and the controller still holds uncommitted write data (preserved cache) referring to a now missing/offline VD. This blocks the creation of new VDs, even on different disks.

# Verificar se há cache preservado
storcli64 /c0 show preservedcache

# Descartar o cache preservado (PERDE os dados de escrita não confirmados do VD ausente)
storcli64 /c0 delete preservedcache

On reboot, this state may also appear as a POST message that halts boot until resolved in the controller BIOS (Ctrl+R / RAID BIOS access key) or via StorCLI before the next boot.

Extremely slow or stuck rebuild at a percentage

Check:

megacli -AdpSetProp RebuildRate -aALL          # taxa de rebuild configurada (0-100%)
megacli -PDList -aall | grep -i "Media Error"  # erros de mídia no disco em rebuild

Common causes: source disk with defective sectors, high concurrent application I/O load competing with the rebuild, rebuild rate configured too low to prioritize production.

Disk appears as "UBAD" (Unconfigured Bad)

Occurs when a previously used disk is incorrectly removed and reconnected — the controller marks it as potentially inconsistent for safety.

# Forçar volta a Unconfigured Good (somente se tiver certeza de que o disco está saudável)
megacli -PDMakeGood -PhysDrv[E:S] -force -a0
# ou em StorCLI
storcli64 /c0/eE/sS set good force

Controller physical buzzer/alarm

megacli -AdpSetProp AlarmDsbl -aALL    # desabilita o alarme sonoro
megacli -AdpSetProp AlarmEnbl -aALL    # reabilita
# StorCLI equivalente
storcli64 /c0 set alarm=off
storcli64 /c0 set alarm=on

16. Quick Reference Status Table

Firmware State (physical disks)

VD State / Access (StorCLI)

Cache ("Cache" column in StorCLI)

17. Operational Best Practices

  • Always confirm Enclosure ID and Slot Number before any destructive command (-PDList/show all) — wrong numbers can destroy the wrong array.

  • Confirmed backup before any CfgLdDel, delete force, PDMakeGood -force, or PDInstantSecureErase.

  • Never use WB/AWB without confirming that the BBU is healthy (AdpBbuCmd -GetBbuStatus / /c0/bbu show all) — otherwise, power loss can corrupt data in transit.

  • Monitor Patrol Read and Consistency Check periodically; it is the only way to detect silent parity/media errors before they affect production.

  • Document the mapping Enclosure:Slot → physical disk → VD function per server — essential for remote diagnostics and handoff between teams.

  • Prefer StorCLI over MegaCli on SAS-3 (3108) or newer controllers — it is the officially maintained tool by Broadcom.

  • In automation scripts, always use the full binary path instead of relying on aliases, and capture the returned Exit Code to validate success.

Sources and References

  • Broadcom — StorCLI Reference Manual (53419-00, Rev. F)

  • Dell — Knowledge Base: VD configuration with StorCLI and handling of "preserved cache"

  • Nyverra internal documentation — field procedures (IBM x3650 M4, srvoracle-stb, srvoracle-prod)

  • Thomas-Krenn Wiki — StorCLI commands

  • Community (gist pjobson) — MegaCli installation on Linux Mint 22

Internal reference document — Nyverra Tecnologia Ltda. Last revision: 06/23/2026.

Share

Keep reading

Read also

  • StorCLI - Complete Cheat Sheet

    StorCLI - Complete Cheat Sheet

    StorCLI is the official and modern tool for managing Broadcom/LSI RAID controllers. This guide covers essential commands, syntax and use cases.

    31 de outubro de 202612 min de leitura
  • Business Services in Nyverra Portal: Translating IT into Business
    Tutoriais

    Business Services in Nyverra Portal: Translating IT into Business

    The business doesn't feel a server go down — it feels email stop. The Business Services (Service Mapping) module of Nyverra ITSM Portal connects services like Email, ERP or PACS to CMDB assets, revealing the real impact of each failure.

    31 de outubro de 20265 min de leitura
  • RPO vs RTO: How to Define Before Buying Backup (and Why Most Companies Get It Wrong)
    Segurança

    RPO vs RTO: How to Define Before Buying Backup (and Why Most Companies Get It Wrong)

    Most companies buy backup asking the wrong question: "how much does it cost?". The right question is: how much data can I lose (RPO) and how long can I be down (RTO). Discover how to define these numbers per system and avoid purchasing protection based on price, not on real need.

    31 de outubro de 20269 min de leitura

Comments

No comments yet

Be the first to share your thoughts on this article.

Leave a comment

Newsletter

Get new articles

Subscribe to receive Nyverra blog posts in your inbox. We will send a confirmation link.

​
  1. Home
  2. Armazenamento
  3. LSI / Broadcom MegaRAID Manual — MegaCli and StorCLI
ArmazenamentoTutoriais
#MegaCli#linux#Administração de Sistemas#StorCLI#storage#RAID

LSI / Broadcom MegaRAID Manual — MegaCli and StorCLI

AAdministrador Nyverra
31 de outubro de 202619 min de leitura