Megacli está me matando, qualquer ajuda apreciada

14

Eu corro um servidor com 2 unidades em raid0 configurado através do BIOS. Acabei de adicionar mais 2 unidades usando hotplug (o servidor é dell r610 com RHEL 5.4 64bit) e gostaria de configurar uma partição raid0 separada nessas unidades. Eu estou recebendo o seguinte erro:

/ opt / MegaRAID / MegaCli / MegaCli64 -CfgLdAdd r0 [32: 2, 32: 3] -a0

O disco físico especificado não possui os atributos apropriados para concluir o comando solicitado.

Código de saída: 0x26

Todos os parâmetros estão corretos e não há razão para que este comando não funcione; veja isso (o fujitsu é invasão atual, a Seagate é o novo que eu quero criar):

/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | egrep 'Adapter|Enclosure|Slot|Inquiry'
Adapter #0
Enclosure Device ID: 32
Slot Number: 0
Enclosure position: 0
Inquiry Data: FUJITSU MBD2147RC       D807D0A4PA101174
Enclosure Device ID: 32
Slot Number: 1
Enclosure position: 0
Inquiry Data: FUJITSU MBD2147RC       D807D0A4PA10115T
Enclosure Device ID: 32
Slot Number: 2
Enclosure position: 0
Inquiry Data: SEAGATE ST9300603SS     FS033SE0TF5K
Enclosure Device ID: 32
Slot Number: 3
Enclosure position: 0
Inquiry Data: SEAGATE ST9300603SS     FS023SE070FK

Eu também tentei configurar a unidade como hotspare, também algum erro estranho:

/ opt / MegaRAID / MegaCli / MegaCli64 -PDHSP -Set -physdrv [32: 3] -a0

Adaptador: 0: Defina a Unidade Física no EnclId-32 SlotId-3 como Falha de Reposição Quente.

Descrição do erro do FW: O dispositivo especificado está em um estado que não suporta o comando solicitado.

Código de saída: 0x32

Como você pode ver, o disco está no estado Desconfigurado, Bom:

Enclosure Device ID: 32
Slot Number: 3
Enclosure position: 0
Device Id: 3
Sequence Number: 1
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SAS
Raw Size: 279.396 GB [0x22ecb25c Sectors]
Non Coerced Size: 278.896 GB [0x22dcb25c Sectors]
Coerced Size: 278.875 GB [0x22dc0000 Sectors]
Firmware state: Unconfigured(good), Spun Up
SAS Address(0): 0x5000c50005cd20b1
SAS Address(1): 0x0
Connected Port Number: 3(path0)
Inquiry Data: SEAGATE ST9300603SS     FS023SE070FK
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: Foreign
Foreign Secure: Drive is not secured by a foreign lock key
Device Speed: Unknown
Link Speed: Unknown
Media Type: Hard Disk Device
Drive Temperature :30C (86.00 F)
Stefan
fonte

Respostas:

15

A unidade está marcada como "Estrangeira", provavelmente vem de outro controlador RAID. Eu acho que você pode precisar limpá-lo primeiro:

MegaCli64 -CfgForeign -Scan -Clear

wazoox
fonte
por um breve momento, apesar de você estar certo, até encontrei um comentário no google dizendo que "unidades com estado estrangeiro não são utilizáveis ​​em um novo controlador até que esse estado seja removido", também as unidades que estou tentando usar foram usadas anteriormente em outro servidor !!! no entanto, parece que o novo controlador não encontra nenhuma configuração estrangeira, veja abaixo: / opt / MegaRAID / MegaCli / MegaCli64 -CfgForeign -Scan -a0 Não há configuração estrangeira no controlador 0. ps. por que a formatação que funcionou durante "responder a uma pergunta" não está funcionando nos comentários?
Stefan
4
também / opt / MegaRAID / MegaCli / MegaCli64 -CfgForeign -Clear -aALL Não há nenhuma configuração estrangeira no controlador 0. #
Stefan
Mudei essas unidades para outro servidor (sem produção) e isso limpou o estado estrangeiro !!! unidades voltou para a servidor de produção, o Estado estrangeiro ainda é limpo, agora a tentar criar ataque a essas unidades :)
Stefan
1
sim, criando o ataque funcionou agora :) obrigado pela pista !!
Stefan
4
Minha versão do MegaRAID não gosta da Scanopção. Isso funcionou: /opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Clear -a0. Use -aALLpara todos os adaptadores.
Banjer 30/09/14
2

Estou envergonhado de dizer que tive esse problema hoje e perdi cerca de 2 horas da minha vida por não olhar para as unidades antes de tentar substituí-las.

A chave do problema aqui é o código de saída: 0x26 , que significa "Não é possível usar a unidade SATA (SAS) para substituir o SAS (SATA)".

O FUJITSU MBD2147RC são unidades SAS e o SEAGATE ST9300603SS são unidades SATA. Você não pode criar um RAID de hardware com unidades que usam protocolos diferentes. É tudo SAS ou SATA. Se você precisar misturá-los, poderá criar um RAID de software.

https://www.thomas-krenn.com/de/wiki/MegaCLI_Error_Messages possui uma lista dos códigos de erro do MegaCli.

Francisco Durán
fonte
1

Eu tive um problema semelhante e, para mim, ele precisava fazer:

megacli -PDMakeGood -PhysDrv '[64:6]' -Force -a0

Depois disso, eu poderia criar o ataque com o comando CfgLdAdd.

Baruch Even
fonte
1

Eu enfrentei o mesmo problema há muito tempo. Se ainda for relevante, você deve:

  • Verifique se você possui uma unidade não configurada (boa) :

    root@sto:~# sudo python scripts/megaraid_status.py
    c0uXpY  | SSD  | FECA075B010803000281Patriot Blast SAFM11.0 | 446.1 Gb | Unconfigured(good), Spun Up | 6.0Gb/s  | N/A  | [252:3]  | 0
    
  • Verifique a configuração estrangeira:

    root@sto# megacli -CfgForeign -Scan -aall
    There are 1 foreign configuration(s) on controller 0.
    Exit Code: 0x00
    
  • Limpe-o:

    root@sto# megacli -CfgForeign -Clear -aall
    Foreign configuration 0 is cleared on controller 0.
    Exit Code: 0x00
    

Fonte: http://sysadm.pp.ua/linux/monitoring-systems/megaraid-assembling-raid6.html

alex
fonte