A temperatura da CPU do host no convidado do KVM

2

Estou tentando usar lm_sensors para detectar a temperatura da CPU do host no guest do KVM.

No host, com o módulo do kernel x86_pkg_temp_thermal inserido, a interface sysfs /sys/class/thermal/thermal_zone*/temp expõe o desejado informação.

Aqui está a saída do script sensors-detect de lm-sensors no host:

$ sudo sensors-detect
# sensors-detect revision 6284 (2015-05-31 14:00:33 +0200)
# System: LENOVO 20C60065TW [ThinkPad Edge E540] (laptop)
# Kernel: 4.8.8-200.fc24.x86_64 x86_64
# Processor: Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (6/60/3)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): YES
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
AMD Family 11h thermal sensors...                           No
AMD Family 12h and 14h thermal sensors...                   No
AMD Family 15h thermal sensors...                           No
AMD Family 16h thermal sensors...                           No
AMD Family 15h power sensors...                             No
AMD Family 16h power sensors...                             No
Intel digital thermal sensor...                             Success!
    (driver 'coretemp')
Intel AMB FB-DIMM thermal sensor...                         No
Intel 5500/5520/X58 thermal sensor...                       No
VIA C7 thermal sensor...                                    No
VIA Nano thermal sensor...                                  No

No guest KVM que executa o Fedora 24, o módulo do kernel não pode ser inserido:

[root@fedora ~]# modprobe -v x86_pkg_temp_thermal
insmod /lib/modules/4.8.8300.fc25.x86_64/kernel/drivers/thermal/x86_pkg_temp_thermal.ko.xz 
modprobe: ERROR: could not insert 'x86_pkg_temp_thermal': No such device
[root@fedora ~]# modprobe -v coretemp
insmod /lib/modules/4.8.8-300.fc25.x86_64/kernel/drivers/hwmon/coretemp.ko.xz 
modprobe: ERROR: could not insert 'coretemp': No such device

A saída do script sensors-detect no guest indica que esse recurso não foi exposto pelo host.

[root@fedora ~]# sensors-detect 
# sensors-detect revision 6284 (2015-05-31 14:00:33 +0200)
# System: QEMU Standard PC (i440FX + PIIX, 1996) [pc-i440fx-2.6]
# Kernel: 4.8.8-300.fc25.x86_64 x86_64
# Processor: Westmere E56xx/L56xx/X56xx (Nehalem-C) (6/44/1)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): YES
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
AMD Family 11h thermal sensors...                           No
AMD Family 12h and 14h thermal sensors...                   No
AMD Family 15h thermal sensors...                           No
AMD Family 16h thermal sensors...                           No
AMD Family 15h power sensors...                             No
AMD Family 16h power sensors...                             No
Intel digital thermal sensor...                             No
Intel AMB FB-DIMM thermal sensor...                         No
Intel 5500/5520/X58 thermal sensor...                       No
VIA C7 thermal sensor...                                    No
VIA Nano thermal sensor...                                  No

Existe alguma maneira de expor o "sensor térmico digital da Intel" ao guest da KVM?

    
por Yun-Chih Chen 01.12.2016 / 03:45

1 resposta

2

As temperaturas não devem estar presentes nas CPUs virtualizadas, e isso é um comportamento esperado.

As CPUs em uma VM são virtuais e podem não mapear exatamente uma para uma para CPUs reais.

Também existem diferenças / compensações esperadas em um ambiente virtual / VMs, em que não é esperado que emulações completas do ambiente host sejam encontradas e, muitas vezes, não são desejáveis por motivos de desempenho.

Assim, por exemplo, o esforço extra em algumas plataformas de virtualização para para virtualizar cartões de interface de rede e controladores de disco em vez de emular o hardware completo - as diferenças de desempenho geralmente podem atingir ordens de grandeza.

Para capturar dados de hardware, ou seja, temperatura e outros dados de monitoramento do host, aconselho, além de monitorar as VMs, também fazer monitoramento direto para o host, por exemplo, configurando serviços SNMP.

    
por 01.12.2016 / 04:22