FreeBSD Verwaltung von virtuellen Maschinen und Jails

Über das Projekt

CBSD ist als Managementlayer für das FreeBSD jail(8) subsytem geschrieben worden. Es hat zum Ziel racct(8), vnet, zfs(8), carp(4) und hastd(8) mit einem Werkzeug zu vereinen. Es ist eine umfassende Lösung für das schnelle Erstellen und Bereitstellen von Applikationen und vordefinierten Software-Sets und das alles mit minimaler Konfiguration.

Es wurde bis jetzt keine Funktionalität des Betriebssystems beeinflusst und alles was CBSD kann, ist auch mit zehn oder hunderten von Shell-Kommandos und den unterliegenden Werkzeugen möglich. (Auch wenn man das wohl kaum selbst machen möchte!)

Funktionen:

  • Schnelles Bereitstellen von Jails aus dem Nichts
  • Import und Export in und aus Images
  • Klonen und migrieren(auch auf enternte Rechner)
  • Snapshots mit ZFS
  • Traffic-Erfassung und Informationen über den Ressourcenverbrauch pro Jail
  • Ressoucenverwaltung: Prioritäten, RACCT/RCTL, Datei Quotas
  • Replikation auf entfernte Rechner
  • Jail Distributionen (Jails mit verschiedenen Software-Sets und Services)
  • Webinterface und zentrales Management
  • XJails (Xorg im jail)
  • Bhyve (BSD Hypervisor support)

Warum…

«Warum FreeBSD? Warum Jails? Warum sh?»:

FreeBSD Jails haben wir aus verschiedenen Gründen gewählt:

  • Details über shell
  • Zero Virtualization Overhead: Abgesehen von VIMAGE hat der Jail Code ein sehr einfaches Design.
  • Sicherheit: Es ist für jeden Dienst oder eine Gruppe von Diensten erstrebenswert von allem Anderen isoliert zu sein
  • Effiziente Replikation von Umgebungen: Systemadministratoren haben oft viele gleiche Umgebungen z. B. AMP, MTA, KDE4. An einem gewissen Punkt möchte man solche Umgebungen auf andere Weise verwalten. Jails erlauben es einem neue Umgebungen ohne Verzögerungen bereitzustellen. Sie erlauben es auch, dass sich Umgebungen nur durch die einzelnen Konfigurationen unterscheiden, als auch in der installierten Software
  • Geschwindigkeit der Bereitstellung und praktische Backups.
  • Baue deine eigene Jail-Bibliothek mit angepassten Optionen über FreeBSD ports
  • Es ist nicht wirklich befriedigend nur in einer Linuxwelt zu leben
  • Viele mehr

Der Großteil des CBSD Code ist in sh geschrieben. Da keine komplexe Logik im Code selbst nötig ist, wird sh hauptsächlich dafür verwendet, externe Tools wie zfs, zpool, sudo, pkg oder rsync aufzurufen. Andere Bereiche die Verbesserungen benötigen oder spezielle Komponenten wie logtail, replication oder der Nodeüberwachungsdienst sind aus Performancegründen in C geschrieben.

CBSD hat folgende Abhängigkeiten: rsync,sudo,libssh2,sqlite3

Funktionen

  • Ein fertiges Repository für Kernels und World das kein buildworld/installworld benötigt;
  • Support für src.conf und buildworld/installworld Anpassungen;
  • Der Katalog kann auf Memorysticks, im RAM auf tmpfs oder mit RO mounted Base verwendet werden;
  • ZFS: Filesystem, Quotas und Snapshots;
  • Konfigurations-GUI für Jails (Dialog);
  • WEB-interfaces for manage virtual environment
  • VIMAGE support;
  • Per-Jail Traffic Accounting;
  • Jail Import/Export;
  • Jail Beschreibungen;
  • Cold migration zwischen Knoten;
  • Eigene Jail Startreihenfolgen und Prioritäten;
  • RACCT/RCTL support;
  • Ein Repository mit fertigen Jail-Templates;
  • Jail Replikation;
  • Umwandlung eines Jails zu PXE/ISO/Memstick-image;
  • Unterstützung für nicht native Architekturen mit Hilfe von Qemu User mode (z. B. arm oder mips64 für einen Jail auf einem x86-64 Hostsystem);

Ziele

  • Die Funktionen und Vorteile von FreeBSD als Hostingplattform zu zeigen. Nicht nur Jails sondern auch Linux-Umgebungen mit Hilfe von Bhyve zu hosten;
  • Ein WEB-Interface bereitstellen um das Erstellen von eigenen Hostingfarmen auf eigenen Systemen zu ermöglichen;
  • Automatisiertes Bereitstellen von Systemen;
  • Praktisches und einfaches Verwalten, Überwachen und Konfigurieren von FreeBSD Jails und Bhyve;

CBSD-bezogener Support , Usergroup und Chat-Channel

Wir haben einen Telegram Channel für Nutzer und Helfer von cbsd erstellt.

Please join us in @cbsdofficial (In english language only)

Unterstützen Sie das Projekt

Die Arbeit am CBSD Projekt hängt weitgehend von folgenden Faktoren ab:

  • Die Entwickler können nur ihre Freizeit dafür nutzen (es handelt sich nicht um ein kommerzielles Projekt);
  • Generelle Nachfrage;
  • CBSD Entwicklungen und/oder die Entwicklung und Anpassung der Komponenten für reale / kommerzielle Projekte;

Wenn du dem Projekt helfen möchtest oder Bier an die Entwickler kaufst, spende bitte etwas über den folgenden Link:

PayPal: Donate CBSD"

Via Yandex.Money, RUR:

Darüber hinaus kannst du Github CBSD, favorisieren via den Star Button. Wir würden uns freuen ;-)