PowerFlex "ERROR: Kan timer niet forken" bij het bijwerken van licentie
Summary: De klant kan zijn PowerFlex-licentie niet bijwerken.
Symptoms
Scenario
De klant ziet mogelijk het volgende bericht wanneer hij probeert de licentie bij te werken: "ERROR: Kan timer niet forken"
Symptomen
Uit het MDM-traceerlogboek
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
Impact
De klant kan zijn licentie niet bijwerken totdat het bronprobleem is opgelost.
Cause
Wanneer de opdracht scli --set_license wordt uitgevoerd om de licentie toe te passen, wordt het MDM-proces twee keer gekloond (geforkt).
De eerste stap is geslaagd, maar de opdracht kon het MDM-proces niet klonen. Dit kan gebeuren als het systeem onvoldoende bronnen heeft om het proces te klonen. In dit geval beperkte de geheugenovercommitting-configuratie van de SVM het systeem tot slechts de helft van het beschikbare geheugen:
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
Controleer of er voldoende bronnen beschikbaar zijn voor het systeem.
Controleer de sysctl kernel parameters op overcommit van het geheugen:
# sysctl -a |grep commit vm.overcommit_memory = 2 (default is 0) vm.overcommit_ratio = 50 (default is 50)
In dit geval betekent het instellen van "vm.overcommit_memory" op twee dat het geheugen niet te veel wordt vastgelegd. Hiermee mislukt elke geheugentoewijzing die de overcommitteringslimiet overschrijdt. De totale adresruimte voor het systeem mag niet groter zijn dan de swap + een configureerbare hoeveelheid (standaard is 50%) van het fysieke RAM.
Om dit probleem op te lossen, kunt u een van de volgende dingen toevoegen/bewerken in /etc/sysctl.conf:
- Wijzig "vm.overcommit_ratio" in 100, zodat het besturingssysteem de totale beschikbare adresruimte kan vastleggen en opnieuw kan opstarten.