Mudança de hora do convidado KVM na reinicialização do host

2

Instalei o servidor Ubuntu 12.04 como um host KVM e criei um convidado Ubuntu que também está executando o servidor Ubuntu 12.04. Os servidores estão no fuso horário AST, que é UTC + 3 horas. Depois de definir a hora corretamente nos convidados usando date -s , consigo reinicializar os convidados o quanto eu quiser, com o tempo correto sendo mantido entre as reinicializações.

Se, no entanto, o host KVM for reinicializado (o host não tem problemas de tempo entre as reinicializações), então, quando eu iniciar meus convidados do KVM, todos eles estarão exatamente 3 horas atrasados. A saída abaixo mostra a hora do sistema e a hora do relógio do hardware no host e no convidado.

root@kvmhost1:~# date
Wed Jan 16 14:10:38 AST 2013
root@kvmhost1:~# hwclock 
Wed 16 Jan 2013 02:10:40 PM AST  -0.187899 seconds

root@kvmguest1:~# date
Wed Jan 16 11:10:45 AST 2013
root@kvmguest1:~# hwclock 
Wed 16 Jan 2013 02:10:47 PM AST  -0.521226 seconds

Quando o horário for corrigido nos convidados, eles poderão ser reinicializados sem que o tempo seja alterado incorretamente.

Coisas que eu tentei / testei

  • Eu tentei isso em três servidores físicos separados, todos exibindo o mesmo comportamento exato.
  • Um dos hosts kvm está executando o Ubuntu 11.04 e o mesmo comportamento aconteceu.
  • Eu considerei usar um servidor de horário para resolver o problema, mas o Ubuntu recomenda não usar o NTP no Convidados KVM . Há uma boa discussão disso em sincronização de relógio de convidados KVM , o que sugere que o kvm-clock em execução no convidado deve cuide disso.
  • Eu corri dmesg | grep kvm-clock no convidado e confirmou que o relógio kvm está em uso.

Atualizar

Eu configurei o relógio do hardware para usar a hora local usando a opção --localtime no comando hwclock . O mesmo problema ainda persiste. A saída é um pouco mais clara, porque os relógios de software e hardware são definidos com o mesmo tempo.

root@kvmhost1:~# date
Wed Jan 16 15:50:26 AST 2013
root@kvmhost1:~# hwclock 
Wed 16 Jan 2013 03:50:29 PM AST  -0.750378 seconds

root@kvmguest1:~# date
Wed Jan 16 12:50:29 AST 2013
root@kvmguest1:~# hwclock 
Wed 16 Jan 2013 12:50:31 PM AST  -0.849677 seconds

A solução

A resposta de Michael Hampton resolveu o problema. O convidado foi criado usando um arquivo de kickstart que, por padrão, não define o relógio do hardware no horário UTC. Eu adicionei a opção --utc à opção timezone do kickstart e resolvi esse problema. A opção de kickstart agora é a seguinte:

timezone --utc Asia/Bahrain
    
por Marwan Alsabbagh 16.01.2013 / 12:43

1 resposta

2

Parece que você instalou seu guest de alguma forma que considera o relógio do hardware na hora local. Os convidados do KVM devem sempre considerar o relógio do hardware no horário UTC, a menos que sejam convidados do Windows (mas mesmo esses podem ser configurados como relógio de hardware UTC) ...

Edite o arquivo /etc/default/rcS e altere UTC=no para UTC=yes . Em seguida, redefina seu relógio de convidado.

    
por 16.01.2013 / 16:11