Gemenskapslösning

ZimaBoard HBA upptäcks inte: kontroller av BIOS och PCIe

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

Slutsats: Den ursprungliga ZimaBoard kan behöva justera sin PCIe-rotnod innan en LSI-HBA visas

Det användbara resultatet från det riktiga hårdvarutestet är specifikt: en LSI SAS2008-klassad HBA identifierades inte och dess option ROM lästes inte in förrän PCIe-inställningarna ändrades i BIOS på den ursprungliga ZimaBoard. Efter att rotnoden som användes av kortplatsen hade justerats blev både HBA:ns firmware och de anslutna diskarna synliga. Betrakta dessa inställningar som en kompatibilitetslösning för det ursprungliga kortet, inte som en universell metod för ZimaBoard 2 eller alla HBA:er.

Börja med att skilja mellan tre olika felnivåer

En HBA kan fallera på tre ställen: firmware räknar aldrig upp kortet, Linux ser PCIe-enheten men drivrutinen binds inte, eller så läses drivrutinen in men inga anslutna diskar visas. Kontrollera dem i den ordningen.

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

Linux SCSI-delsystem beskriver lagringsdrivrutinsskiktet, medan PCI-enhetsinspektion är det snabbaste sättet att bevisa om kortet över huvud taget finns på PCIe.

Använd den historiska BIOS-lösningen endast när kortet saknas på PCIe-nivå

På den ursprungliga ZimaBoard var sökvägen som testades BIOS → Chipset → South Cluster Configuration → PCI Express Configuration. I det lyckade fallet aktiverades de relevanta PCIe-alternativen och PCI Express Root Port 3 ändrades sedan till ASPM Auto, PCIe Speed Gen 2 och Transmit Half Swing Enabled. En annan ägare bekräftade senare att samma ändringar för Port 3 fick en LSI SAS2008-HBA att visas.

Anteckna varje ursprungligt värde innan du ändrar firmwareinställningarna. Om Port 3 inte är den fysiska sökväg som används av din kortrevision eller adapter innebär det att ändra Port 4–6 på måfå bara att fler variabler tillkommer utan att något bevisas.

HBA:ns option ROM krävs inte bara för att använda datadiskar

Exemplet ovan lyfte också fram att HBA:ns BIOS till slut lästes in och kunde visa anslutna diskar som startalternativ. Det är användbart om du vill starta via HBA:n, men en HBA som endast används för lagring behöver inte nödvändigtvis köra sin option ROM. Om Linux ser HBA-drivrutinen och de anslutna diskarna kan du använda diskarna även om du aldrig öppnar en HBA-konfigurationsskärm.

Denna skillnad förhindrar en vanlig återvändsgränd: att lägga timmar på att aktivera start-ROM-funktioner när det egentliga målet bara är att göra diskarna tillgängliga för ZimaOS.

Använd HBA- eller IT-läge när ZimaOS ska se enskilda diskar

För programvaruhanterad RAID, ZFS eller direkt övervakning av diskhälsa bör operativsystemet normalt se varje fysisk disk. Hårdvaru-RAID-firmware som döljer många diskar bakom en virtuell volym förändrar SMART-synligheten och återställningsmodellen. På LSI/Broadcom-kort bör du bekräfta att firmware körs i ett pass-through-/HBA-orienterat läge som passar din lagringsdesign innan du bygger arrayen.

Flasha inte HBA-firmware bara för att en annan SAS2008-ägare gjorde det. Den exakta styrmodellen, OEM-firmware och kortrevisionen spelar roll.

Verifiera varje disk innan du skapar RAID

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

Kontrollera att varje ansluten disk har förväntad modell och kapacitet. En saknad medlem, fel sektorstorlek eller instabil SAS-kabel är ett separat problem från PCIe-identifiering. Skapa aldrig en ny RAID bara för att testa om HBA:n fungerar om diskarna innehåller data.

Använd inte ursprungliga ZimaBoard-BIOS-värden på ZimaBoard 2

ZimaBoard 2 är en annan hårdvarugeneration. Använd dess egen firmware och PCIe-beteende i stället för att kopiera värden från menyn South Cluster från ett inlägg från 2024 om det ursprungliga kortet. ZimaBoard 2-hårdvaran är den relevanta plattformsreferensen. Om det verkliga behovet bara är fler SATA-dataportar och inte SAS-/HBA-funktioner kan PCIe-SATA-expansion minska komplexiteten.

När HBA:n fortfarande inte visas

Testa kortet i en annan dator som du vet fungerar, ta bort onödiga PCIe-enheter, uppdatera endast korrekt firmware för kortet eller HBA:n och samla in lspci -nn samt kärnmeddelanden. Om Linux aldrig ser PCI-funktionen ska du stanna på firmware-/PCIe-nivån. Om PCI ser den men inga diskar visas går du vidare till drivrutinsbindning, HBA-firmware, kablage och diskström.

Vanliga frågor

Varför är min LSI SAS2008 osynlig på ZimaBoard?

På vissa system med den ursprungliga ZimaBoard förhindrade PCIe-rotnodens firmwareinställningar att HBA:n räknades upp korrekt. Bevisa felet med lspci innan du ändrar BIOS-värden.

Behöver jag HBA:ns BIOS-skärm?

Inte för vanlig användning av datadiskar om Linux redan identifierar styrenheten och diskarna. Option ROM är främst relevant för HBA-konfiguration eller start via styrenheten.

Bör en HBA använda IT-läge?

Pass-through-/HBA-orienterad firmware är i allmänhet enklare när ZimaOS, mdadm eller ZFS ska hantera enskilda diskar direkt.

Kan jag använda samma BIOS-inställningar på ZimaBoard 2?

Anta inte det. ZimaBoard 2 är en annan hårdvara och bör använda sitt eget firmwarebeteende samt aktuell supportinformation.

Varför ser lspci HBA:n men lsblk visar inga diskar?

Då ligger problemet under PCIe-identifieringen: kontrollera drivrutinsbindning, HBA:ns firmwareläge, SAS-/SATA-kablar, expandrar, diskström och kompatibiliteten hos de anslutna diskarna.