Start / Fallstricke / Cloud-Anbieter auf Cloud-Servern identifizieren: Checkliste zur KVM- und QEMU-Kreuzvalidierung

Cloud-Anbieter auf Cloud-Servern identifizieren: Checkliste zur KVM- und QEMU-Kreuzvalidierung

Virtualisierungstypen von Cloud-Anbietern mit reproduzierbaren Methoden identifizieren

Aktualisiert 2026-08-27 · CloudWorth

KVMQEMUCloud-Anbieter-IdentifikationVirtualisierungserkennungSteal TimeCloudWorthVPS OversellingVPS Benchmark

Cloud-Anbieter auf Cloud-Servern identifizieren: Checkliste zur KVM- und QEMU-Kreuzvalidierung

Vierdimensionale Kreuzvalidierung: dmesg, DMI, virtio, Steal Time – zur reproduzierbaren Identifizierung von KVM-Cloud-Anbietern.

KVM-Anzeichen in dmesg

Bei einem Cloud-Server ist der erste Schritt nicht systemd-detect-virt auszuführen, sondern zunächst die Kernel-Logs zu prüfen. dmesg ist das ehrlichste „Geständnis“, denn die Virtualisierungsschicht von KVM/QEMU hinterlässt beim Booten handfeste Beweise. Am typischsten sind direkte Hinweise wie KVM: disabled by BIOS oder KVM: vcpu 0, cpu 0, aber Cloud-Anbieter bereinigen die Logs oft. Ein zuverlässigeres Signal sind ACPI-Tabellen und PCI-Geräte: Führe dmesg | grep -i -E 'kvm|qemu|virtio|hypervisor' aus. Wenn du Hypervisor detected: KVM siehst, ist das so gut wie sicher.

Aber das Fehlen dieser Schlüsselwörter in dmesg bedeutet nicht, dass es kein KVM ist – viele Anbieter verwenden benutzerdefinierte Firmware. In diesem Fall solltest du dmesg | grep -i smbios oder die Dateien unter /sys/class/dmi/id/ prüfen. Ein weiterer versteckter Hinweis ist die Taktquelle (Clocksource): KVM-Gäste zeigen oft clocksource: tsc oder kvm-clock, während Xen normalerweise xen verwendet. Verifiziere mit cat /sys/devices/system/clocksource/clocksource0/current_clocksource. Wenn kvm-clock zurückgegeben wird, ist die KVM-Identität bestätigt.

Forensischer Tipp: Der -T-Zeitstempel von dmesg hilft dir zu bestätigen, ob die Virtualisierungsschicht früh beim Booten geladen wurde oder später dynamisch injiziert wurde – Letzteres deutet auf verschachtelte Virtualisierung hin.

DMI-Produktname zur Herstellerbestimmung

Nur auf dmesg zu schauen, führt leicht zu Fehlinterpretationen, da sich KVM bei Alibaba Cloud, Tencent Cloud und AWS im Grunde gleich verhält. Hier sollte man den DMI/SMBIOS-„Hersteller-Fingerabdruck“ heranziehen. cat /sys/class/dmi/id/product_name und cat /sys/class/dmi/id/sys_vendor sind die zwei Befehle, die man sich am besten merken sollte.

Die QEMU-Firmware-Strings der verschiedenen Cloud-Anbieter unterscheiden sich stark: Alibaba Cloud liefert häufig Alibaba Cloud ECS, Tencent Cloud TencentCloud, Huawei Cloud Huawei Cloud. AWS Nitro ist zwar kein traditionelles KVM, aber ältere Generationen zeigen immer noch Xen oder KVM. Microsoft Azure zeigt häufig Microsoft Corporation plus Virtual Machine. Wenn man QEMU Standard PC (i440FX + PIIX, 1996) sieht, bedeutet das, dass der Anbieter die Vorlage nicht geändert hat – das ist selbst ein Erkennungssignal.

Eine fortgeschrittene Methode ist der direkte Vergleich der System Information und Baseboard-Informationen aus dmidecode -t 1 und dmidecode -t 2. Es sei darauf hingewiesen, dass einige kleine IDC-Anbieter die DMI-Strings „modifizieren“, um sich als große Anbieter auszugeben. Daher muss DMI mit virtio-Geräten und Steal Time kreuzvalidiert werden. Um die eigene Cloud-Server-Identität schnell zu überprüfen, kann man zunächst die kostenlose Erkennungsseite von CloudWorth nutzen: /app. Sie kombiniert mehrere /sys-Pfade und ermittelt automatisch.

virtio-Geräteliste zur KVM-Erkennung

virtio ist das paravirtualisierte I/O-Framework von KVM/QEMU. Sobald virtio-Geräte auftauchen, gehört es praktisch zum KVM-Lager (Xen und OpenVZ verwenden dieses nicht). Der Prüfbefehl lautet ls -l /sys/bus/virtio/devices/ oder lspci | grep -i virtio. Man sieht Verzeichnisse wie virtio0, virtio1, die Blockgeräte, Netzwerkkarten, Ballon usw. darstellen.

