Hot-Remove-Speicher in einer virtuellen Linux-Maschine

11

Linux unterstützt das Hinzufügen von Speicher im laufenden Betrieb, wenn es als VM-Gast ausgeführt wird, beispielsweise in VMware . (Manchmal müssen Sie das Gastbetriebssystem manuell informieren .)

Gibt es eine sichere Möglichkeit, die inverse Operation auszuführen - die einer virtuellen Maschine zugewiesene Speichermenge zu reduzieren, und wenn ja, müssen Sie den Linux-Gast vor einer solchen Operation manuell informieren? (Wenn ja, ist das Verfahren spezifisch für VMware-Tools oder ist es generisch für jede Art von Virtualisierungsmechanismus?)

200_Erfolg
quelle

Antworten:

7

ESXi unterstützt nicht das Entfernen von Speicher oder CPUs von einer VM. Jemand, den ich vor ein paar Monaten in der Kneipe getroffen habe, sagte mir, dass die Schwester eines Freundes seines Cousins ​​* hust * die Antwort bekam, dass praktisch kein Kunde diese Funktion verlangt. Mit anderen Worten: Es lohnt sich nicht, Hot-Remov zu implementieren.

Wenn ESXi dies unterstützen soll, rufen Sie VMware auf und teilen Sie dies mit. Je mehr Leute es tun, desto höher sind die Chancen, dass sie es umsetzen.

Mario Lenz
quelle
1
Lesen Sie dies und hatten Sie gesagt: "Die Freundin des Bruders des Freundes meines besten Freundes hat von diesem Kerl gehört, der dieses Kind kennt, das mit dem Mädchen geht, das Ferris letzte Nacht bei 31 Flavours ohnmächtig gemacht hat. Ich denke, es ist ziemlich ernst."
Warren
Es ist interessant, dass ein kommerzielles Unternehmen wie vmware das Entfernen von Speicher im laufenden Betrieb nicht unterstützt, während dies bei KVM (freie Software) der Fall ist. Ich würde sagen, es ist ein weiteres gutes Argument für freie Software.
Aseq
@aseq Obwohl ich ein großer Fan von freier Software bin, denke ich nicht, dass eine einzige Funktion ein guter Grund dafür (oder dagegen) ist.
Mario Lenz
Es hängt von der Funktion ab, aber kvm hat noch viele andere Dinge zu bieten. Dieser besondere kann nur der entscheidende Faktor sein.
Aseq
@aseq Heißes Entfernen von Speicher könnte der Grund sein, KVM anstelle von ESXi zu wählen, aber das ist eine sehr spezifische Entscheidung und hat nichts mit den allgemeinen Vorteilen freier Software zu tun. Lassen Sie es mich so sagen: Wenn es umgekehrt wäre (ESXi würde das Entfernen von Speicher im laufenden Betrieb unterstützen und KVM nicht), wäre das ein gutes Argument für proprietäre Software? Ich denke nicht.
Mario Lenz
4

Ich kann in VMware nicht sicher sagen, aber bei Verwendung von kvm funktioniert das Verringern des Speichers einer laufenden virtuellen Maschine einwandfrei. Natürlich bis zu einem gewissen Grad, aber die Software wird es Ihnen sagen. Wenn Sie ihn verringern, wird der Speicher in der virtuellen Maschine schrittweise verringert, bis er nicht mehr verringert werden kann. Wenn Sie festlegen, dass der Speicher niedriger ist als dort, wo er gestoppt wurde, müssen Sie die virtuelle Maschine neu starten, damit sie vollständig verkleinert wird.

Ich habe das kürzlich auf einem System gemacht, auf dem kvm mit ungefähr 20 virtuellen Maschinen ausgeführt wird, auf dem jemand es für sinnvoll hielt, den Speicher zu überbeanspruchen, was dazu führte, dass einige virtuelle Maschinen im Swap ausgeführt wurden (doh!). Um dies zu beheben, habe ich den Speicher um etwa 20-40% von 2/3 der virtuellen Maschinen verringert, und die meisten konnten ihn während des Betriebs vollständig verringern. Einige benötigten einen Neustart, damit die neue Speichereinstellung vollständig wirksam wurde.

Ich gehe davon aus, dass eine virtuelle VMware-Maschine dieses Verhalten ebenfalls zulassen könnte. Ein schneller Test im VMware-Player zeigt mir jedoch, dass ein Neustart erforderlich ist, um wirksam zu werden (eine schickere VMware-Software verhält sich möglicherweise besser). Andernfalls ist dies auf einem laufenden System sicher. Natürlich ist es eine andere Frage, ob die verbleibende Speichermenge ausreicht, um sie korrekt auszuführen.

aseq
quelle