Home / Gidsen over trucs / Cloudserver identificatie van cloudprovider: KVM en QEMU kruisvalidatie checklist

Cloudserver identificatie van cloudprovider: KVM en QEMU kruisvalidatie checklist

Identificeer virtualisatietypen van cloudproviders met reproduceerbare methoden

Bijgewerkt 2026-08-27 · CloudWorth

KVMQEMUCloudprovider-identificatieVirtualisatiedetectieSteal TimeCloudWorthVPS oversellingVPS benchmark

Cloudserver identificatie van cloudprovider: KVM en QEMU kruisvalidatie checklist

Vierdimensionale kruisvalidatie: dmesg, DMI, virtio, Steal Time, reproduceerbaar cloudprovider KVM-identificatie.

Tekenen van KVM in dmesg

Wanneer je een cloudserver krijgt, is de eerste stap niet het draaien van systemd-detect-virt, maar eerst naar de kernel-logboeken kijken. dmesg is de meest eerlijke 'bekentenis', omdat de virtualisatielaag van KVM/QEMU bij het opstarten hard bewijs achterlaat. Het meest typisch is het direct verschijnen van teksten als KVM: disabled by BIOS of KVM: vcpu 0, cpu 0, maar cloudproviders wissen de logboeken vaak wat schoner. Een betrouwbaarder signaal zijn ACPI-tabellen en PCI-apparaten: voer dmesg | grep -i -E 'kvm|qemu|virtio|hypervisor' uit; als je Hypervisor detected: KVM ziet, is het vrijwel zeker.

Maar de afwezigheid van deze trefwoorden in dmesg betekent niet dat het geen KVM is — veel leveranciers gebruiken aangepaste firmware. In dat geval moet je kijken naar dmesg | grep -i smbios of naar bestanden onder /sys/class/dmi/id/. Een andere verborgen aanwijzing is de klokbron: KVM-gasten tonen vaak clocksource: tsc of kvm-clock, terwijl Xen meestal xen is. Verifieer met cat /sys/devices/system/clocksource/clocksource0/current_clocksource; als dit kvm-clock retourneert, is de KVM-identiteit bevestigd.

Forensische tip: de -T tijdstempel van dmesg helpt je bevestigen of de virtualisatielaag vroeg tijdens het opstarten is geladen of later dynamisch is geïnjecteerd — het laatste is meestal geneste virtualisatie.

DMI-productnaam herleiden naar leverancier

Alleen naar dmesg kijken leidt vaak tot verkeerde conclusies, omdat het KVM-gedrag van Alibaba Cloud, Tencent Cloud en AWS in principe hetzelfde is. In dat geval moet je de DMI/SMBIOS-‘leveranciersvingerafdruk’ gebruiken. cat /sys/class/dmi/id/product_name en cat /sys/class/dmi/id/sys_vendor zijn de twee commando's die je het beste kunt onthouden.

De QEMU-firmwarestrings van cloudleveranciers verschillen sterk: Alibaba Cloud retourneert vaak Alibaba Cloud ECS, Tencent Cloud is TencentCloud, Huawei Cloud is Huawei Cloud, en hoewel AWS Nitro geen traditionele KVM is, tonen oudere generaties nog steeds Xen of KVM. Microsoft Azure laat vaak Microsoft Corporation plus Virtual Machine zien. Als je QEMU Standard PC (i440FX + PIIX, 1996) ziet, betekent dat dat de leverancier lui was en de sjabloon niet heeft aangepast; dat is op zichzelf al een herkenningssignaal.

Een geavanceerdere methode is het direct vergelijken van de System Information- en Baseboard-gegevens van dmidecode -t 1 en dmidecode -t 2. Let op: sommige kleine IDC-aanbieders ‘modden’ hun DMI-strings om zich voor te doen als grote leveranciers, dus DMI moet altijd worden gecrossvalideerd met virtio-apparaten en Steal Time. Als je snel de identiteit van je cloudserver wilt verifiëren, kun je eerst de gratis detectiepagina van CloudWorth gebruiken: /app. Die combineert automatisch meerdere /sys-paden om een oordeel te vellen.

Virtio-apparaatlijst voor KVM-detectie

virtio is het para-virtualisatie I/O-framework van KVM/QEMU, zodra er een virtio-apparaat verschijnt, behoort het vrijwel zeker tot het KVM-kamp (Xen en OpenVZ gebruiken dit niet). De controlecommando is ls -l /sys/bus/virtio/devices/, of lspci | grep -i virtio. Je ziet mappen zoals virtio0, virtio1, die blokapparaten, netwerkkaarten, ballonapparaten, enz. vertegenwoordigen.