Für eine genauere Bestimmung ist die PCI-Hersteller-ID entscheidend: lspci -nn | grep -i -E '1af4|virtio', wobei 0x1af4 die offizielle PCI-Vendor-ID von Red Hat/virtio ist. Wenn die Netzwerkkarte Red Hat, Inc. Virtio network device anzeigt, ist es definitiv KVM/QEMU. Wenn das Blockgerät Virtio block device ist, läuft der Datenträger ebenfalls über den virtio-Pfad.

Wenn man lspci nicht nutzen möchte, kann man /proc und /sys zur Kreuzvalidierung verwenden: Prüfe, ob cat /proc/bus/pci/devices die Kennung 1af4 enthält, oder nutze find /sys/devices -name 'virtio'. Hinweis: Neuere AWS-Nitro-Instanzen und einige Cloud-Anbieter verwenden EFA oder ENA anstelle reiner virtio-Netzwerkkarten, aber die Blockgeräte bleiben bei virtio, daher sollte man vorrangig auf den Festplattencontroller achten. Wenn im Verzeichnis virtio die Unterverzeichnisse block und net auftauchen, lassen sich OpenVZ und der PV-Modus von Xen fast ausschließen.

Steal Time: Übertriebene Spezifikationen erkennen

Die Identifizierung des KVM-Cloud-Anbieters ist nur der erste Schritt – entscheidend ist, ob die Cloud-Server über „übertriebene Spezifikationen“ verfügen. Steal Time (gestohlene Zeit) ist die CPU-Zeit, die vom Host im KVM-Gast belegt wird. Je höher der Wert, desto stärker ist die Überbuchung des physischen Servers. Am einfachsten lesen Sie den Wert als %st in top ab, aber genauer ist das Feld steal in /proc/stat.

Seit Linux-Kernel 2.6.26 wurden viele Optimierungen an KVM-Uhr und Netzwerk-I/O vorgenommen, was die Steal-Time-Messung zuverlässiger macht. Wenn die st-Spalte in vmstat 1 dauerhaft über 5 % liegt oder die 8. Zahl (Steal-Zeitscheibe) in cat /proc/stat | grep '^cpu ' kontinuierlich wächst, bedeutet das, dass Ihre vCPUs oft von Nachbarn beansprucht werden. Hier sind einige Befehle zur Überprüfung vor Ort:

# 每2秒采样一次,观察 st 列
vmstat 1 5
# 查累计 steal 时间(单位:jiffies)
awk '/^cpu / {print "steal:", $8}' /proc/stat
# 用 mpstat 看单核被偷比例
mpstat -P ALL 1 2

Eine noch härtere Methode ist der „CPU-Marathon + Steal-Vergleich“: Lassen Sie stress-ng --cpu 4 fünf Minuten lang laufen und zeichnen Sie gleichzeitig %steal mit mpstat auf. Wenn die durchschnittliche Steal-Rate über 10 % liegt, kann man im Wesentlichen von einer schweren Überbuchung ausgehen. Vor einer Verlängerung sollten Sie den Neupreis vergleichen. Um zu berechnen, wie viel Ihr aktuelles Paket im Vergleich zum Neukundenrabatt kostet, sehen Sie sich das CloudWorth-Vergleichstool für Cloud-Server an: /app. Denken Sie daran: Eine hohe Steal Time bedeutet nicht unbedingt, dass der Anbieter unzuverlässig ist, aber sie weist auf eine unzureichende Ressourcenreserve des physischen Servers hin – ein wichtiger Referenzpunkt für Verlängerungs- und Migrationsentscheidungen. Wenn Sie dmesg, DMI, virtio und Steal Time kreuzweise abgleichen, können Sie wie bei einer forensischen Analyse den Cloud-Anbieter und das tatsächliche Leistungsniveau genau bestimmen.

FAQ

Wie erkenne ich einen KVM-Cloud-Anbieter über dmesg?

Führen Sie den Befehl `dmesg | grep -i kvm` aus, um nach KVM-bezogenen Logs zu suchen. Wenn solche Logs erscheinen, ist die KVM-Virtualisierung bestätigt.

Wie lässt sich aus dem DMI-Produktnamen auf den Cloud-Anbieter schließen?

Führen Sie `dmidecode -s system-product-name` aus. Die Ausgabe wie 'Alibaba Cloud ECS' oder 'KVM' lässt Rückschlüsse auf den Anbieter zu.

Wie kann man KVM anhand der virtio-Geräteliste bestätigen?

Prüfen Sie mit `lspci` oder `ls /dev/vd*`. Das Vorhandensein von virtio-Datenträgern und Netzwerkkarten deutet normalerweise auf eine KVM-Plattform hin.

Vierdimensionale Kreuzvalidierung: dmesg, DMI, virtio, Steal Time – zur reproduzierbaren Identifizierung von KVM-Cloud-Anbietern.

Kostenlos prüfen →