[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Management nahezu identischer virtueller Maschinen



Am Dienstag, 5. Juni 2012 schrieb Michael Hierweck:
> Hallo allerseits,

Hi Michael!

> ich suche seit längerer Zeit einen Debian-verträglichen Weg, um eine
> große Anzahl identischer virtueller Maschinen zu verwalten.
[…]
> Auf einem physikalischen System bzw. innerhalb einer
> "schwergewichtigen" VM möchte eine größere Anzahl homogener Container
> einrichten. Diese Container haben insbesondere die identischen
> Debian-Pakete installiert und unterscheiden sich bei der Konfiguration
> nur minimal (Hostname, IP-Adressen, Benutzer, Gruppen, /home, /tmp.
> /var enthält zum Teil identische und variable Daten.)

Hier erstmal die Frage:

Was möchtest Du damit erreichen? Was ist der Anwendungszweck? Diese 
Information ist essentiell um abzuschätzen, was da überhaupt Sinn macht.

> Die nackte Debian-Installation der Container ohne variable Daten
> umfasst bereits rund 8 GB. Es sollen mehrere Dutzend solcher Systeme
> zum Einsatz kommen.
> 
> Meiner Meinung nach wäre es es effizient, im Hinsicht auf
> Speicherplatz, vor allem aber auch des Dateisystem-Caches, die
> identischen Teile des Dateisystems gemeinsam (ggf. read-only) zu
> nutzen.
> 
> Realisieren kann man das durch Dateisysteme, die Stacking unterstützen,
> z.B. aufs, oder auch durch bind mounts.
> 
> Wie auch immer, es erscheint kompliziert. Ich sehe keine sauberen Weg
> mit den Debian-Tools zurecht zu kommen und man verliert die Vorzüge der
> Distribution.

LVM-Snapshots? Bei vielen Snapshots wäre aber die erneuerte 
Implementierung interessant. Ich such das irgendwann noch raus, wann die 
in den Kernel kam ;).

Hardlink-Farmen? Das wäre Deduplizierung mit Datei-granularität.

BTRFS Snapshots wären nett. Aber da fehlt evtl. noch cp --reflink zwischen 
Subvolumes.

> Beispiele:
> 
> * Auf dem Master wird ein Update eingespielt, welches einen Dienst neu
> startet. Selbst wenn die getauschten binaries in den Containern
> "erscheinen", muss man den Neustart des Dienstes händisch auslösen.

Das läßt sich über Puppet, cfengine oder Ähnliches bewerkstelligen.

> * Auf dem Master wird ein Paket installiert, das Dateien oder
> Verzeichnisse ändert oder ergänzt, die Container-spezifisch sind. Dann
> muss dies irgendwie manuell nachgeführt werden.

Jup.

Aber wie sollte es sonst gehen?

> Gibt es vernünftige Tools oder Ansätze, die solches Vorgehen
> unterstützen oder läuft es zwangsläufig darauf hinaus, dass man gegen
> die Distribution arbeitet?

Es könnte Sinn machen, sich auch mal anzuschauen, was im Cloud-Umfeld zum 
Thema Kontextualisierung von VMs gesagt wird. OpenNebula hat da ganz nette 
Anleitungen zu. 

Da gibts dann bei OpenNebula und Co. dann durchaus die Möglichkeit: Ich 
hätte gerne 100 VMs diesen Typsnd die werden dann automatisch 
kontextualisiert.


> Ja, RAM und Disk sind günstiger geworden, aber man muss nicht ohne
> guten Grund Ressourcen verschleudern.

Das sicherlich nicht. Allerdings macht es auch Sinn, den Preis für die 
zusätzliche Hardware mit dem Preis für den zeitlichen Aufwand für die 
Einrichtung zu vergleichen.

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


Reply to: