PowerFlex: Resurssien kiistanalainen vianmääritys
요약: PowerFlex-resurssien kiistaongelmat ja vianmääritys
증상
PowerFlex-prosessien epänormaali toiminta johtaa, kun PowerFlex-prosessit törmäävät resurssikiistoihin muiden ohjelmisto- tai laitteistokomponenttien kanssa.
Oireet voivat olla monia ja vaihtelevia. Tämä on osittainen luettelo oireista ja tuloksista
MDM-ongelmat:
MDM-omistajuuden vikasietoisuus tapahtuu, kun MDM-prosessit juuttuvat ja menettävät yhteyden muihin MDM:iin
From exp.0:
Panic in file /emc/svc_flashbld/workspace/ScaleIO-RHEL7/src/mos/umt/mos_umt_sched_thrd.c, line 1798, function mosUmtSchedThrd_SuspendCK, PID 36721.Panic Expression ALWAYS_ASSERT Scheduler guard seems to be dead.
From trc.*
24/02 15:54:16.087919 0:schedThrdGuard_SampleLivnes:01463: WARNING: pThread 0x106d9360(0) in scheduler 0x7fff580c4880, running UMT 0x7f39ad00ceb8, found to be stuck.
24/02 15:54:16.088226 ad417eb8:actorLoop_IsSchedThredStuck:10932: Stuck scheduler thread identified
24/02 15:54:16.088253 ad417eb8:actor_Loop:11257: Lost quorum. ourVoters: 0 votersOwnedByOther: [0,0]
24/02 15:54:16.088299 ---Planned crash, reason: Lost quorum, going down to let another MDM become master ---
- MDM-prosessi katkaisee yhteyden ja muodostaa yhteyden jatkuvasti jonkin ajan kuluessa
2017-02-23 14:00:43.241 MDM_CLUSTER_LOST_CONNECTION WARNING The MDM, ID 089012db4d536880, lost connection
2017-02-23 14:00:43.422 MDM_CLUSTER_CONNECTED INFO The MDM, ID 089012db4d536880, connected
2017-02-23 23:05:25.852 MDM_CLUSTER_LOST_CONNECTION WARNING The MDM, ID 089012db4d536880, lost connection
2017-02-23 23:05:26.422 MDM_CLUSTER_CONNECTED INFO The MDM, ID 089012db4d536880, connected
2017-02-24 15:54:16.141 MDM_CLUSTER_LOST_CONNECTION WARNING The MDM, ID 089012db4d536880, lost connection
2017-02-24 15:54:16.238 MDM_CLUSTER_CONNECTED INFO The MDM, ID 089012db4d536880, connected
SDS-ongelmat:
- SDS katkaisee yhteyden ja muodostaa yhteyden jatkuvasti jonkin ajan kuluessa
2017-02-15 13:18:16.881 SDS_RECONNECTED INFO SDS: siosds2 (ID 1eb052fe00000001) reconnected
2017-02-16 03:37:37.327 SDS_DECOUPLED ERROR SDS: siosds2 (id: 1eb052fe00000001) decoupled.
2017-02-16 03:39:54.300 SDS_RECONNECTED INFO SDS: siosds2 (ID 1eb052fe00000001) reconnected
2017-02-17 04:03:41.757 SDS_DECOUPLED ERROR SDS: siosds2 (id: 1eb052fe00000001) decoupled.
2017-02-17 04:09:13.604 SDS_RECONNECTED INFO SDS: siosds2 (ID 1eb052fe00000001) reconnected
- SDS voi näyttää värähteleviä virheitä TRC-tiedostoissa liittyen yhteyden katkeamiseen muihin SDS-solmuihin:
14/02 19:13:24.096983 1be7eb8:contNet_OscillationNotif:01675: Con 1eb052fe00000005 - Oscillation of type 5 (RPC_LINGERED_1SEC) reported
14/02 19:13:24.196814 1be7eb8:contNet_OscillationNotif:01675: Con 1eb053000000000b - Oscillation of type 5 (RPC_LINGERED_1SEC) reported
14/02 19:13:24.296713 1be7eb8:contNet_OscillationNotif:01675: Con 1eb0530000000007 - Oscillation of type 5 (RPC_LINGERED_1SEC) reported
14/02 21:48:43.917218 afb28eb8:contNet_OscillationNotif:01675: Con 1eb052fe00000007 - Oscillation of type 1 (SOCKET_DOWN) reported
14/02 21:48:43.917296 afb28eb8:contNet_OscillationNotif:01675: Con 1eb052fe00000005 - Oscillation of type 1 (SOCKET_DOWN) reported
- SDS voi näyttää lukittuneita tai juuttuneita säikeitä TRC-tiedostoissa:
14/02 19:13:24.147938 9aa4eeb8:netPath_IsKaNeeded:01789: DEBUG ASSERT, Reason:Socket deadlocked. Crashing.
14/02 19:13:24.148113 9aa4eeb8:netPath_IsKaNeeded:01789: DEBUG ASSERT, Reason:Socket deadlocked. Crashing.
14/02 19:13:24.148121 9aa4eeb8:netPath_IsKaNeeded:01789: DEBUG ASSERT, Reason:Socket deadlocked. Crashing.
14/02 20:52:54.097765 242f0eb8:kalive_StartIntr:00346: KA aborted due to stuck sched thread
14/02 21:48:43.510602 7fa30eb8:kalive_StartIntr:00346: KA aborted due to stuck sched thread
14/02 21:48:44.776713 1b67ceb8:kalive_StartIntr:00346: KA aborted due to stuck sched thread
14/02 02:44:41.532007 e2239eb8:contNet_OscillationNotif:01675: Con 1eb052fd00000001 - Oscillation of type 3 (RCV_KA_DISCONNECT) reported
14/02 02:44:43.799135 0:schedThrdGuard_SampleLivnes:01463: WARNING: pThread 0x1a0de10(0) in scheduler 0x7fff01bec400, running UMT 0x7f94e221eeb8, found to be stuck.
14/02 02:44:43.799155 0:schedThrdGuard_SampleLivnes:01463: WARNING: pThread 0x1a0e050(1) in scheduler 0x7fff01bec400, running UMT 0x7f94e2227eb8, found to be stuck.
14/02 02:44:43.799257 e0e38eb8:cont_IsSchedThredStuck:01678: Stuck scheduler thread identified
14/02 02:44:43.799267 e0e38eb8:kalive_StartIntr:00346: KA aborted due to stuck sched thread
- SDS voi näyttää "error forking" TRC-tiedostoissa:
01/09 00:37:51.329020 0x7f1001c58eb0:mosDbg_BackTraceAllOsThreads:00673: Error forking.
- SDS ei voi käynnistyä, koska tarvittavaa muistia ei ole varattu.
Exp-lokitiedostoissa raportoidaan seuraavista:
07/09 00:41:52.713502 Panic in file /data/build/workspace/ScaleIO-SLES12-2/src/mos/usr/mos_utils.c, line 235, function mos_AllocPageAlignedOrPanic, PID 25342.Panic Expression pMem != ((void *)0) .
- Käyttöjärjestelmässä voi olla oireita myös /var/log/messages- tai System Event -lokeissa:
/var/log/messages:
Feb 14 13:25:08 ScaleIO-192-168-1-2 kernel: [7461116.683555] TCP: Possible SYN flooding on port 7072. Sending cookies.
Feb 14 13:25:08 ScaleIO-192-168-1-2 kernel: [7461116.683561] TCP: Possible SYN flooding on port 7072. Sending cookies.
Feb 14 13:25:08 ScaleIO-192-168-1-2 kernel: [7461116.683566] TCP: Possible SYN flooding on port 7072. Sending cookies.
Feb 14 13:25:08 ScaleIO-192-168-1-2 kernel: [7461116.683570] TCP: Possible SYN flooding on port 7072. Sending cookies.
Feb 14 13:27:39 ScaleIO-192-168-1-2 kernel: [7461266.566145] sched: RT throttling activated
SYN flooding on port 7072 -sanomat tarkoittavat, että tämän isännän SDS:ään lähetetään verkon datapaketteja, eikä SDS voi hyväksyä portin paketteja. SDS käyttää oletusarvoisesti porttia 7072.
"RT throttling activated" on viesti siitä, että käyttöjärjestelmän ajastin on tunnistanut joitain reaaliaikaisia säikeitä, jotka häiritsevät prosessoria ja näännyttävät muita säikeitä. Käyttöjärjestelmä tekee tämän yrittäessään kuristaa näitä reaaliaikaisia tehtäviä ja estää käyttöjärjestelmää roikkumasta tai kaatumasta.
SDC voi myös kärsiä IO-virheistä, kun SDS: t katkaisevat yhteyden usein tai eivät pysty vastaamaan SDC: hen riittävän nopeasti ja yrittävät edelleen huoltaa omistamiaan IO-lohkoja.
Vaikutus
Edellä mainitut oireet voivat johtaa DATA_DEGRADED, DATA_FAILED tapahtumiin sekä CLUSTER_DEGRADED.
원인
Jos kaikki yllä olevat oireet täsmäävät, se on todennäköisesti suorittimen tai muistiresurssien nälkäongelma. Etsi käynnissä olevia kolmannen osapuolen sovelluksia tai prosesseja, jotka saattavat näännyttää MDM- tai SDS-prosessien suorittimen ja muistin.
Virtuaaliympäristössä suorittimella oli pari kertaa huono suorituskyky. Tämä johtuu siitä, että SVM:t on määritetty samaan resurssivarantoon.
Tällaisissa tapauksissa olisi neuvottava, että SVM:iä ei aseteta resurssipooliin, vaan niille varatut resurssit on määriteltävä SVM:ssä.
해결
Varmista, että PowerFlex-komponentit (MDM, SDS, SDC) on viritetty suorituskykyasetuksia varten. Katso suorituskyvyn hienosäätö- ja vianmääritysoppaat, jotka löytyvät täältä.
Kokoonpanon tarkistus:
- Varmista ensin, että SVM-suorittimen ja RAM-muistin asetukset ovat parhaiden käytäntöjen mukaiset:
- SVM-suorittimen asetukset: (Voidaan asettaa lennossa)
- Ytimiä kantaa kohti: kaikki yhdessä pistorasiassa, joten Sockets-kohdan arvo on 1. (Ytimien kokonaismäärä määräytyy sen isännöimän käyttöturvallisuustiedotteen tarpeiden mukaan: All-flash, FG, DASCache, Cloudlink, 3.5 jne., kaikki vaikuttavat (lisäävät) CPU-vaatimuksia.)
- Varaus: Valitse avattavasta valikosta Maksimiarvo
- Osakkeet: High
- Tämän pitäisi näyttää tältä:
- SVM-suorittimen asetukset: (Voidaan asettaa lennossa)

