Der Prozessortyp einer virtuellen Maschine: warum die Vorgabe langsam ist und host nicht immer richtig

Der vorgegebene Prozessortyp ist bewusst alt gewählt, damit er überall läuft. Der Preis ist Leistung. Das andere Ende, host, gibt Geschwindigkeit, nimmt der Maschine aber die Umzugsfreiheit.

AtlasPVE ·

Dieser Eintrag beantwortet

  • proxmox cpu typ host oder kvm64
  • proxmox vm langsam cpu
  • was ist proxmox cpu typ
  • proxmox migration cpu inkompatibel
  • proxmox aes-ni virtuelle maschine

Beim Anlegen einer virtuellen Maschine gibt es ein Feld namens Prozessortyp, und es bleibt meist bei der Vorgabe. Diese Vorgabe ist ein ziemlich altes, allgemeines Prozessormodell.

Das ist kein Versehen, sondern eine bewusste Wahl. Es dabei zu belassen, ohne zu wissen, was es dich kostet, wäre allerdings ein Versehen.

Warum die Vorgabe so alt ist

Das der virtuellen Maschine gezeigte Prozessormodell bestimmt, wohin diese Maschine verschoben werden kann. Eine laufende Maschine lässt sich nicht auf einen Server verschieben, der die ihr gezeigten Prozessormerkmale nicht unterstützt.

Das älteste und allgemeinste Modell zu zeigen, gibt die größte Verträglichkeit. Das ist die Logik der Vorgabe: sie soll überallhin können.

Was es kostet

Moderne Prozessoren haben Sonderbefehle, die bestimmte Arbeiten um ein Vielfaches beschleunigen. Verschlüsselung, Komprimierung, Medienarbeit und Prüfsummen profitieren davon unmittelbar.

Das alte Vorgabemodell verbirgt diese Befehle vor dem Gast. Da der Gast sie nicht sieht, nimmt er den langsamen Weg. Ergebnis: dein Server könnte diese Arbeit schnell erledigen, deine virtuelle Maschine kann es nicht.

Der Unterschied ist nicht klein. Ein Dienst, der verschlüsselt, kann in der virtuellen Maschine ein Vielfaches der Zeit brauchen, die dieselbe Arbeit auf dem Server kostet. Und dieser Unterschied taucht nirgends als Fehler auf; er wird nur als "hier ist es langsam" empfunden.

Das andere Ende: den Prozessor des Servers so zeigen, wie er ist

Am anderen Ende kannst du den Prozessor des Servers unverändert durchreichen. Der Gast sieht alle modernen Befehle und läuft so schnell wie möglich.

Der Preis ist ebenso deutlich: diese Maschine lässt sich im Betrieb nicht auf einen Server mit einem anderen Prozessor verschieben. Hast du ein Cluster gebaut, bleibt die Maschine, die du in einer Wartungsnacht verschieben willst, genau wegen dieser Einstellung stehen.

Die Wahl ist also derselbe Tausch, der in diesem Wiki immer wieder auftaucht: Leistung oder Beweglichkeit.

Drei Lagen, drei Antworten

Hast du eine einzige Maschine, reiche den Prozessor des Servers durch. Es gibt kein Ziel zum Verschieben, also lohnt es nicht, für Verträglichkeit zu zahlen.

Sind die Server im Cluster gleich, kannst du ihn ebenfalls durchreichen. Gleicher Prozessor, gleiche Merkmale.

Unterscheiden sich die Server im Cluster, nimm den Mittelweg: wähle ein benanntes modernes Modell, das alle unterstützen. Du bekommst die meisten modernen Befehle, und die Übertragbarkeit bleibt erhalten. Das ist die am häufigsten übersehene und meist die richtigste Möglichkeit.

Die häufige Falle

Es passiert in dieser Reihenfolge: du beginnst mit einer Maschine, stellst den Prozessor auf den des Servers, Monate vergehen, du kaufst einen zweiten Server und baust ein Cluster, und wenn die Wartungsnacht kommt, lassen sich die Maschinen nicht verschieben.

In dem Moment erinnert sich niemand an eine Einstellung von vor Monaten. An dem Tag, an dem du ein Cluster baust, sieh die Prozessoreinstellung der vorhandenen Maschinen durch.

Was beim Ändern zu wissen ist

Das Prozessormodell zu ändern heißt, dem Gast zu zeigen, dass sich die Hardware geändert hat. Deshalb verlangt die Änderung, dass die Maschine vollständig angehalten und neu gestartet wird; ein Neustart von innen genügt nicht.

Manche Betriebssysteme bemerken eine Hardwareänderung auch lizenzrechtlich. Hast du einen solchen Gast, rechne das vor der Änderung mit ein.

Was Atlas tut

Atlas erkennt die alten Vorgabe-Prozessortypen und markiert es, wenn eine Maschine noch mit einem davon läuft.

Die Wahl der Stufe ist hier bedeutsam: dies ist ein Vorschlag, keine Warnung. Der Grund ist ehrlich: die Vorgabe ist nicht kaputt, sie funktioniert. Es liegt nur Leistung brach. Etwas Nichtkaputtes eine Warnung zu nennen, senkt den Wert echter Warnungen.

Die Markierung steht unter der Überschrift Leistung, sie sagt also nicht "diese Maschine ist falsch eingerichtet", sondern "diese Maschine könnte schneller sein".

Und der Vorschlag führt dich direkt dorthin, wo die Einstellung sitzt. Jemandem zu sagen, dass sich etwas verbessern ließe, und ihn dann suchen zu lassen, wo es liegt, ist nur wenig besser, als es gar nicht zu sagen.

Quellen

Die eigene Dokumentation von Proxmox. Auf Englisch, und sie hat in dieser Sache das letzte Wort.

Verwandte Einträge

Wie sieht das in Atlas aus?

Zur Produktseite