Voor een preciezere bepaling moet je kijken naar de PCI-fabrikant-ID: lspci -nn | grep -i -E '1af4|virtio', waarbij 0x1af4 de officiële PCI-leveranciers-ID van Red Hat/virtio is. Als de netwerkkaart Red Hat, Inc. Virtio network device toont, dan is het absoluut KVM/QEMU. Evenzo, als het blokapparaat Virtio block device is, betekent dit dat de schijf ook het virtio-pad volgt.

Als je geen lspci wilt gebruiken, kun je /proc en /sys kruislings verifiëren: of er 1af4 in cat /proc/bus/pci/devices staat, of find /sys/devices -name 'virtio'. Let op: nieuwere AWS Nitro en sommige cloudproviders gebruiken EFA of ENA in plaats van pure virtio-netwerkkaarten, maar blokapparaten behouden nog steeds virtio, dus kijk bij voorkeur naar de schijfcontroller. Wanneer de mappen block en net in de virtio-map verschijnen, kunnen OpenVZ- en Xen-PV-modus vrijwel worden uitgesloten.

Steal Time om overdreven specificaties te herkennen

Het herkennen van een KVM-cloudprovider is slechts de eerste stap; het beoordelen of deze cloudserver "overdreven specificaties" heeft, is de kern. Steal Time (gestolen tijd) is de CPU-tijd die door de host wordt gepreempteerd in een KVM-gast. Hoe hoger de waarde, hoe ernstiger de overboeking van de fysieke machine. De eenvoudigste manier om de metriek te lezen is %st in top, maar nauwkeuriger is het steal-veld in /proc/stat.

Sinds Linux-kernel 2.6.26 zijn er veel optimalisaties doorgevoerd voor KVM-klok en netwerk-I/O, waardoor Steal Time meting betrouwbaarder is geworden. Als de st-kolom van vmstat 1 langdurig boven de 5% ligt, of als het 8e getal (steal-tijdsegment) van cat /proc/stat | grep '^cpu ' blijft groeien, betekent dit dat je vCPU vaak wordt gestolen door buren. Hier is een set commando's voor veldverificatie:

# Elke 2 seconden een monster nemen en de st-kolom bekijken
vmstat 1 5
# Cumulatieve steal-tijd opvragen (in jiffies)
awk '/^cpu / {print "steal:", $8}' /proc/stat
# Met mpstat het gestolen percentage per kern bekijken
mpstat -P ALL 1 2

Een hardere test is "CPU-marathon + Steal-vergelijking": draai stress-ng --cpu 4 gedurende vijf minuten en registreer tegelijkertijd %steal van mpstat. Als het gemiddelde steal-percentage boven de 10% ligt, kun je er in principe van uitgaan dat de overboeking ernstig is; vergelijk de aankoopprijs voordat je verlengt. Wil je weten hoeveel het huidige pakket verschilt van de korting voor nieuwe gebruikers? Bekijk dan de prijsvergelijkingstool voor cloudservers van CloudWorth: /app. Onthoud: Een hoge Steal Time betekent niet dat de provider onbetrouwbaar is, maar het betekent wel dat er onvoldoende redundantie is in fysieke machinebronnen; dit is een belangrijke referentie voor beslissingen over verlenging en migratie. Door dmesg, DMI, virtio en Steal Time kruiselings te vergelijken, kun je als een forensisch onderzoeker de cloudprovider en het werkelijke prestatieniveau nauwkeurig bepalen.

FAQ

Hoe herken ik een KVM-cloudprovider via dmesg?

Voer dmesg | grep -i kvm uit en controleer of er KVM-gerelateerde logs zijn; als die verschijnen, wordt KVM-virtualisatie bevestigd.

Hoe kan ik de cloudprovider afleiden uit de DMI-productnaam?

Voer dmidecode -s system-product-name uit; de uitvoer zoals Alibaba Cloud ECS, KVM, enz., bepaalt de provider.

Hoe kan ik KVM verifiëren met behulp van de virtio-apparaatlijst?

Controleer lspci of ls /dev/vd*; de aanwezigheid van virtio-schijven en netwerkkaarten duidt meestal op een KVM-platform.

Vierdimensionale kruisvalidatie: dmesg, DMI, virtio, Steal Time, reproduceerbaar cloudprovider KVM-identificatie.

Start gratis detectie →