No KVM existe um equivalente a WarpDrivePercentage

1

O VirtualBox tem um recurso pouco conhecido chamado WarpDrivePercentage. Isso permite que você execute a VM em velocidades mais rápidas ou mais lentas (com algumas ressalvas). Temos um ambiente de teste que simula Set Top Boxes no KVM e um recurso como este poderia nos permitir executar muito mais testes.

    
por Martin 07.06.2017 / 16:35

1 resposta

1

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.

    
por Grayson Kent 07.06.2017 / 19:58