Bearbeiten von „StuRa:Server/srs1337

Zur Navigation springen Zur Suche springen
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 106: Zeile 106:
security.jail.sysvipc_allowed=1
security.jail.sysvipc_allowed=1
</pre>
</pre>
===== Versand von Mails von FreeNAS =====
* System
** Email
*** From email:
***: ''srs1337@stura''…
*** Outgoing mail server:
***: ''mail.stura''…
**: …
* Account
** Users
*** View Users
**** root
***** E-mail:
*****: ''srs1337@stura''…
===== zsh als übliche Shell für root =====
* Account
** Users
*** View Users
**** root
***** Shell:
*****: zsh


=== Dokumentation FreeNAS ===
=== Dokumentation FreeNAS ===


http://doc.freenas.org/9.3/
http://doc.freenas.org/9.3/
==== besonders Nennenswertes zu FreeNAS ====
Dieser Abschnitt dient zur Benennung, gar Erklärung, von Belangen, die sich durch [[FreeNAS]] ergeben und auf [[Server/srs1337]] nennenswert eingesetzt werden. Praktisch soll das auch eine kleine Einführung werden.
; virtuelle Instanzen:
* spezielle Jails als Plugin (für [[FreeNAS]])
** Für das [[FreeNAS]] wie wir es betreiben gibt es eine eine Vielzahl von sogenannten Plugins.
*** http://download.freenas.org/plugins/9/x64/
** Jedoch haben wir bisher nur für den Fall vom Plugin [[ownCloud]] Anwendung.
* klassische einfach Jails (als [[FreeBSD]])
* Instanzen bei der einzigen Jail mit [[VirtualBox]]
; Paketverwaltung:
* pkg
** http://pkg.freebsd.org/freebsd:9:x86:64/latest/All/
* pbi
** http://download.freenas.org/plugins/9/x64/
==== Anpassungen ====
===== Berichtigung vom Fehler wegen der fehlenden Datei ''/usr/local/www/freenasUI/static/favicon.ico'' =====
Beim Durchsehen vom Log (''/var/log/*'') gab es die ''open() "/usr/local/www/freenasUI/static/favicon.ico" failed (2: No such file or directory)''. Dieser "Schönheitsfehler" wurde sich gleich angenommen.
: <code>cd /usr/local/www/freenasUI/static/</code>
: <code>ln -s freenas_favicon.ico favicon.ico</code>
=== Bedienung ===
==== Beobachtung vom Gerät ====
Anzeigen der Temperatur aller einzelnen Prozessoren
: <code>sysctl dev.cpu.{0..$(expr $(sysctl -n hw.ncpu) - 1)}.temperature</code>
<pre>
dev.cpu.0.temperature: 49.0C
dev.cpu.1.temperature: 45.0C
dev.cpu.2.temperature: 47.0C
dev.cpu.3.temperature: 43.0C
</pre>


== Administration ==
== Administration ==
Zeile 206: Zeile 142:


; bestimmte (betreffende) Verbindungen an einen bestimmten Port per ssh mit einem eigenen ssh-key herstellen und an einen bestimmten Port an localhost knüpfen:
; bestimmte (betreffende) Verbindungen an einen bestimmten Port per ssh mit einem eigenen ssh-key herstellen und an einen bestimmten Port an localhost knüpfen:
: <code>ssh -p ''<port-for-ssh-on-server>'' -L 10012:192.168.100.12:80 -L 10112:192.168.100.112:443 -L 10212:192.168.100.212:80 -i ''~/.ssh/<id_srs1337>'' root@srs1337.stura.htw-dresden.de</code>
: <code>ssh -p ''<port-for-ssh-on-server>'' -L 10012:192.168.100.12:80 -L 10112:192.168.100.112:443 -L 10212:192.168.100.212:80 -i ''~/.ssh/<id_srs1337>'' root@''<host>''</code>
:* http://localhost:10012
:* http://localhost:10012
:* https://localhost:10112
:* https://localhost:10112
Zeile 285: Zeile 221:
! rowspan="2" |standardmäßige Jail
! rowspan="2" |standardmäßige Jail
|-
|-
! <!-- womöglich weitere Betriebssystem neben Debian, als virtuelle Maschine -->
!  
! Debian als virtuelle Maschine
! Debian als virtuelle Maschine
|-
|-
Zeile 372: Zeile 308:
|  
|  
|  
|  
|-
|}
{| class="wikitable"
|-
| colspan="4" |
Genau genommen sollten vor der Aktualisierung einer jeden Instanz eine Datensicherung gemacht werden. Das sollte mindestens mit einer geeignete Art zum Festhalten des letzten Standes (vor der Aktualisierung) geschehen. Die bequeme Möglichkeit zur Erstellung von einem Snapshot mit ZFS sollte genutzt werden.
|-
| colspan="4" |
===== Dienste in Ruhe versetzen =====
|-
! colspan="2" | Jail mit VirtualBox
! rowspan="2" | Jail für ein plugin von FreeNAS
! rowspan="2" |standardmäßige Jail
|-
! <!-- womöglich weitere Betriebssystem neben Debian, als virtuelle Maschine -->
! Debian als virtuelle Maschine
|-
|
|
|
* Dienst per GUI (FreeNAS style) abschalten
*: Plugins -> Installed -> "Schalter" auf ''Off' "bringen"
* Stoppen der Jails als pluginjail
*: Jails -> stop
|
|-
| colspan="4" |
===== aktuellen (ruhenden) Stand festhalten =====
|-
| colspan="4" |
===== [[#Aktualisierung Jails]] =====
|-
| colspan="4" |
===== Dienst wieder in Bewegung setzen =====
|-
| colspan="4" |
Eigentlich ist ein erneutes in Bewegung setzen überflüssig, denn im Szenario ist davon auszugehen, dass auch die [[#Aktualisierung FreeNAS]] vorgenommen wird. Zum Abschluss der [[#Aktualisierung FreeNAS]] wird ohnehin das (gesamte) System neu gestartet. Beim Neustart vom gesamten (System) werden folglich auch alle Jails neu gestartet. Für das Starten der einzelnen Jails ist der jeweilige Eintrag (welcher auch über die GUI vorgenommen werden kann) der Option ''autostart'' entscheidend. Ist die Option ''autostart'' angewählt, so wird die Jail auch nach dem Neustart vom (gesamten) System neu gestartet.
Dennoch kann nachfolgend in diesem Abschnitt beschrieben werden, wie die einzelnen Jails und ihre Dienste nach dem [[#aktuellen (ruhenden) Stand festhalten]] wieder in Bewegung gesetzt werden (können).
|-
|-
|}
|}
Zeile 437: Zeile 332:
: <code>[[freebsd-man:jail | allow.raw_sockets]]=true</code>
: <code>[[freebsd-man:jail | allow.raw_sockets]]=true</code>
: <code>[[freebsd-man:jail | allow.sysvipc]]=1</code>
: <code>[[freebsd-man:jail | allow.sysvipc]]=1</code>
=== Jails außerhalb vom web user interface von [[FreeNAS]] verwalten ===
Achtung!
Dieser Abschnitt beinhaltet ausschließlich "Hacks".
Beim [[#Betriebssystem]] FreeNAS (9) ist die Verwaltung von Jails über die das web user interface vorgesehen. Es ist (aber) bekannt, dass [[#Betriebssystem]] FreeNAS (9) <code>warden</code> als Werkzeug zur Verwaltung von Jails benutzt. Praktisch kann auch <code>warden</code> ohne das web user interface von FreeNAS benutzt werden. Dabei wird aber schnell über den Funktionsumfang von FreeNAS hinaus gearbeitet. Praktisch kann die Verwendung von <code>warden</code> (als Werkzeug ohne die Benutzung vom web user interface von FreeNAS), dazu führen, dass die Jails nicht ordentlich in FreeNAS verwaltet (und demnach auch betrieben) werden können. (Etwa das Importieren und Exportieren, gar das Klonen, ist von FreeNAS so nicht vom Umfang an Funktionalitäten nicht angedacht. Etwa Einträge in der Datenbank von FreeNAS werden durch <code>warden</code> nicht vorgenommen. Demnach gibt es Fehler beim web user interface. So können "manipulierte" Jails nicht über das web user interface verwaltet werden.)
Letztlich können die Jails nicht ordentlich über das web user interface verwendet werden. Alle Änderungen der Konfiguration der Jail muss über <code>warden</code> erfolgen.
: <code>warden help</code>
: <code>warden help get</code>
==== Jail klonen ====
* zu klonende Jail stoppen
* zu klonende Jail exportieren
*: [[#Jail exportieren]]
* Zum Klonen ist der der erstellte Export der zu klonenden Jail zu importieren.
*: [[#Jail importieren]]
** Es ist zwangsläufig eine andere Adresse für IPv4 anzugeben.
**: Anderenfalls erfolgt eine Fehlermeldung.
**:: (In diesem Fall wir angenommen das die zu klonende Jail die Adresse für IPv4 ''141.56.50.123'' hat (beziehungsweise hatte).)
<pre>
ERROR: A Jail already exists with IP: 141.56.50.123/24
</pre>
* (zu klonende Jail (für den weiteren Betrieb wieder) starten)
* geklonte Jail anpassen
** IP-Adresse?
** (usw.)?
* geklonte Jail starten (und Funktionalität testen)
* Einstellungen, die für die Funktion in der zu klonende Jail vorgenommen wurden, für den Betrieb der geklonte Jail anpassen (und Funktionalität testen)
* (die geklonten Jail nutzen, als ob es eine normale eigenständige Jail wäre)
==== Jail exportieren ====
Für das Exportieren von Jails wurde ein Ordner neuer Ordner erstellt. (Eigentlich wäre es clever gewesen ein eigenständiges Dataset (mit ZFS) zu erstellen).
: <code>mkdir zroot/export</code>
Exportieren der Jail ''jail'' in das dafür vorgesehene Verzeichnis
: Achtung! Das Exportieren einer Jail kann längere Zeit dauern. (Praktisch wird auch die gesamte Jail gepackt. Allein das Packen dauert längere Zeit.)
: <code>warden export ''jail'' --dir=''/zroot/export''</code>
<pre>
Creating compressed archive of jail... Please Wait...
</pre>
==== Jail importieren ====
Exportieren der Jail aus der Datei 'jail.wdn'' (Export der zu klonenden Jail) in eine geklonte Jail ''jail_clone''
: <code>warden import ''jail.wdn'' --host=''jail_clone''</code>
: oder mit der Bestimmung einer (nicht verwendeten) Adresse für IPv4
:: <code>warden import ''jail''.wdn --host=''jail_clone'' --ipv4=141.56.50.115/24</code>
===== importierte Jail zum Laufen bringen =====
Achtung!
Dieser Abschnitt ist nicht ordentlich dokumentiert.
Er ist die Zusammensuchen nach dem erfolgreichen Rumgehacke!
(erster - wohl erfolgloser - Versuch für das) Starten der geklonte Jail ''jail_clone''
: <code>warden start ''jail_clone''</code>
<pre>
warden start jail_clone
Mounting user-supplied file-systems
ifconfig: AUTOCONF: bad value
jail -c path=/mnt/zroot/jails/jail_clone ip4.addr=141.56.50.123/24 ip6.addr=AUTOCONF/ host.hostname=jail_jail allow.raw_sockets=true persist
jail: ip6.addr: not an IPv6 address: AUTOCONF
ERROR: Failed starting jail with above command...
Unmounting /mnt/zroot/jails/jail_clone/proc
</pre>
(optionales) Starten einer beliebigen anderen (nicht geklonten) Jail (zum Lernen)
: <code>warden start ''uncloned-jail''</code>
<pre>
warden start uncloned-jail     
Mounting user-supplied file-systems
jail -c path=/mnt/zroot/jails/uncloned-jail name=uncloned-jail host.hostname=uncloned-jail allow.raw_sockets=true persist vnet=new
Setting IPv4 address: 141.56.50.123/24
inet6_enable: YES -> YES
ip6addrctl_enable: YES -> YES
rtsold_enable: YES -> YES
ifconfig_epair12b_ipv6: inet6 accept_rtadv auto_linklocal -> inet6 accept_rtadv auto_linklocal
add net default: gateway 141.56.50.254
route: writing to routing socket: File exists
add net default: gateway 141.56.50.254 fib 0: route already in table
Starting jail with: /etc/rc
rtsold not running? (check /var/run/rtsold.pid).
Starting rtsold.
</pre>
Abgefrickelt!
: <code>jail -c path=/mnt/zroot/jails/jail_clone name=jail_clone host.hostname=jail_clone allow.raw_sockets=true persist vnet=new</code>
: <code>warden set vnet-enable jail_clone</code>
: <code>warden set ipv4 jail_clone 141.56.50.123</code>
(erneuter Versuch für das) Starten der geklonte Jail ''jail_clone''
: <code>warden import start ''jail_clone''</code>
== Plugins ==
==== Plugins einrichten ====
Plugins werden grundsätzlich als eigenständige Jail erstellt. Somit können sie auch als solche "normal" verwaltet werden. Zusätzlich haben Plugins die Funktionalität, dass der angebotene Dienst direkt über die Oberfläche von FreeNAS an- und abgeschaltet werden kann.
===== Probleme bei und durch das Einrichten von einem neuen Plugin =====
; Konflikt zu IP-Adressen durch die Verwendung der von FreeNAS automatisch vergebene IP-Adresse
Bei der Erstellung der Jail für das Plugin gibt es keine Möglichkeit die IP-Adresse festzulegen. Es wird die bei FreeNAS "fortlaufende" IP-Adresse verwendet. Das ist für die Verwendung beim StuRa nicht geeignet.
So kann es dazu kommen, dass bei der Erstellung von einem Plugin (auch wenn dieses nur getestet werden soll) eine feste IP-Adresse verwendet (vergeben) wird, die bereits von einer anderen Instanz verwendet wird. Beispielsweise folgt nach der IP-Adresse von [[srs2]] ''141.56.50.2'' (auf dem [[Server/srs1337]]) direkt die IP-Adresse von [[srd2]] ''141.56.50.3''. Demnach kommt es zu einem Konflikt bei der Erstellung eines neuen Plugins. Es muss der Jail vom Plugin eine freie IP-Adresse zugewiesen werden.
; Konflikt zu IP-Adressen wegen möglicher nicht direkt freier IP-Adressen
Leider ist nicht genau bekannt welche Bereiche es an IP-Adressen gibt, welchen Zweck sie haben und welche IP-Adressen sie umfassen. Daher: Obacht!


== Storage ==
== Storage ==
Zeile 600: Zeile 386:


Längerfristig wäre das Verbinden mit einer Jail (Verwendung eines Datasets in einer Jail) wünschenswert.
Längerfristig wäre das Verbinden mit einer Jail (Verwendung eines Datasets in einer Jail) wünschenswert.
===== <s>Dataset ''zroot/mig''</s> =====
[[{{ns:102}}:Server/cluster#ZFS TrueNAS offline]]
===== <s>Dataset ''zroot/MIGRATION''</s> =====
[[{{ns:102}}:Server/cluster#ZFS TrueNAS offline]]


== frühere Betrieb ==
== frühere Betrieb ==

Bitte beachte, dass alle Beiträge zu Wiki StuRa HTW Dresden von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter StuRa HTW Dresden:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)

Die folgende Vorlage wird auf dieser Seite verwendet: