You are here
Home > posts

LSI MegaRAID SAS.

LSI MegaRAID SAS.

MegaRAID SAS er den nav rende high end RAID controllers serien av LSI.

Det er fullt hardware RAID-kontroller som stotter RAID5, minst med SAS eller SATA-grensesnitt.

Hvis du leter etter informasjon om MegaRAID SCSI-kontakter, kan du se pa LSIMegaRAID i stedet.

Alle disse kortene kan brukes med lager Linux-kjernen som inkluderer en arbeidsdriver.

Det er ganske nytt og kan derfor mangle i noen up-to-date distribusjoner.

Det er for oyeblikket ikke kjent open source-verktoy for disse kortene.

Noen gamle MegaRAID SAS kan brukes med megactl, men ingen av de nav rende kortene fungerer.

Men LSI gir megacli, en propriet r ledelse kommandolinje verktoy som er ganske vanskelig a bruke.

2. Linux-kjernedrivere.

megaraid_sas er en del av den vanlige Linux-kjernen og bor v re tilgjengelig i alle gjeldende distribusjoner.

V r imidlertid oppmerksom pa at de fleste gamle distribusjoner ikke har denne driveren.

Hvis kortet ditt bruker megaraid_mm eller megaraid_mbox driver, vennligst se pa LSIMegaRAID i stedet.

Noen lspci -nn-utgangsseksempler:

02: 0e.0 RAID-buss kontroller [0104]: Dell PowerEdge Utvidbar RAID-kontroller 5! [1028: 0015] 01: 00.0 RAID-buss kontroller [0104]: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04) [1000: 0060 ] 04: 0e.0 RAID buskontroll [0104]: LSI Logic / Symbios Logic MegaRAID SAS [1000: 0411] 03: 00.0 RAID buskontroll [0104]: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] [1000: 0079 ] (rev 05) 10: 00.0 RAID buskontroll [0104]: LSI Logic / Symbios Logic MegaRAID SAS TB [1000: 005b] (rev 01) 01: 00.0 RAID buskontroll [0104]: LSI Logic / Symbios Logic MegaRAID SAS 2008 [Falcon] [1000: 0073] (rev 03) Dell PERC H310 Mini 01: 00.0 RAID buskontroll [0104]: LSI Logic / Symbios Logic MegaRAID SAS 2208 [Thunderbolt] [1000: 005b] (rev 05) Dell PERC H710 Mini .

3. Administrasjons- og rapporteringsverktoy.

megactl inneholder en SAS-kompatibel bin r navngitt megasasctl. Det ser ut til a fungere pa gammelt kort, men mislykkes med den nye.

Hvis megasasctl ikke virker for deg, ma du bruke propriet r Cli-verktoyet fra LSI: megaclisas.

For styring av kortet er det ingen alternativer til megaclisas.

3.1. megactl.

Despites megasasctl synes ikke a jobbe med kortene, du burde virkelig prove.

3.1.1. Hurtigstarts- og utgangseksempel.

Skriv ut nav rende kontrollerstatus:

Det er flere brytere som er interresting:

Hvis ingenting er skriver, er alt bra – B: Ignorer batttery problemer nar du kjorer -H.

Faktisk kan megasasctl ikke definere om kontrolleren har et batteri eller ikke.

Hvis du ikke har en, bruk denne parameteren.

3.1.2. Periodisk kontroll.

Du kan skrive ditt eget skript rundt megasasctl for a sjekke adapterstatusens helse regelmessig. Imidlertid har jeg allerede gjort dette for deg. Se megaraid-status nedenfor.

3.2. Megaraid-status.

3.2.1. Om megaraid-status.

megaraidsas-status er en wrapper script rundt megactl med periodikk sjekker.

Den er ogsa tilgjengelig i pakkelageret.

Pakken leveres med en python wrapper rundt megasasctl og en innskrift som periodisk kjorer denne wrappen for a sjekke status.

Den beholder en fil med siste status og kan dermed oppdage RAID-statusendringer og / eller odeleggelse.

