Re: FreeBSD - "Experimentelle Features" - und Hackingtest

From: Oliver Fromme <oliver(at)fromme.com>
Date: Tue, 15 Sep 2015 19:01:46 +0200 (CEST)

Peter Ross wrote:
> Ich habe ab und an nach CBSD geschielt:
>
> http://www.bsdstore.ru/en/about.html
>
> Das verwendet eine Menge:
>
> CBSD is a management layer written for the FreeBSD jail(8) subsystem,
> aimed at unifying racct(8), vnet, zfs(8), carp(4), hastd(8) in one tool
> and providing a more comprehensive solution for building and deploying
> applications quickly with pre-defined software sets with minimal
> configuration.
>
> No extra OS functionality has been exposed yet, and everything that CBSD
> can do, you could also run manually with tens or hundreds of commands in
> the CLI using the underlying utilities (Not that you would want to!)
>
> Es ist inzwischen auch auf bhyve erweitert worden.

Der Beschreibung nach klingt es so, als wenn es auf lange Sicht
so etwas in der Art wie Docker (Linux) oder vielleicht sogar
OpenStack (Linux, Solaris u.a.) werden soll. Nur halt mit
FreeBSD-Technologie unter der Haube. Bin gespannt, wie das
noch weitergeht.

> Oliver Fromme wrote:
> > DragonFly hat eine Reihe weiterer interessanter Features,
> > z.B. Variant Symlinks und Process Checkpointing. Aber das
> > nur am Rande, es hat nicht direkt mit Virtualisierung oder
> > Jails zu tun.
>
> Ich habe auch das Sichern des Prozesszustandes auf Disks gesehen..

Ja, das ist das "Process Checkpointing", das ich erwähnte.

> wenn ich das recht verstehe, koennte man mit Spiegeln des Dateisystems
> und des Speichers (mit inkrementellen, kuerzer werden Ssnapshots, bis
> man "nahe Null" bei den Differenzen ist), Prozesse umziehen lassen?

Im prinzip schon. Bei einem "Checkpoint" wird im Prinzip eine
Art Coredump (eine Datei) des laufenden Prozesses erzeugt, mit
einigen Zusatzinformationen über seinen Status. Man spricht
auch von einem "freeze" (einfrieren). Der springende Punkt ist,
dass man aus dieser Datei den Prozess wieder auftauen kann
("thaw"), d.h. man kann ihn nahtlos weiterlaufen lassen, etwa
auch nach einem Reboot. Auf diese Weise können Prozesse quasi
einen Reboot überleben.

Besonders spannend ist, dass man den Checkpoint auf auf einem
anderen Rechner wieder auftauen kann, und somit kann man einen
laufenden Prozess von einem Rechner auf einen anderen migrieren,
z.B. innerhalb der Nodes eines Clusters. Dazu müssen natürlich
eine Reihe von Bedingungen erfüllt sein, d.h. auf dem anderen
Rechner muss der Prozess die gleiche Umgebung vorfinden (Dateien,
Netzwerk usw.), was aber bei den Nodes eines SSI-Clusters, was
ein der Zielsetzungen von DragonFly ist, ohnehin der Fall ist.
Oder die Software muss so programmiert sein, dass sie in der
Lage ist, sich bei einem freeze / thaw einer neuen Umgebung
anzupassen. (Prozesse können das Checkpoint-Signal abfangen,
um bestimmte Vorkehrungen zu treffen, wenn nötig.)

Momentan wird dieses Feature auch sehr erfolgreich zum Debuggen
eingesetzt, insbesondere bei Problemen, die nicht so einfach zu
reproduzieren sind: Man erzeugt in regelmäßigen Intervallen
Checkpoints, lässt den Prozess aber sofort weiterlaufen, bis
der Bug auftritt. Dann kann man sich in Ruhe die Checkpoints
kurz vor und kurz nach dem Auftreten des Bugs ansehen, die
Daten vergleichen usw. Und man kann den Checkpoint, der vorher
gemacht wurde, erneut auftauen (so oft man will), testweise mit
modifizierten Daten weiterlaufen lassen, singlesteppen usw.

Disclaimer: Ich habe selbst nur ganz kurz damit herumgespielt,
aber noch nichts "Ernsthaftes" damit angestellt. YMMV.

> Fuer "meinen" Bedarf wuerde nur eine Virtualisierung fehlen, um z.B. mal
> Linux drauf laufen zu lassen..

Dazu kann ich leider nichts Näheres sagen ... Qemu läuft wohl
auf DragonFly, aber die Performance dürfte nicht so der Hit
sein (keine Hardware-Unterstützung). Ob VirtualBox geht,
weiß ich nicht -- Ich fürchte, nicht. Das VKERNEL-Feature
erlaubt natürlich nur das Ausführen von DragonFly-Kerneln.

Die einzige Möglichkeit wäre natürlich, Dragonfly selbst "nur"
in einer VM unter einem anderen System als Host laufen zu
lassen. Dragonfly funktioniert z.B. problemlos in VirtualBox.

Nur der Vollständigkeit halber: Aktuell befindet sich auch bei
OpenBSD ein native Hypervisor in der Entwicklung.

Gruß
   Olli

-- 
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 15 Sep 2015 - 19:01:51 CEST

search this site