PowerFlex: Odstraňování problémů s kolizemi zdrojů
요약: Problémy s kolizemi zdrojů v systému PowerFlex a odstraňování souvisejících problémů
증상
Když procesy PowerFlex narazí na kolizi zdrojů s jinými softwarovými nebo hardwarovými komponentami, dojde k abnormálnímu chování procesů PowerFlex.
Příznaků zde může být mnoho a mohou být různé. Toto je částečný seznam příznaků a výsledků
Problémy s MDM:
- K převzetí vlastnictví MDM při selhání dochází, když se procesy MDM zaseknou a ztratí komunikaci s ostatními MDM.
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 ---
- Proces MDM se bude po určitou dobu neustále odpojovat a znovu připojovat.
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
Problémy s bezpečnostními listy:
- SDS se bude po určitou dobu neustále odpojovat a znovu připojovat
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 může v souborech trc vykazovat oscilační chyby týkající se ztráty konektivity k jiným uzlům SDS:
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 může v souborech TRC vykazovat zablokovaná nebo zablokovaná vlákna:
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 může v souborech TRC vykazovat "Error forking":
01/09 00:37:51.329020 0x7f1001c58eb0:mosDbg_BackTraceAllOsThreads:00673: Error forking.
SDS nelze spustit, protože nebylo přiděleno požadované paměti.
V souborech protokolu exp jsou uvedeny následující informace:
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) .
- Operační systém může mít také některé příznaky v protokolech /var/log/messages nebo systémových událostí:
/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
Zprávy "SYN flooding on port 7072" znamenají, že do úložiště SDS na tomto hostiteli jsou odesílány pakety síťových dat a disk SDS nemůže pakety na tomto portu přijmout. SDS používá ve výchozím nastavení port 7072.
"Omezování RT aktivováno" je zpráva, že plánovač operačního systému identifikoval některá vlákna v reálném čase, která zatěžují procesor a vyčerpávají další vlákna. Operační systém to dělá ve snaze omezit tyto úlohy v reálném čase a zabránit zablokování nebo selhání operačního systému.
U řadiče SDC může také docházet k chybám IO, pokud se často odpojují nebo nemohou dostatečně rychle reagovat na SDC a stále se pokoušejí obsluhovat bloky IO, které vlastní.
Důsledky
Výše uvedené příznaky mohou mít za následek DATA_DEGRADED, DATA_FAILED příhody a také CLUSTER_DEGRADED.
원인
Pokud se všechny výše uvedené příznaky shodují, jedná se s největší pravděpodobností o problém s nedostatkem zdrojů procesoru nebo paměti. Hledejte spuštěné aplikace nebo procesy třetích stran, které mohou způsobovat výpadek procesoru a paměti při procesech MDM nebo SDS.
Ve virtuálním prostředí měl procesor několikrát špatný výkon. To je způsobeno tím, že SVM jsou definovány ve stejném fondu zdrojů.
V takových případech bychom měli doporučit nedávat SVM do fondu zdrojů, ale mít jejich vyhrazené zdroje, jak je definováno v SVM.
해결
Ujistěte se, že komponenty PowerFlex (MDM, SDS, SDC) byly vyladěny pro nastavení výkonu. Zde naleznete průvodce "Jemné doladění" a "Odstraňování problémů" s výkonem.
Kontrola konfigurace:
- Nejprve ověřte, že nastavení procesoru a paměti RAM SVM odpovídá osvědčenému postupu:
- Nastavení SVM CPU: (Lze nastavit za chodu)
- Počet jader na socket: vše v jednom socketu, takže položka "Sockets" má hodnotu "1". (Celkový počet jader je určen potřebami softwarového úložiště, které je hostitelem: All-Flash, FG, DASCache, Cloudlink, 3.5 atd., všechny mají vliv (zvyšují) požadavky na procesor.)
- Rezervace: V rozevíracím seznamu vyberte hodnotu "Maximum".
- Sdílí: Vysoká
- Mělo by to vypadat takto:
- Nastavení SVM CPU: (Lze nastavit za chodu)

b. Nastavení SVM RAM: (Lze nastavit za chodu)
- Zaškrtněte "Reserve all guest memory (All locked)"
- Sdílí: Vysoká
- Mělo by to vypadat takto:

C. Nastavení nadměrného potvrzení paměti SVM OS hosta: (Vyžaduje restartování)
-
- Spusťte příkaz sysctl -a|grep overcommit a ověřte, zda jsou nastavení overcommit správná:
# sysctl -a|grep overcommit vm.overcommit_memory = 2 vm.overcommit_ratio = 100 -
Pokud výše uvedené hodnoty nejsou nastaveny, některé paměti SVM budou pro proces SDS nepoužitelné. Opravte to úpravou souboru /etc/sysctl.conf a úpravou/přidáním výše uvedených hodnot
- Přepněte SDS do režimu údržby a restartujte SVM, aby se nastavení použila
- Potvrďte spuštěním příkazu "cat /etc/sysctl.conf|grep overcommit" po restartu
- Ukončete režim údržby.
- Spusťte příkaz sysctl -a|grep overcommit a ověřte, zda jsou nastavení overcommit správná:
- Vyhledání těchto položek v protokolech:
- Konfigurace SVM (vmsupport):
-
Správně nakonfigurovaný soubor .vmx SVM bude obsahovat následující:
-
- Konfigurace SVM (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"
- Nesprávné (zastaralé) SVMconfigs budou mít následující:
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)
-
Správně nakonfigurované přetížení paměti:
Souborový server / sysctl.txt obsahuje:
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
-
PowerFlex využívá značné množství paměti RAM, aby každá ze služeb běžela v paměti a vysokou rychlostí. Z tohoto důvodu nepodporuje použití swapu k přesměrování služeb PowerFlex.
Výchozí nastavení, které se očekává pro položky Storage Only a SVM v řešení HCI, je nadměrné využití paměti 2. Tímto způsobem jádro nepřečerpá paměť a bez nastavení bez použití swapu zajistí, že žádná hodnota commit_as nebude větší než celková volná/dostupná paměť.
Poměr 100 zajišťuje, že se také nepoužívá žádný swap, což má větší kontrolu nad použitím swapu bloků.
-
Nesprávně nakonfigurované překročení paměti:
Souborový server/sysctl.txt obsahuje:
vm.overcommit_memory = 0 (value not 2)
vm.overcommit_ratio = 50 (value less than 95)
Další možná alternativní řešení:
- Zabraňte aplikacím, které způsobují nedostatek zdrojů procesoru nebo paměti, nebo se obraťte na dodavatele aplikace, aby nebylo k dispozici aktualizace, které by zmírnily zahlcení zdrojů.
- Pomocí nástrojů pro sledování trendů CPU/paměti (top/sar/cron jobs/atd.) zjistěte, která aplikace odebírá zdroje. Pro získání podrobností nezbytných k prokázání, kdy k problému dochází a kdo je za něj zodpovědný, doporučují intervaly 1 sekundy.
- Upgradujte procesor nebo paměť hostitele a získejte tak více zdrojů.
- Změna architektury na dvouvrstvé uspořádání, nikoli na konvergovaný systém (pokud jsou SDS/SDC na stejném hostiteli)