PowerFlex "ERRO: Falha ao bifurcar o temporizador" ao atualizar a licença
Summary: O cliente não consegue atualizar a licença do PowerFlex.
Symptoms
Cenário
O cliente pode ver a seguinte mensagem ao tentar atualizar sua licença "ERRO: Falha ao bifurcar o temporizador"
Sintomas
No log de rastreamento do MDM
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
Impacto
O cliente não consegue atualizar sua licença até que o problema de recursos seja resolvido.
Cause
Quando o comando scli --set_license é executado para aplicar a licença, o processo do MDM é clonado (bifurcado) duas vezes.
A primeira etapa foi bem-sucedida, mas o comando não conseguiu clonar o processo do MDM. Isso pode ocorrer se o sistema não tiver recursos suficientes para clonar o processo. Nesse caso, a configuração de supercomprometimento de memória da SVM limitava o sistema a apenas metade da memória disponível:
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
Confirme se o sistema tem recursos suficientes disponíveis.
Verifique os parâmetros do kernel sysctl quanto à superalocação de memória:
# sysctl -a |grep commit vm.overcommit_memory = 2 (default is 0) vm.overcommit_ratio = 50 (default is 50)
Nesse caso, ter "vm.overcommit_memory" definido como dois significa não comprometer memória em excesso. Isso fará com que qualquer alocação de memória que exceda o limite de superconfirmação. A confirmação de espaço total de endereço para o sistema não tem permissão para exceder swap + uma quantidade configurável (o padrão é 50%) de RAM física.
Para corrigir esse problema, adicione/edite um dos seguintes em /etc/sysctl.conf:
- Altere "vm.overcommit_ratio" para 100, para que o sistema operacional possa confirmar o espaço total de endereço disponível e reinicializar.