Como evitar a mudança de horário relativo após a restauração de um instantâneo no Parallels?

3

Estou trabalhando com um aplicativo baseado na web em um sistema de teste / desenvolvimento do Ubuntu em execução no Parallels. Em datas e horas específicas (tiradas da hora do sistema), alguns eventos acontecem e as coisas são alteradas no banco de dados. (por exemplo, uma conta de usuário é bloqueada, se a senha não foi alterada por um determinado período de tempo ou o status de um objeto é alterado, se um prazo é passado, etc.)

Para poder testar cenários específicos, trabalho com instantâneos no Parallels para armazenar o estado do sistema em vários pontos-chave no tempo. Pode acontecer que, depois de vários meses, eu precise retornar a um ponto específico no tempo para testar um cenário específico sobre o estado naquela época.

Meu problema é que depois de restaurar o instantâneo, a data do sistema é como eu quero que seja (ou seja, igual ao datetime quando o instantâneo foi tirado).

Mas depois de alguns segundos a minutos, a hora do sistema muda para algum ponto no tempo entre o tempo real e o tempo esperado (instantâneo). Tenho a impressão de que está definido para o tempo que passou relativamente. Por exemplo, se eu tirei o instantâneo em 2018-02-01 (tempo real) com a data do sistema do convidado do Ubuntu sendo 2018-01-01 (tempo de convidado) e restaurei o instantâneo em 2018-03-01 (tempo real) , então o convidado do Ubuntu será eventualmente definido como 2018-02-01 (hora do convidado) após alguns minutos.

O que eu fiz até agora:

  • Desligou a sincronização de horário do Parallels (de acordo com o link )
  • Desinstalado ntp e ntpdate
  • Desativado Automatic Date&Time e Automatic Timezone nas configurações da área de trabalho do Ubuntu

O problema parece estar relacionado a hwclock . Por exemplo, eu restaurei um instantâneo a partir de 2018-01-25 (hora do convidado) ontem, em 2018-05-25 (tempo real). Eu executei (imediatamente depois de restaurar o instantâneo):

date ; \
hwclock --show ; \
date -s 2018-01-26 ; \
hwclock --systohc ; \
hwclock --set --date 2018-01-26 ; \
hwclock --show ;

Isso resulta na seguinte saída:

Thu Jan 25 18:17:49 CET 2018
2018-03-09 01:01:27.249216+0100
Fri Jan 26 00:00:00 CET 2018
2018-03-09 01:01:27.775701+0100

Se eu esperar algum tempo, a hora do sistema irá eventualmente mudar para a hora do hwclock - eu não descobri o porquê. Eu também não entendo porque as tentativas de definir hwclock time não funcionam (nenhum erro é mostrado, mas o novo horário é ignorado ...)

Por fim, também verifiquei o syslog , mas não há sugestão sobre a data alterada. Apenas imprime uma entrada para a data antiga e a próxima entrada é com a nova data, sem indicação do que causou a alteração da data.

O que eu perdi?

P.S.

Esta é a saída de systemctl | grep time

rtkit-daemon.service        loaded active running   RealtimeKit Scheduling Policy Service     
systemd-timedated.service   loaded active running   Time & Date Service                                               
timers.target               loaded active active    Timers                                                            
anacron.timer               loaded active running   Trigger anacron every hour                                        
apt-daily-upgrade.timer     loaded active waiting   Daily apt upgrade and clean activities                            
apt-daily.timer             loaded active waiting   Daily apt download activities                                     
motd-news.timer             loaded active elapsed   Message of the Day                                                
snapd.refresh.timer         loaded active waiting   Timer to automatically refresh installed snaps                    
systemd-tmpfiles-clean.timer loaded active waiting   Daily Cleanup of Temporary Directories                            
    
por Stefan Winkler 25.05.2018 / 18:04

1 resposta

0

Graças ao Parallels User Forum , consegui resolver este problema.

  1. Desligar a VM
  2. Localize o pacote VM > clique com o botão direito > Mostrar conteúdo do pacote > abra o arquivo config.pvs em um editor de texto
  3. Localize a chave TimeSync e edite da seguinte forma:
<TimeSync SyncInterval_patch="1" dyn_lists="">
<Enabled>0</Enabled>
<SyncInterval>60</SyncInterval>
<KeepTimeDiff>0</KeepTimeDiff>
<SyncHostToGuest>0</SyncHostToGuest>
<SyncTimezoneDisabled>1</SyncTimezoneDisabled>
</TimeSync>
  1. Salve as alterações e feche o arquivo.
  2. Inicie a VM novamente. Todos os instantâneos depois não terão mais o problema de sincronização de horário.

Se você precisar que funcione com um instantâneo existente, localize a pasta Snapshots no pacote VM (onde o arquivo config.pvs estava localizado). Lá você pode encontrar os arquivos de instantâneos. Para encontrar o instantâneo correto, você pode usar a data de criação e as capturas de tela nos arquivos PNG como uma dica. O arquivo {id}.pvc contém a cópia específica do instantâneo do arquivo config.pvs . Faça o mesmo ajuste que no Passo 3. acima.

Agora o deslocamento de tempo também deve ser desativado para esse instantâneo.

Agradecemos a Dmitry da Parallels Support pela resposta no Parallels Support Forum.

    
por 03.09.2018 / 10:53