PowerFlex: PowerFlex SDC -ajurin kääntäminen tarvittaessa

Summary: Tässä tietoon perustuvassa artikkelissa kuvataan, miten PowerFlex SDC -ohjaimen kääntäminen otetaan käyttöön Linux-järjestelmissä.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Tämä ominaisuus on tarkoitettu mukautumaan Linux-ytimen Application Binary Interface (ABI) -muutoksiin, jotka voivat aiheuttaa eri ytimelle esikäännetyn SDC-ajurin latauksen epäonnistumisen.

Historiallisesti SDC-asennuspaketti Linuxille (RPM/DEB) sisälsi useita SDC-ydinmoduuleja kyseisen Linux-jakelun eri ytimiä varten. Käyttäjille, jotka asentavat jakeluihin, kuten Ubuntu, joka julkaisee usein ytimen päivityksiä, on ollut mahdollisuus määrittää SDC-palvelu muodostamaan yhteys Dellin SDC-ajurien etävarastoon ja yrittämään SDC: n lataamista siitä.

Uuden ominaisuuden avulla käyttäjät voivat kääntää täydellisen vastaavuuden SDC-ohjaimesta käynnissä olevalle ytimelleen luottamatta vastaavan SDC: n saatavuuteen ohjainvarastossa.

Huomautus: Itse käännettyä toimintoa tuetaan vain Linux-järjestelmissä, joissa SDC:tä tuetaan. Lisätietoja on PowerFlex-tukitaulukossa.

Kohderyhmä: Käyttäjät, jotka päivittävät ytimiään usein turvallisuussyistä ja jotka käyttävät erikoistuneita mukautettuja ytimiä, voivat hyötyä ominaisuudesta.

 

Edellytykset
Jotta kääntäminen onnistuu, seuraavat paketit on asennettava SDC-palvelun isäntään:

  • GNU C -kääntäjän (GCC), GCC: n uusin versio
  • GNU-merkki(1).
  • Käynnissä olevan ytimen kehityspaketti. Tämä paketti on yleisesti saatavana seuraavilla nimillä:
    • kernel-devel jakeluille, jotka käyttävät RPM-paketinhallintaa. (Red Hat, SUSE jne.)
    • linux-headers jakeluille käyttäen Debian-paketinhallintaa (Debian, Ubuntu, jne.)

Automaattinen tietojen kääntäminen
tarpeen mukaanSDC-ohjaimen automaattinen ja tarvepohjainen kääntäminen edellyttää, että isäntä täyttää kaikki edellä Edellytykset-osassa luetellut edellytykset. Kun SDC-ohjain avataan, SDC-palvelu yrittää kääntää SDC-ohjaimen, jos kaikki seuraavat ehdot täyttyvät:

  • Käynnissä olevaa ydintä vastaava SDC ei ole käytettävissä ajurin välimuistissa.
    Lisätietoja ohjainvälimuistista on alla olevassa Kuljettajan välimuisti -kohdassa.

  • Tiedosto nimeltä /etc/emc/scaleio/scini_sync/.build_scini Olemassa.
    Tiedoston sisältö ohitetaan. Käyttäjien tulee kuitenkin pitää se tyhjänä mahdollisia tulevia parannuksia varten.
    Tiedosto voidaan luoda suorittamalla touch(1) komento.

Manuaalinen kokoaminen
SDC-ohjain, käännösisännän on täytettävä kaikki edellä olevassa Edellytykset-osassa luetellut edellytykset.
Voit kääntää SDC-ohjaimen manuaalisesti seuraavasti:

  1. Kopioi käännöspaketti ohjaimen välimuistissa olevasta hakemistosta väliaikaiseen hakemistoon. Paketin sijainti riippuu PowerFlex-versiosta ja Linux-jakelusta.
    Esimerkiksi PowerFlex 3.6.3 SDC:n paketti Red Hat Enterprise Linux 9 -pohjaisille jakeluille on seuraava: /bin/emc/scaleio/scini_sync/driver_cache/RHEL9/3.6.3000.128/Dell-PowerFlex-scini_builder-3.6.3000.128.x86_64.tgz
    Lisätietoja ohjainvälimuistista on alla olevassa Kuljettajan välimuisti -kohdassa.

  2. Siirry väliaikaiseen hakemistoon ja pura käännöspaketti.
    Esimerkki:

    tar xzf Dell-PowerFlex-scini_builder-3.6.3000.128.x86_64.tgz
  3. Suorita build_driver.sh komentosarja, joka sijaitsee puretun sisällön ylimmällä tasolla. Ilman argumentteja komentosarja yrittää kääntää käynnissä olevan ytimen ajurin.
    Jos haluat kääntää toiselle ytimelle, anna kyseisen ytimen otsikkohakemistojen polku "-o" ja "-s" komentoriviargumentit.
    Lisätietoja kutsusta saat suorittamalla komennon

    build_driver.sh -h
  4. Käännösprosessin tulos tulostetaan vakiotulosteeksi.
    Onnistuneen kääntämisen jälkeen tuloksena syntyvä SDC-ohjaintiedosto, scini.ko, löytyy osoitteesta ./ini/scini.ko.

  5. Kopioi ajuritiedosto kääntämisen isännästä SDC-kohdeisäntään hakemistoon, joka vastaa ytimen kohdeversiota ja joka on ohjainvälimuistissa samassa sijainnissa kuin käännöspaketti.
    Esimerkiksi ytimen versiolle 5.14.0-362.24.1.el9_3.x86_64 yhteensopivan ajurin kohdepolku on /bin/emc/scaleio/scini_sync/driver_cache/RHEL9/3.6.3000.128/5.14.0-362.24.1.el9_3.x86_64/scini.ko.

 

