Tempo flutuante estranho em um convidado linux XEN

2

Eu tenho um problema estranho com alguns servidores aqui no trabalho. Nós temos alguns convidados XEN que o tempo atual flutua.

# date;date;date;date;date;date;date
Thu Feb 25 16:00:40 PHT 2010
Thu Feb 25 16:00:48 PHT 2010
Thu Feb 25 16:00:40 PHT 2010
Thu Feb 25 16:00:48 PHT 2010
Thu Feb 25 16:00:40 PHT 2010
Thu Feb 25 16:00:48 PHT 2010
Thu Feb 25 16:00:40 PHT 2010

Como visto acima, o tempo oscila entre 16:00:48 e 16:00:40, o que é problemático para nós, pois a computação para diferenças de tempo em alguns de nossos scripts se torna imprecisa (por exemplo, o que deve ser algumas diferenças de ms torna-se algumas poucas diferenças secundárias e, às vezes, diferenças negativas).

Os servidores problemáticos são convidados linux em um host XEN. O tempo oscila nos sistemas convidados, mas está tudo bem no próprio host. Eu excluí o ntpd, pois isso acontece independentemente de o ntpd estar ou não em execução nos sistemas convidados.

O convidado está em virtualização completa. O horário no host e no convidado corresponde, exceto que o tempo no convidado flutua em alguns segundos do horário do host e o horário do host não flutua.

/ proc / sys / xen / independent_wallclock é 0 no host e não existe no convidado. O serviço Ntpd foi interrompido e desativado. Definir independent_wallclock como 1 no host não tem efeito (ou seja, o tempo ainda flutua no convidado). Embora eu não fosse capaz de reiniciar o convidado, pois é um servidor de produção. Pode ser capaz de fazer isso no fim de semana.

Alguma idéia sobre o que verificar e como resolver esse problema?

Após um longo período de pesquisa e teste, os parâmetros do kernel que funcionaram perfeitamente são:

divider=10 clocksource=acpi_pm

Eu usei esta página para determinar qual os parâmetros foram os melhores para o sistema operacional que estávamos usando. As informações aplicadas ao VMware, mas surpreendentemente também se aplicam ao XEN. Também tivemos o ntpd reativado para termos uma sincronização de tempo de trabalho.

    
por Vin-G 25.02.2010 / 09:08

2 respostas

0

timedrift típico. você precisa configurar o NTP e também fornecer à VM a linha correta do cmd do kernel

link

    
por 25.02.2010 / 13:22
0

Possível resposta pode depender de alguns detalhes. Isso é uma virtualização completa ou uma para-virtualização?

Se isso for para-virtualização guest, verifique a saída de:

cat /proc/sys/xen/independent_wallclock

No convidado e no dom0. Além disso, verifique o tempo em dom0.

Quando o tempo em dom0 está correto e / proc / sys / xen / independent_wallclock é '0' em ambos dom0 e domU, então o tempo no convidado também deve estar correto. Não tente executar o ntpd em nenhum dos convidados, deixe dom0 manter o tempo.

Eu não tenho certeza sobre a virtualização completa, no entanto (eu acho que / proc / sys / xen / independent_wallclock não estará disponível no domU, mas você ainda pode verificar o dom0).

    
por 25.02.2010 / 09:30