PowerFlex "FEJL: Failed to fork timer" ved opdatering af licens
Summary: Kunden kan ikke opdatere sin PowerFlex-licens.
Symptoms
Scenario
Kunden kan se følgende meddelelse, når de forsøger at opdatere deres licens "FEJL: Kunne ikke gaffel timer"
Symptomer
Fra MDM-sporingsloggen
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åvirkning
Kunden kan ikke opdatere sin licens, før ressourceproblemet er løst.
Cause
Når kommandoen scli --set_license køres for at anvende licensen, klones MDM-processen to gange.
Det første trin lykkedes, men kommandoen kunne ikke klone MDM-processen. Dette kan forekomme, hvis systemet ikke har tilstrækkelige ressourcer til at klone processen. I dette tilfælde begrænsede SVM'ens konfiguration af overdreven hukommelse systemet til kun halvdelen af den tilgængelige hukommelse:
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æft, at systemet har tilstrækkelige ressourcer til rådighed.
Kontroller sysctl-kerneparametrene for overdreven bekræftelse af hukommelsen:
# sysctl -a |grep commit vm.overcommit_memory = 2 (default is 0) vm.overcommit_ratio = 50 (default is 50)
I dette tilfælde skal du ikke overforpligte hukommelsen ved at have "vm.overcommit_memory" indstillet til to midler. Dette mislykkes enhver hukommelsesallokering, der overskrider grænsen for overallokering. Den samlede adressepladsforpligtelse for systemet må ikke overstige swap + en konfigurerbar mængde (standard er 50%) fysisk RAM.
For at løse dette problem skal du tilføje/redigere et af følgende i /etc/sysctl.conf:
- Skift "vm.overcommit_ratio" til 100, så operativsystemet kan forpligte den samlede tilgængelige adresseplads og genstarte.