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: