Como atualizar o firmware da placa de expansão HP SAS sem o controlador Smart Array ou o Servidor Proliant?

2

Como posso atualizar / atualizar / atualizar o firmware de uma placa de expansão HP SAS [468406-B21 487738-001] ?

Eu costumava fazer isso usando o Windows e um controlador HP P410 Smart Array, mas esse controlador não está mais disponível.

O componente flash ROM on-line não é uma opção porque não possuo o controlador HP Smart Array. O HP Service Pack for ProLiant + chave USB / furar uma opção, porque isso requer um servidor ProLiant.

    
por Pro Backup 26.09.2014 / 17:31

1 resposta

10

É possível fazer upgrade do expansor HP SAS usando o Linux e um HBA do SAS.

Nota: O firmware intermitente de um expansor SAS provavelmente não funcionará quando o expansor estiver conectado a um SAS Controlador RAID porque esse controlador pode ocultar todos os dispositivos do sistema operacional. Um exemplo de um HBA SAS é o Supermicro SAS2LP-MV8 .

Caso você não tenha o Linux, você pode usar um Live CD do Linux. Você pode tentar o mais recente Live CD do Ubuntu . Um download de 32 bits funcionará. 64-Bit também funcionará.

1. Pré-requisitos

  1. Inicie um terminal Linux
    Isso é Ctrl + Alt + T usando o LiveCD do Ubuntu. / sub>

  2. Certifique-se de que a sua ligação à Internet está a funcionar
    Para transferir e instalar componentes adicionais

  3. Verifique se sua placa expansora SAS foi detectada no Linux
    # lsscsi -g | grep HP
    Deve retornar algo como: [6:0:0:0] enclosu HP HP SAS EXP Card 2.08 - /dev/sg1 e [6:0:1:0] enclosu HP HP SAS EXP Card 2.10 - /dev/sg2

2. Utilitário de configuração

Você usa sg_write_buffer version ≥ 1.15 para fazer o download do microcódigo quando o expansor está conectado a um adaptador de barramento de host (HBA). Para baixar e instalar este utilitário no Ubuntu ou Debian de 32 bits, use:

# curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb && 
curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb && 
dpkg -i *_1.39-0.1_i386.deb

A versão do utilitário sg_write_buffer ≥ 1.15 - distribuída em sg3_utils versão ≥ 1.39 - adicionou uma opção --bpw para baixar em pequenos blocos. Um expansor pode requerer um pequeno tamanho de bloco como 4096 bytes.

3. Obtenha e descompacte a imagem de firmware da HP

  1. Obtenha o arquivo de imagem do firmware do expansor, por exemplo versão 2.10 (C) - datado de 9 de setembro de 2014 :
    # curl -O http://downloads.hpe.com/pub/softlib2/software1/sc-linux-fw-array/p6670438/v96061/CP022989.scexe
    Embora eles soam como executáveis do Windows / DOS, .scexe arquivos da HP são realmente scripts executáveis do Linux que você pode ver em um editor de texto (pelo menos na primeira parte).

  2. Executando um Linux de 64 bits e tendo problemas com o próximo comando? Em seguida, verifique se você pode executar executáveis de 32 bits. Os comandos no Ubuntu são:
    # dpkg --add-architecture i386 && apt-get update && apt-get install libstdc++6:i386

  3. Para extrair a imagem do firmware desse arquivo .scexe:
    # mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/

4. Flash SAS expansor

Quando o expansor a ser atualizado / piscou é chamado sg1 (verifique com lsscsi -g | grep HP ) , use:

# sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg1
# sg_write_buffer --mode=activate_mc /dev/sg1

Dispositivos mais antigos podem suportar apenas --mode=0x7 . O modo 0x7 também é conhecido como dmc_offs_save , que faz o download do microcódigo com deslocamentos, salva e ativa.

5. Remover arquivos temporários

# rm PUF21000.bin

Talvez seja necessário descarregar (por exemplo modprobe -r mvsas ) e carregar (por exemplo, modprobe mvsas ) seu módulo HBA novamente ou reboot para refletir as alterações da versão do firmware em lsscsi -g output.

    
por 26.09.2014 / 17:31