Det logger en ligne til syslog nar noe mislyktes og vil sende deg en mail.

Inntil arrays er sunne igjen vil en paminnelse bli sendt hver 2 timer.

3.2.2. Wrapper output eksempel.

3.3. MegaCli.

3.3.1. Om megacli.

megacli er et propriet rt verktoy av LSI som kan utfore bade rapportering og styring for MegaRAID SAS-kort.

Men det er veldig vanskelig a bruke fordi det er brukstoner pa kommandolinjeparametere, og det er ingen dokumentasjon.

3.3.2. Hurtigstarts- og utgangseksempel.

Fa alle adaptere status og config:

Logisk stasjon 0 pa adapter 0 status og type:

Vis, deaktiver eller aktiver automatisk gjenoppbygging pa adapter 0:

Fa og modifiser gjenoppbyggingsrate:

Vis fysiske disker fra forste kontroller:

Vi kan se at disk 32,1 (enclosure id = 32, slot = 1) er for tiden gjenoppbygging (fastvarestatus).

La oss sjekke denne operasjonen fremgang:

Opprett et RAID6-array med megacli.

La oss anta at vi har en server med to MegaRAID SAS-kort. Den forste er allerede oppsett, men vi har nettopp koblet en diskplass pa det andre kortet.

Oppgi fysiske disker pa andre kort (kun utskriftskasse og spornumre):

Na har vi alle kabinett og spornummer. La oss lage den nye gruppen:

Les Cache, Write Cache, ReadAhead og Battery.

En rask del om ytelsestunning.

La oss aktivere Read Cache, og alltid cache data:

Aktiver diskens cache:

Om ReadAhead: Denne funksjonen vil lese flere ting og lagre i hurtigbufferen, gjetting systemet kan fa tilgang til det snart.

Vi skal aktivere en forbedret versjon av readahead: den adaptive.

Med dette alternativet vil readahead bare aktiveres hvis kontrolleren mottar flere tilgang til sekvensielle sektorer. Hvis ikke, vil det ikke bli brukt til a unnga a fylle cache med randon ubrukelige data (i tilfelle tilfeldig tilgang til sektor).

Det virker som ADRA er utdatert, nav rende megacli bin re tilbyr ikke dette alternativet lenger. Bruk vanlig readahead i stedet:

Na skal vi aktivere skrivebuffer. Vokt dere for tap av data! Skriv cache bor bare aktiveres hvis du har en batteripakke pa kontrolleren din.

La oss sjekke om vi har en og hvis det fungerer bra:

Begge adaptere har en i denne serveren, la oss aktivere skrivebuffer:

Men deaktiver den hvis batteriet ble odelagt eller utladet:

Na kan vi sjekke om alt og fint og reboot serveren (ikke sikker pa om det trengs):

Referanser (hentet fra Dell OpenManage doc):

Les policy: Lesepolicyene angir hvorvidt kontrolleren skal lese sekvensielle sektorer av den logiske stasjonen nar du soker data.

Les-Ahead. Nar du bruker forhandsvisningspolitikk, leser kontrolleren sekvensielle sektorer av den logiske stasjonen nar du soker data. Fremdriftspolitikk kan forbedre systemytelsen dersom dataene faktisk er skrevet til sekvensielle sektorer av den logiske stasjonen. No-Les-Ahead. Valg av politikk som ikke er forhandsvisning, indikerer at kontrolleren ikke bor bruke forhandsregler. Adaptive Read-Ahead. Ved bruk av adaptiv forutgaende politikk initierer kontrolleren bare forhandsvisning hvis de to siste leseforesporslene apnet sekvensielle sektorer pa disken. Hvis etterfolgende leseforesporsler apner tilfeldige sektorer pa disken, gar kontrolleren tilbake til ikke-fremadgaende policy. Kontrolleren fortsetter a evaluere om leseforesporsler har tilgang til sekvensielle sektorer pa disken, og kan initiere forutgaende om nodvendig.

