Solução da comunidade

ZimaBoard HBA não detetado: verificações da BIOS e PCIe

An original ZimaBoard failed to recognize an LSI SAS2008 HBA until specific PCIe root-port settings were changed in BIOS.

Conclusão: a ZimaBoard original pode precisar de ajustes na porta raiz PCIe antes de reconhecer uma HBA LSI

O resultado útil do teste com hardware real é específico: uma HBA LSI da classe SAS2008 não foi reconhecida e a sua ROM de opção não foi carregada até as definições PCIe serem alteradas na BIOS da ZimaBoard original. Depois de ajustar a porta raiz utilizada pelo encaixe, tanto o firmware da HBA como os discos ligados ficaram visíveis. Considere estas definições uma solução de compatibilidade para a placa original, não uma receita universal para a ZimaBoard 2 ou para todas as HBA.

Comece por distinguir três níveis de falha diferentes

Uma HBA pode falhar em três pontos: o firmware nunca enumera a placa, o Linux deteta o dispositivo PCIe mas o controlador não é associado, ou o controlador é carregado mas não aparecem discos ligados. Verifique-os por esta ordem.

lspci -nn
dmesg | grep -i -E 'mpt|sas|scsi|pcie'
lsblk -o NAME,SIZE,MODEL,TRAN

O subsistema SCSI do Linux descreve a camada dos controladores de armazenamento, enquanto a inspeção de dispositivos PCI é a forma mais rápida de confirmar se a placa existe sequer no PCIe.

Aplique a solução histórica da BIOS apenas quando a placa estiver ausente ao nível do PCIe

Na ZimaBoard original, o caminho testado foi BIOS → Chipset → South Cluster Configuration → PCI Express Configuration. No caso bem-sucedido, foram ativadas as opções PCIe relevantes e, em seguida, a PCI Express Root Port 3 foi alterada para ASPM Auto, PCIe Speed Gen 2 e Transmit Half Swing Enabled. Mais tarde, outro proprietário confirmou que as mesmas alterações na Port 3 fizeram aparecer uma HBA LSI SAS2008.

Registe todos os valores originais antes de alterar as definições do firmware. Se a Port 3 não for o caminho físico utilizado pela revisão da sua placa ou pelo seu adaptador, alterar cegamente as Ports 4–6 acrescenta variáveis sem provar nada.

A ROM de opção da HBA não é necessária apenas para utilizar discos de dados

O caso original também destacou que a BIOS da HBA foi finalmente carregada e que podia disponibilizar os discos ligados como opções de arranque. Isso é útil se quiser arrancar através da HBA, mas uma HBA destinada apenas a armazenamento não precisa necessariamente de executar a ROM de opção. Se o Linux detetar o controlador da HBA e os discos ligados, pode utilizar esses discos mesmo sem entrar num ecrã de configuração da HBA.

Esta distinção evita um impasse comum: passar horas a ativar funcionalidades da ROM de arranque quando o verdadeiro objetivo é apenas disponibilizar os discos ao ZimaOS.

Utilize uma HBA ou o modo IT quando o ZimaOS deve ver as unidades individualmente

Para RAID gerido por software, ZFS ou monitorização direta do estado dos discos, o sistema operativo deve normalmente ver cada unidade física. O firmware de RAID por hardware, que oculta vários discos atrás de um único volume virtual, altera a visibilidade do SMART e o modelo de recuperação. Nas placas LSI/Broadcom, confirme se o firmware está a funcionar num modo de passagem orientado para HBA, adequado ao seu projeto de armazenamento, antes de criar a matriz.

Não atualize o firmware da HBA apenas porque outro proprietário de uma SAS2008 o fez. O modelo exato do controlador, o firmware OEM e a revisão da placa são importantes.

Verifique todos os discos antes de criar o RAID

lsblk -o NAME,SIZE,MODEL,SERIAL
smartctl -a /dev/sdX
cat /proc/mdstat

Certifique-se de que todos os discos ligados apresentam o modelo e a capacidade esperados. Um membro em falta, um tamanho de setor incorreto ou um cabo SAS instável é um problema separado da enumeração PCIe. Nunca crie um RAID novo apenas para testar se a HBA está a funcionar quando esses discos contêm dados.

Não aplique os valores da BIOS da ZimaBoard original à ZimaBoard 2

A ZimaBoard 2 é uma geração de hardware diferente. Utilize o firmware e o comportamento PCIe próprios da ZimaBoard 2, em vez de copiar os valores dos menus South Cluster de uma publicação de 2024 sobre a placa original. O hardware da ZimaBoard 2 é a referência relevante da plataforma. Se o requisito real for simplesmente obter mais portas SATA para dados, em vez de funcionalidades SAS/HBA, a expansão SATA PCIe poderá reduzir a complexidade.

Quando a HBA continua sem aparecer

Teste a placa noutro computador funcional, remova dispositivos PCIe desnecessários, atualize apenas o firmware correto da placa/HBA e recolha o resultado de lspci -nn juntamente com as mensagens do kernel. Se o Linux nunca vir a função PCI, continue a investigar na camada do firmware/PCIe. Se o PCI a detetar mas não aparecerem discos, passe a verificar a associação do controlador, o modo do firmware da HBA, os cabos, a alimentação dos discos e a compatibilidade dos discos ligados.

Perguntas frequentes

Porque é que a minha LSI SAS2008 não aparece na ZimaBoard?

Em alguns sistemas com a ZimaBoard original, as definições do firmware da porta raiz PCIe impediam a enumeração correta da HBA. Comprove a falha com lspci antes de alterar os valores da BIOS.

Preciso do ecrã da BIOS da HBA?

Não para a utilização normal de discos de dados, se o Linux já detetar o controlador e os discos. A ROM de opção é sobretudo relevante para a configuração do lado da HBA ou para arrancar através do controlador.

Devo utilizar o modo IT numa HBA?

Um firmware de passagem orientado para HBA é geralmente mais simples quando o ZimaOS, o mdadm ou o ZFS devem gerir diretamente os discos individuais.

Posso utilizar as mesmas definições da BIOS na ZimaBoard 2?

Não presuma que sim. A ZimaBoard 2 é um hardware diferente e deve utilizar o seu próprio comportamento de firmware e as informações de suporte atuais.

Porque é que o lspci deteta a HBA mas o lsblk não mostra discos?

Isso desloca o problema para uma camada abaixo da enumeração PCIe: verifique a associação do controlador, o modo do firmware da HBA, os cabos SAS/SATA, os expansores, a alimentação das unidades e a compatibilidade dos discos ligados.