Solução rígida:
Eu não vejo uma opção embutida em documentos KVM, mas você pode mexer com a hora do sistema. Primeiro, verifique qual relógio sua instalação do KVM está usando:
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
É mais provável que kvm-clock
. Se assim for, você tem algumas opções. kvm-clock
live atualiza seu tempo usando a seguinte estrutura:
struct pvclock_vcpu_time_info {
u32 version;
u32 pad0;
u64 tsc_timestamp;
u64 system_time;
u32 tsc_to_system_mul;
s8 tsc_shift;
u8 flags;
u8 pad[1];
} __attribute__((__packed__));
Você pode escrever um wrapper no host para interceptar isso e gerar uma versão do tempo acelerada. Você também pode reconstruir kvm-clock
, substituindo pvclock_vcpu_time_info
pela lógica personalizada pela saída do horário UTC com o tempo adicionado delta como libvirt
faz em seu variável de deslocamento <clock offset="variable" adjustment="123456" />
Solução mais fácil:
Continue usando virtualbox
. Ou xen
tem uma opção comparável de "xen.independent_wallclock = 1"
, onde você pode configurar seu tempo próprio.
Solução mais fácil:
Pergunte por que você precisa acelerar o tempo assim? Eu não consigo pensar em uma tonelada de razões que um Set Top box precisaria disso. E provavelmente seria mais fácil manipular seu código com um invólucro de tempo falso do que no nível do sistema operacional. Você bagunça o NTP, logs e muitas outras coisas mexendo com o tempo.