É 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
-
Inicie um terminal Linux
Isso é Ctrl + Alt + T usando o LiveCD do Ubuntu. / sub> -
Certifique-se de que a sua ligação à Internet está a funcionar
Para transferir e instalar componentes adicionais -
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
-
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). -
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
-
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.