Skrivepolicy: Skrivepolicyene angir om kontrolleren sender et ferdigstillingssignal for skriveforesporsel sa snart dataene er i hurtigbufferen eller etter at det er skrevet til disk.

Skriv-Back. Nar du bruker tilbakekobling, sender kontrolleren et ferdigstillingssignal for skriveforesporsel sa snart dataene er i kontrollerens buffer, men er enna ikke skrevet til disk. Tilbakekopiering av tilbakeringing kan gi forbedret ytelse, siden etterfolgende leseanmodninger hurtigere kan hente data fra kontrollerens cache enn de kunne fra disken. Kryptering av tilbakekopiering inneb rer imidlertid ogsa en datasikkerhetsrisiko, da en systemfeil kan forhindre at dataene skrives til disken selv om kontrolleren har sendt et ferdigstillingssignal for skriveforesporsel. I dette tilfellet kan data ga tapt. Andre programmer kan ogsa oppleve problemer nar det tas tiltak som antar at dataene er tilgjengelige pa disken. Skriv-Through. Ved bruk av gjennomgaende caching, sender kontrolleren bare et ferdigstillingssignal for skriveforesporsel etter at dataene er skrevet til disken. Kryptering via skriving gir bedre datasikkerhet enn tilbakekobling, siden systemet antar at dataene er tilgjengelige bare etter at det er trygt skrevet pa disken.

Cache Policy: Direkte I / O og Cache I / O cache-retningslinjene gjelder for lesing pa en bestemt virtuell disk. Disse innstillingene pavirker ikke avspillingspolitikken. Cache-retningslinjene er som folger:

Cache I / O. Angir at alle leser er buffret i hurtigminnet. Direkte I / O. Angir at lesene ikke er buffret i hurtigminnet. Nar du bruker direkte I / O, overfores data til kontrollerens buffer og vertssystemet samtidig under en leseforesporsel. Hvis en etterfolgende leseforesporsel krever data fra samme datablokk, kan den leses direkte fra kontrollerens cache. Den direkte I / O-innstillingen overstyrer ikke bufferinnstillingene. Direkte I / O er ogsa standardinnstillingen.

Ombygging av en disk for hand nar den ikke skjer automatisk.

Jeg la merke til den merkelige oppforelsen pa en IBM-kontroller. Unplugging og plugging tilbake en disk fra en matrise gjor ikke kontrolleren ombygging av matrisen med den disken.

Her er hva du skal gjore:

Diskstasjonen identifisert som! [252: 4] ([enclosureid: slotnummer]) er for oyeblikket ‘Ikke konfigurert (darlig)’.

Gjor stasjonen pa nettet igjen:

Kontrolleren vil na gjenkjenne disken som en «fremmed» en. Det betyr at den har oppdaget noen RAID-informasjoner pa den, og anser derfor det som en disk som er en del av en matrise som kan importeres til nav rende kontrollerkonfigurasjon.

Vi ber na kontrolleren om a skanne etter utenlandsk konfigurasjon og slippe den:

Disken skal na v re tilgjengelig for a komme tilbake til arrayet.

Vi ma na finne ut hvordan den disken ble identifisert inne i RAID-arrayet:

Her er det som er viktig her:

Spanreferanse: 0x01 er nummeret pa gruppen (strip 0x0-delen).

Vi kan se at fysisk disk: 2 har ingen informasjon, noe som betyr at stasjonen mangler.

Na har vi alt vi trenger for a legge disken tilbake i matrisen.

Hent disken! [252: 4] tilbake til array 1, som disk 2:

Og endelig begynne a gjenoppbygge:

Utvid en matrise over en tilleggsdisk.

Takk til en kollega, jeg har na en rask howto.

Anta at den nye ufordelte stasjonen er identifisert som! [252: 3] og du har et RAID5-array identifisert som L0 (Se dokumentasjonen ovenfor for a finne ut hvordan du finner dette).

