PowerFlex "FEL: Det gick inte att förgrena timern" vid uppdatering av licens
Summary: Kunden kan inte uppdatera sin PowerFlex-licens.
Symptoms
Scenario
Kunden kan se följande meddelande när de försöker uppdatera sin licens "FEL: Det gick inte att förgrena timern"
Symtom
Från MDM-spårningsloggen
29/09 15:19:38.957139 0x7f91e2645db8:mosEventLog_PostInternal:00608: New event added. Message: "Command set_license received, User: 'admin'. [774]". Additional info: "" Severity: Info 29/09 15:19:38.957208 (nil):mosIO_close:00137: Closing FD(299) 29/09 15:19:38.964892 (nil):mos_CreateProcessWithTimeout:00050: ERROR: Failed to fork timer 29/09 15:19:38.968880 (nil):mosIO_close:00137: Closing FD(299) 29/09 15:19:38.968906 0x7f91e2645db8:mdmObj_SetLicense:01918: Decode rc: ILLEGAL 29/09 15:19:38.968912 0x7f91e2645db8:mdmObj_SetLicense:01921: Bad license. RC: ILLEGAL 29/09 15:19:38.968946 0x7f91e2645db8:mosEventLog_PostInternal:00608: New event added. Message: "Command set_license was not successful. Error code: The license key is invalid or does not match this version. Please contact Customer Support. [774]". Additional info: "" Severity: Warning
Påverkan
Kunden kan inte uppdatera sin licens förrän resursproblemet har lösts.
Cause
När kommandot scli --set_license körs för att tillämpa licensen klonas (förgrenas) MDM-processen två gånger.
Det första steget lyckades, men kommandot kunde inte klona MDM-processen. Detta kan inträffa om systemet inte har tillräckliga resurser för att klona processen. I det här fallet begränsade SVM:s konfiguration av minnesöverallokering systemet till endast hälften av det tillgängliga minnet:
grep 'vm.overcommit' ./server/sysctl.txt -H server/sysctl.txt:vm.overcommit_kbytes = 0 server/sysctl.txt:vm.overcommit_memory = 2 server/sysctl.txt:vm.overcommit_ratio = 50
Resolution
Bekräfta att systemet har tillräckligt med resurser.
Kontrollera sysctl-kernelparametrarna för överaggregering av minne:
# sysctl -a |grep commit vm.overcommit_memory = 2 (default is 0) vm.overcommit_ratio = 50 (default is 50)
Om du har "vm.overcommit_memory" inställt på två innebär det i det här fallet att minnet inte överansträngs. Detta misslyckas med all minnesallokering som överskrider överallokeringsgränsen. Det totala adressutrymmet för systemet får inte överskrida växling + en konfigurerbar mängd (standard är 50 %) av det fysiska RAM-minnet.
Åtgärda problemet genom att lägga till/redigera något av följande i /etc/sysctl.conf:
- Ändra "vm.overcommit_ratio" till 100 så att operativsystemet kan checka in det totala tillgängliga adressutrymmet och starta om.