PowerEdge: Ytelsesproblemer på Linux-verter når PERC- eller HBA-kontrollere bruker NVMe eller SSD
Summary: Linux-verten rapporterer redusert lagringsytelse ved bruk av PERC- eller HBA-kontrollere med tilkoblede SSD- eller NVMe-enheter.
Symptoms
Systemer som kjører Linux har lavere ytelse enn forventet på SSD- eller NVMe-disker som er koblet til via PERC- eller HBA-kontrollere. Symptomer inkluderer redusert IOPS, forhøyet ventetid eller suboptimal gjennomstrømming i forhold til forventede enhets- eller plattformfunksjoner.
Cause
Moderne PERC RAID- og HBA-kontrollere viser tilkoblede lagringsenheter til operativsystemet via en SCSI-enhetsmodell, selv når det underliggende mediet er NVMe. Siden disse enhetene vises som SCSI SAS-mål, bruker de fleste Linux-distribusjoner automatisk eldre planleggingspolicyer for blokk-I/O som er optimalisert for roterende harddisker. Når SSD- eller NVMe-enheter tvinges gjennom disse HDD-orienterte planleggerne, kan resultatet bli redusert gjennomstrømning og høyere ventetid sammenlignet med deres opprinnelige ytelse.
Relevante controllermodeller
- PERC: H740P, H840, H745, H345
- PERC: H750, H755, H350, H355
- PERC: H965, H365
- PERC: H975
- HBA345
- HBA355
- HBA465
Resolution
Se veiledningen for optimalisering av operativsystemlagring. Linux OS setter vanligvis planleggeren for opprinnelige NVMe-konfigurasjoner til "ingen".
Red Hat Enterprise Linux 8 og 9 "Setting the disk scheduler" guider:
- Innstilling av diskplanlegger v8(ekstern lenke)
- Innstilling av diskplanlegger v9(ekstern lenke)
SLES 15-SP6 "Tuning I/O performance" guide:
- Justering av I/O-ytelse(ekstern lenke)
For SSD- og NVMe-tilkoblede PERC- og HBA-konfigurasjoner kan endring av blokkplanleggeren til "ingen" vise forbedret ytelse.
Slik kontrollerer du gjeldende planlegger:
Kjør som superbruker cat /sys/block/{SD}/queue/scheduler der {SD} er enhetsblokkoppføringen under /dev (eksempel sda)
Skjermbilde som viser en planlegger satt til mq-deadline i Red Hat Enterprise Linux 9 for sda

Sett planleggeren til ingen:
Som superbruker, løp, echo "none" > /sys/block/{SD}/queue/scheduler der {SD} er enhetsblokkoppføringen under /dev (eksempel sda)
Skjermbilde som viser at planleggeren oppdateres til "ingen" for sda

/dev Blokker endringer av enhetsnavn. A UDEV -regelen kan legges til for enheten WWID for vedvarende å endre planleggeren til "ingen". Se brukerveiledningen for operativsystemet for instruksjoner om hvordan du oppretter UDEV regler eller lignende mekanismer for å angi blokkeringsenhetsparametere.
Ytterligere justeringer i operativsysteminnstillinger og endringer i strømprofiler kan være nødvendig for å oppnå maksimal kontroller- og diskytelse. Se dokumentasjonen for justering av operativsystemytelse og BIOS-strømprofil.