Konfigurer arrayet for a legge til denne nye stasjonen:

Kontroller operasjonsfremgang:

3.3.3. Periodisk kontroll.

Du kan skrive ditt eget skript rundt megacli for a sjekke adapterstatusen din helse pa jevne mellomrom. Imidlertid har jeg allerede gjort dette for deg. Se megaclisas-status nedenfor.

Full dokumentasjon.

En fullstendig dokumentasjon er vedlagt som PDF her: raw-attachment: megacli_user_guide.pdf.

3.4. megaclisas-status.

3.4.1. Om megaclisas-status.

megaclisas-status er et wrapper-skript rundt megacli som rapporten oppsummerte RAID-status med periodisk kontrollfunksjon.

Den er ogsa tilgjengelig i pakkelageret.

Pakken leveres med en python wrapper rundt megacli og en initript som periodisk kjorer denne wrappen for a sjekke status.

Den beholder en fil med siste status og kan dermed oppdage RAID-statusendringer og / eller odeleggelse.

Det logger en ligne til syslog nar noe mislyktes og vil sende deg en mail.

Inntil arrays er sunne igjen vil en paminnelse bli sendt hver 2 timer.

3.4.2. Wrapper output eksempel.

Et annet eksempel (jeg brot raidet ved a kjore «megacli -PDOffline -PhysDrv [32: 0] -a0»)

Nagios-modusen (kjore med – nagios):

Det samme eksemplet, men med manglende diskoppbygging (kjorte «megacli -PDRbld -Start -PhysDrv [32: 0] -a0» for dette eksempelet):

En server med to kontrollere (gammel scriptversjon, beklager, har ingen maskinvare for a fa et nyere eksempel): Den forste med et RAID1-array fungerer fint. En andre med en RAID6-arrays pa 7 stasjoner med en frakoblet (oppstillingen er nettopp opprettet, sa den er under initialisering ogsa).

3.4.3. Nagios integrasjon.

Skriptet kan kalles med – nagios parameter. Det vil tvinge en enkeltlinjeutgang og returnere utgangskode 0 hvis alt er bra, eller 2 hvis minst en ting er feil. Det er standard Nagios forventede returkode.

Du vil sannsynligvis kjore skriptet gjennom NRPE, definere kommandoen slik:

Du trenger ogsa en sudo config-fil, i /etc/sudoers.d/00-check-raid.

Deretter kan du forvente slike overvakingsfasiliteter (centreon centreon-motor pa dette bildet):

3.5. Om / dev / megaraid_sas_ioctl_node.

Alle disse verktoyene krever at denne enhetskoden blir opprettet.

Det ma gjores for hand.

Egenskapsverktoy oppretter enhetsnoden ved oppstart.

Jeg laget noen wrappers rundt bin rfiler fra megactl-pakken for a lage noden hvis den ikke eksisterer enna.

Til slutt fant jeg maten a lese SMART gjennom disse MegaRAID-kortene. Det forste du ma gjore er a oppgi ID-er for alle dine fysiske disker:

Deretter kan du legge til denne typen linjer til /etc/smartd.conf (ikke glem a kommentere DEVICESCAN en):

V r oppmerksom pa at du trenger en ny versjon av smartmontools. 5,38 fra Debian Lenny vil ikke fungere, 5.39.1 + svn3124 fra Squeeze gjor.

5. BIOS-oppgradering fra et Linux-system.

Dell-kort kan blinkes ved hjelp av firmware-verktoy.

Men dette vil bare fungere pa RedHat, CentOS, SuSE og Fedora. Selv Ubuntu er oppfort i wikipage, LSI-kortoppgradering stottes ikke.

Vi bruker en Fedora 8 nfsroot oppstart av PXE for a oppdatere Dells firmware som kjorer Debian.

Michael rapporterte at en fastvare kan bli blinket ved hjelp av megacli med folgende syntaks:

Top

Hei! Ønsker du å spille i det største kasinoet? Vi fant det for deg. Prøv her nå!