Mit den Tipps und Workshops im ADMIN-Magazin 03/2013 sichern Administratoren ihre Webserver und Netze gegen Angriffe ab: gegen Abhören sensibler Informationen, ... (mehr)

Jails geklont

Das Erstellen mehrerer Jails ist dagegen langwierig. Es wird durch Tools wie EZJail erheblich erleichtert. Aber es gibt dank ZFS eine elegantere Methode, mehrere Jails zu generieren. Man bedient sich dabei der ZFS-Snapshots und ZFS-Clones, wie die folgende Vorgehensweise anknüpfend an das vorherige Beispiel zeigt.

Zunächst legt man ein Dataset an, in dem der Code für die Jail abgelegt wird. Die Kompression sollte man abschalten, da es sich hauptsächlich um Binärdaten handelt:

zfs create -o compression=off -p fbsd/jail/vorlage

Es folgt ein je nach Rechenleistung recht langwieriger Schritt:

cd /usr/src
make world DESTDIR=/jail/vorlage
make distribution DESTDIR=/jail/vorlage

Ein weiteres Dataset nimmt die Konfigurationsdaten auf, die als Basis für alle weiteren Jails dienen sollen. Dazu werden die Informationen aus der Jail-Vorlage in das Dataset mit den Konfigurationsdaten umkopiert. Anschließend startet man noch das Programm »mergemaster« , das alles an die neuen Gegebenheiten anpasst ( Listing 3 ).

Listing 3

Jails erzeugen

 

Für Ports angepasst

Um innerhalb der Jails Programme über die Ports zu installieren, müssen in der Datei »make.conf« im Verzeichnis »/jail/basiskonf/etc/« einige Einträge modifiziert beziehungsweise ergänzt werden:

cd /jail/basiskonf
echo WRKDIRPREFIX=/data/ports >> etc/make.conf
echo DISTDIR=/data/ports/distfiles >> etc/make.conf
echo PACKAGES=/data/ports/packages >> etc/make.conf

Innerhalb der Vorlage für die weiteren Jails sind einige Pfade so anzupassen, dass sie später innerhalb jeder Jail auf die korrekten Daten zeigen ( Listing 4 ).

Listing 4

Jails verlinken

 

Im nächsten Schritt kommt wieder ZFS ins Spiel. Zunächst legen die folgenden Befehle von der Jail-Vorlage und von der Datenvorlage jeweils einen Snapshot an:

zfs snapshot fbsd/jail/vorlage@master
zfs snapshot fbsd/jail/basiskonf@master

Die im nächsten Schritt erzeugten Clones sind im Gegensatz zum Snapshot beschreibbar:

zfs clone fbsd/jail/vorlage@master fbsd/jail/jail_1
zfs clone fbsd/jail/basiskonf@master fbsd/jail/jail_1/data

Abschließend wird die Systemkonfiguration »/etc/rc.conf« des Hostsystems um die Einträge für die Jails ergänzt.

Wie erwähnt verwenden viele Administratoren für die Anbindung großer Datenpools die iSCSI-Technologie, die nahezu jedes Betriebssystem unterstützt. Auch für das heimische Netzwerk-Storage NAS ist iSCSI durchaus interessant, da Windows- und Apple-Systeme dieses Protokoll unterstützen. FreeBSD bringt diese Unterstützung auch mit, allerdings nur wenn man aus den Ports heraus die entsprechende Software installiert.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023