Additional Information

Ajurin välimuisti
SDC-ohjain, joka on käännetty onnistuneesti tietylle ytimelle, kopioidaan ohjaimen välimuistin asianmukaiseen hakemistoon, eikä sen kääntämistä käynnistetä uudelleen.
Kuljettajan välimuistin sijainti on /bin/emc/scaleio/scini_sync/drive_cache.

Kokoa loki
Kun automaattinen on demand -kääntäminen on käytössä, kaikki käännöslokit liitetään /bin/emc/scaleio/scini_sync/driver_build.log.
Onnistunut kokoaminen päättyy seuraavanlaisiin viesteihin:

make: Entering directory '/usr/src/linux-headers-5.15.0-30-generic'
"Following additional compilation's conditions are defined:" 
BLK_MQ_HEADER 
BLK_DEV_MAX_SEGMENTS 
SOCKET_HAS_NET_IN_CREATE 
BIO_BI_BDEV 
BIO_BI_STATUS 
BLK_QUEUE_FLAG_FUNCS 
BLK_INITIALIZE_RMQ_FN 
WAIT_QUEUE_ENTRY_T 
HAS_SCSI_REQUEST 
HAS_SCSI_REQ 
HAS_SCSI_CMND 
HAS_SCSI_IOCTL 
HAS_SCSI_IOCTL_WITH_GENDISK 
HAS_QUEUE_FLAG_DISCARD 
HAS_DISK_LIVE_IN_GENHD 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_main.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_mos.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_net.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_ioctl.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_blk_io.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_blk_dev.o 
  LD [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.o 
"Following additional compilation's conditions are defined:" 
BLK_MQ_HEADER 
BLK_DEV_MAX_SEGMENTS 
SOCKET_HAS_NET_IN_CREATE 
BIO_BI_BDEV 
BIO_BI_STATUS 
BLK_QUEUE_FLAG_FUNCS 
BLK_INITIALIZE_RMQ_FN 
WAIT_QUEUE_ENTRY_T 
HAS_SCSI_REQUEST 
HAS_SCSI_REQ 
HAS_SCSI_CMND 
HAS_SCSI_IOCTL 
HAS_SCSI_IOCTL_WITH_GENDISK 
HAS_QUEUE_FLAG_DISCARD 
HAS_DISK_LIVE_IN_GENHD 
  MODPOST /tmp/PowerFlex_driver_build_hpoM6l/ini/Module.symvers 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.mod.o 
  LD [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.ko 
  BTF [M] /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.ko 
Skipping BTF generation for /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.ko due to unavailability of vmlinux 
make: Leaving directory '/usr/src/linux-headers-5.15.0-30-generic' 
02-Apr-2024 11:46:48 INFO: Success.

SDC init-säiliö
SDC init -säilö on esimääritetty käyttämään ominaisuutta. Se sisältää gcc: n ja tekee paketteja sekä /etc/emc/scaleio/scini_sync/.build_scini Tiedosto on läsnä. Jotta kääntäminen onnistuisi, isäntäytimen ytimen otsikkohakemisto on kuitenkin yhdistettävä säilöön, jotta /usr/src. Jos esimerkiksi haluat suorittaa säilön manuaalisesti dockerilla, lisää oikean kernel-devel-paketin asentamisen jälkeen isäntään -v/usr/src:/usr/src komentoriville, jotta ytimen otsikkohakemisto on käännösskriptin käytettävissä.

Rajoitus
Voi olla tilanne, jossa isännän Linux-jakelussa saatavilla oleva GCC-kääntäjä ei ole tarpeeksi kehittynyt kääntämään SDC:tä jotakin ydintä vastaan. Tämän tilanteen pitäisi olla harvinainen, koska siihen liittyy todennäköisesti mukautettu ydin eikä kyseiselle jakelulle yhteinen. Tässä tapauksessa käyttäjän on asennettava kehittyneempi GCC ei-standardista pakettivarastosta, ja kyseisen GCC: n sijainti on määritettävä $PATH. SDC-palveluun ei ole automaattista tapaa tarjota vaihtoehtoista GCC-polkua.

Versiot
3.6.3 tai uudempi
4.5.2 tai uudempi

Video-ohjeet

 

Affected Products

PowerFlex rack, PowerFlex Appliance, PowerFlex Software

Products

PowerFlex custom node
Article Properties
Article Number: 000224134
Article Type: How To
Last Modified: 18 Sep 2024
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.