No VMWare, pelo menos, o relógio de hardware que o sistema operacional da VM vê não é mais preciso do que o relógio do software, pois o relógio é baseado na contagem de interrupções e tiques e do hardware virtual, sendo suscetível a distorção quando a VM ou sua host estão sob carga.
A sincronização do relógio das ferramentas VMWare não é sincronizada com o relógio do hardware apresentado como o relógio no hardware virtual - ele fala sobre o limite da VM / host para as partes do host do VMWare (que sincroniza com o relógio do SO no host, não o relógio do hardware).
Outras soluções de virtualização funcionarão de forma diferente, é claro. Eu não usei Xen o suficiente para saber especificamente como ele se comporta nessa área. Algumas soluções de VM (incluindo esquemas de modo de usuário como UML e arranjos que particionam o kernel existente em vez de virtualizar o hardware) usarão o clock do sistema operacional host como o relógio da VM diretamente, então tudo que você precisa fazer é manter o relógio do host em sincronia.
Em geral, mesmo em hardware físico, eu não teria o NTP usando o relógio do hardware como referência.
Além disso, se você estiver usando o NTP dentro de uma MV, certifique-se de ter "funil 0" no topo do seu ntp.conf, para que o daemon ntp não desista e pare de tentar deslizar o relógio de volta para o o lugar certo quando ele vê uma grande distorção de clock causada por um excesso recente de carga na VM / host.
Editar: perdeu um pouco ... Além disso, se estiver usando o Linux em suas VMs, certifique-se de usar um kernel "tickless" moderno - eles são muito menos suscetíveis a problemas de clock skew. A maioria das versões modernas do Linux usa essa opção do kernel por padrão, já que pode reduzir o consumo de energia da CPU.