b. SVM RAM -asetukset: (Voidaan asettaa lennossa)
- Valitse "Varaa kaikki vierasmuisti (kaikki lukitut)"
- Osakkeet: High
- Tämän pitäisi näyttää tältä:

c. Vieraan SVM-käyttöjärjestelmän muistin ylikuormitusasetukset: (Vaatii uudelleenkäynnistyksen)
-
- Tarkista komennolla sysctl -a|grep overcommit, että overcommed-asetukset ovat oikein:
# sysctl -a|grep overcommit vm.overcommit_memory = 2 vm.overcommit_ratio = 100 -
Jos edellä olevia arvoja ei ole määritetty, osa SVM-muistista on käyttökelvoton SDS-prosessissa. Korjaa tämä muokkaamalla tiedostoa /etc/sysctl.conf ja muokkaamalla/lisäämällä edellä mainitut arvot
- Aseta käyttöturvallisuustiedote huoltotilaan ja ota asetukset käyttöön käynnistämällä SVM uudelleen
- Vahvista suorittamalla uudelleenkäynnistyksen jälkeen komento cat /etc/sysctl.conf|grep overcommit.
- Poistu huoltotilasta
- Tarkista komennolla sysctl -a|grep overcommit, että overcommed-asetukset ovat oikein:
- Löydät nämä lokeista seuraavasti:
- SVM-kokoonpano (vmsupport):
-
Oikein määritetty SVM:n .vmx-tiedosto sisältää seuraavat:
-
- SVM-kokoonpano (vmsupport):
sched.cpu.units = "mhz"
sched.cpu.affinity = "all"
sched.cpu.min = "25930" (nonzero value that's equal to core speed * the # of cores allocated)
sched.cpu.shares = "high"
sched.mem.min = "24576" (nonzero value that's a full allocation of configured memory)
sched.mem.minSize = "24576" (nonzero value that's a full allocation of configured memory)
sched.mem.shares = "high"
cpuid.coresPerSocket = "10" (value equal to total # of cores allocated, so they're all in one socket)
sched.mem.pin = "TRUE"
- Virheellisissä (vanhentuneissa) SVMconfigs-määrityksissä on seuraavat:
sched.cpu.min = "0"
sched.cpu.shares = "normal"
sched.mem.pin = "FALSE"
sched.mem.shares = "normal"
cpuid.coresPerSocket = "4" (value less than total # of cores allocated, usually 1/2 or 1/4)
-
Oikein määritetty muistin ylivaraus:
Tiedostopalvelin/sysctl.txt sisältää:
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
-
PowerFlex käyttää huomattavan määrän RAM-muistia kunkin palvelun suorittamiseen muistissa ja suurella nopeudella. Tästä syystä se ei tue sivutuksen käyttöä PowerFlex-palveluiden purkamiseen.
HCI-ratkaisun Vain tallennustila- ja SVM-ratkaisuille odotettu oletusasetus on over-commed-muisti 2. Näin ydin ei ylitilaa muistia, ja ilman asetuksia ilman vaihtoa varmistetaan, että mikään commit_as arvo ei ole suurempi kuin vapaan/käytettävissä olevan muistin kokonaismäärä.
Suhde 100 varmistaa, että myöskään swapia ei käytetä, jotta lohkonvaihtoa voidaan hallita paremmin.
-
Virheellisesti määritetty muistin overcommit:
Tiedostopalvelin/sysctl.txt sisältää:
vm.overcommit_memory = 0 (value not 2)
vm.overcommit_ratio = 50 (value less than 95)
Muita mahdollisia kiertotapoja:
- Pysäytä sovellukset, jotka aiheuttavat suoritin-/muistiresurssien nälänhädän, tai etsi sovelluksen valmistajalta päivityksiä, jotka helpottavat resurssien jumiutumista.
- Käytä CPU / muistin trendityökaluja (top / sar / cron jobs / jne.) selvittääksesi, mikä sovellus vie resursseja. Suositellaan 1 sekunnin aikavälejä, jotta saadaan tarvittava tarkkuus sen osoittamiseksi, milloin ongelma ilmenee ja kuka on vastuussa
- Lisää resursseja isännän suorittimen ja/tai muistin päivittämiseen.
- Arkkitehtuuri tehdään uudelleen kaksikerroksiseen kokoonpanoon yhdistetyn järjestelmän sijaan (jos SDS/SDC ovat samassa isännässä)