Zuweisen von RAM zu virtuellen Maschinen

371
aCoder

Ich arbeite an OpenStack Cloud . Ich habe zwei VMs. Auf beiden habe ich installiert CentOS 7. Ich habe eine VM als controller nodeund die andere als compute node.

Ich habe zwei Fragen:

  1. Kann ich einer VM mehr als verfügbaren physischen RAM zuweisen? Ich weiß, dass es sich dumm anhört, aber ich habe dies in einem Blog gelesen (sorry, ich erinnere mich nicht an die Adresse der Site). Wenn wir den swap memorydoppelten Arbeitsspeicher haben, können wir dies tun. Stimmt das wirklich? Ich habe so etwas noch nie erlebt. Das erlaubt die Virtual Box auch nicht! Aber wenn es einen Weg gibt, würde ich das gerne wissen.
  2. Kann ich meinen physischen Computer als Controllerknoten verwenden, während sich der Rechenknoten noch auf der VM befindet. Wenn ja, wie? Kann ich bitte eine Erklärung dafür haben?

Vielen Dank.

0

2 Antworten auf die Frage

2
Hennes

Wenn Sie etwas mit "Swap Memory Double the RAM" lesen, lesen Sie wahrscheinlich etwas aus den 1990ern oder älter. Es ist nicht mehr relevant.

(Kurze Zusammenfassung mit Details, die ausgelassen wurden: Damals benutzten einige Betriebssysteme nur virtuellen Speicher und der gesamte physische Speicher war ein Puffer. Die Verwendung betrug 2: 1).

Kann ich einer VM mehr als verfügbaren physischen RAM zuweisen?

Technisch ist dies möglich, aber Ihre VM-Software lässt dies möglicherweise nicht zu. (IIRC-VMware-Workstation funktioniert nicht. Ich habe kaum Virtual Box verwendet und habe keine Ahnung, wie die Einstellungen lauten). Wenn Sie mehr RAM als mehrere VMs zuweisen, müssen Sie möglicherweise beträchtliche Auslagerungen durchführen (und die entsprechenden Verlangsamungen).

Kann ich meinen physischen Computer als Controllerknoten verwenden, während sich der Rechenknoten noch auf der VM befindet.

Sicher. Schüchtern Sie nicht. Ihre physische Maschine ist ein Host. Eine VM ist ein Host. Für die meisten Standpunkte gibt es für sie fast keinen Unterschied.

Vielleicht möchten Sie jedoch zwei Dinge berücksichtigen:

  1. Vernetzung. Haben Sie die VMs in ihrem eigenen Netzwerk platziert, wo nichts anderes (einschließlich Ihres Hosts) sie erreichen kann? Oder in einem eigenen Host-Netzwerk, wo sie mit dem Host kommunizieren können, aber nicht mit dem LAN / Internet? Oder sind sie mit dem realen Netzwerk verbunden und verhalten sich genauso wie der Haupt-Hostcomputer?
  2. Warum nicht den Controller auf einer VM installieren und alles konsistent und portabel halten?
Ok, das ist gut. Nop vmware erlaubt nicht und so als Virtualbox, obwohl ich das maximale Paging eingestellt habe. Zu Ihrer Frage kommen: 1. Netzwerk: Ich habe die Standardeinstellung [NAT] (https://www.virtualbox.org/manual/ch06.html#network_nat) ausgewählt. 2. Ja, ich wollte den Controller auf der VM installieren, aber ich dachte, ich sollte mindestens den Controller oder wahrscheinlich den Rechenknoten auf dem physischen Medium haben. wäre das eine schlechte Wahl? aCoder vor 7 Jahren 0
Es ist nicht schlecht, den Controller auf dem physischen Host und nicht auf einem Gast zu haben. Es macht es nur schwieriger, eine andere Maschine zu isolieren oder auf sie zu wechseln. Somit würden Sie einfach nicht die Vorteile nutzen, die eine VM normalerweise bietet. Wenn das für Sie relevant ist, können nur Sie entscheiden. Hennes vor 7 Jahren 0
Zu NAT: `Diese Trennung maximiert die Sicherheit, da virtuelle Maschinen standardmäßig nicht miteinander kommunizieren können.“ ... Ich denke, Sie möchten, dass Ihre Maschinen miteinander kommunizieren können. Hennes vor 7 Jahren 1
Jep! Ich dachte an [Host-Only Networking] (https://www.virtualbox.org/manual/ch06.html#network_hostonly), das für OpenStack-Dienste eine bessere Option wäre. aCoder vor 7 Jahren 0
Dennoch bleibt die Frage offen, wie einer physischen RAM mehr als verfügbarer Arbeitsspeicher zugewiesen werden kann. aCoder vor 7 Jahren 0
0
José Castillo Lema
  1. Kann ich einer VM mehr als verfügbaren physischen RAM zuweisen?

    Ja, es wird Überzeichnung genannt. Sie können es in Ihrer nova.conf, ram_allocation_ratio, konfigurieren. Der OpenStack-Standardwert ist 1,5, was ein Verhältnis von 1: 1,5 bedeutet (mit 1 GB physischem RAM können Sie 1,5 GB virtuellen RAM erstellen).

  2. Kann ich meinen physischen Computer als Controllerknoten verwenden, während sich der Rechenknoten noch auf der VM befindet. Wenn ja, wie?

    Ja, nur zu Testzwecken. Verschachtelte Virtualisierung weist keine gute Leistung auf.

Meines Wissens erfordern Best Practices, dass Sie den RAM-Speicher NICHT überfordern. Während es möglich ist, gerät es in Situationen, in denen Sie eine Auslagerungsdatei auf einem Laufwerk verwenden, was niemals wünschenswert ist. Die Überprovisionierung der CPU ist in Ordnung, da CPU-Anweisungen in eine Warteschlange gestellt werden. music2myear vor 5 Jahren 0
Genau! Ich empfehle es auch nicht, Speicher ist die einzige Ressource, die in der Virtualisierungswelt nicht überzeichnet werden kann. José Castillo Lema vor 5 Jahren 1