[HOWTO] FHEM auf Nas4Free (freeBSD)

Begonnen von OiledAmoeba, 20 Februar 2014, 23:00:04

Vorheriges Thema - Nächstes Thema

OiledAmoeba

Moin,

ich bin gerade dabei, meine drei Fritzboxen nach und nach abzubauen. Als Ersatz für FRITZ!NAS habe ich ein altes Netbook mit zwei USB-Platten ausgerüstet und Nas4Free installiert.
Nun war die Frage, ob hier auch FHEM drauf läuft. Ergebnis: Jawohl! Hier mein Howto:

Da einige Pakete nachinstalliert werden müssen, empfehle ich, Nas4Free mit der Option "Full" zu installieren, da /var /usr und / in der "Embedded"-Version zu klein sind. Für die Installation von Nas4Free verweise ich auf deren Seite, da ich hier nur FHEM beschreibe.

Nachdem Nas4Free installiert ist, erzeuge auf einer beliebigen Platte ein Verzeichnis unter dem FHEM später liegen soll. Ich empfehle, soweit eingebaut, die interne Platte des Netbooks, da diese bedeutend schneller als USB-Platten ist.

Das Wort "Platte" ist durch deinen Mountpoint zu ersetzen!

mkdir -p /mnt/Platte/apps

In das Verzeichnis apps wechseln

cd /mnt/Platte/apps

FHEM herunterladen (ggf. Link anpassen, wenn eine neue Version rauskommt) und entpacken

wget http://fhem.de/fhem-5.5.tar.gz
tar -xcf fhem-5.5.tar.gz


Nun wurde ein Verzeichnis angelegt, dass fhem-5.5 heißt. Wer es mag kann es lassen, oder einfach umbenennen

mv fhem-5.5 fhem

Prüfen, ob das System die richtigen Rechte vergeben hat:

ls -l

Wenn es ungefähr so aussieht, ist alles ok

nas4free: apps # ls -l
total 12
drwxr-xr-x   2 root  wheel  512 Feb 20 20:24 busybox
drwxr-xr-x  11 root  wheel  512 Feb 20 21:21 fhem
drw-rw----   2 root  wheel  512 Feb 20 22:24 fuppes


Wichtig ist, dass das Verzeichnis fhem entweder einer Gruppe gehört, zu der auch der root-User gehört (bei freeBSD wäre das z.B. wheel) oder direkt dem User root.
Wenn nicht, Dateiberechtigungen anpassen:

chown -R root:wheel fhem

Nas4Free fehlt von Natur aus perl und auch Device::SerialPort. Das lässt sich nachinstallieren:

pkg_add -v -r perl
pkg_add -v -r p5_Device_SerialPort


Für meine Zwecke benötige ich noch Socat (FHZ1300PC WLAN auf ein SerialDevice mappen, damit sie sich wie eine USB-FHZ ansprechen lässt)

pkg_add -v -r socat

Wer mag, kann sich gern noch die von Linux bekannte BusyBox holen:

pkg_add -v -r busybox

Wer mag, kann schon mal gnuplot installieren. Sonst lassen sich die Graphen nur als SVN zeichnen:

pkg_add -v -r gnuplot

So, perl ist da, Device::SerialPort ist auch da. Wechseln wir in das Vereichnis fhem und starten FHEM zum ersten Mal.

cd fhem
perl fhem.pl fhem.cfg


mit dem Befehl ps lässt sich prüfen, ob perl läuft. Sollte es wider erwarten zu Problemen kommen, meldet die Konsole dies aber auch sofort.

FHEM benutzt den Port 8083. Bei einer normalen Installation von Nas4Free ist dieser auch noch frei.
Im Browser nun http://nas4free:8083/fhem aufrufen, und schon sollte man vom freundlichen Haus begrüßt werden.

Soll nach einem Nas4Free-Neustart auch FHEM automatisch mit starten, empfehle ich folgendes:
Erstelle eine kleine Script-Datei, die du an einem beliebigen Ort ablegst (z.B. wie für die Fritz-Box im fhem-Ordner ein Script startfhem)

#!/bin/sh
cd /mnt/Platte/apps/fhem
perl fhem.pl fhem.cfg


und füge in der Nas4Free-Verwaltung folgendes ein:
System -> Erweitert -> Befehlsscript -> hinzufügen
Befehl: sh /mnt/Platte/apps/fhem/startfhem
Typ: PostInit

Das war's.
Liest sich viel, ist es aber nicht. Das Einzige, was verhältnismäßg lange dauert, ist die Installation von gnuplot, weil dies so viele Dependencies hat (zum Glück werden die von pkg_add erkannt und mitinstalliert)

Wer, wie ich, von der FritzBox zu einem System auf einem bedeutend rechenstärkeren Netbook wechselt, wird sich über den enormen Leistungsgewinn bei Logs und Graphen sehr freuen ;-)

Viel Spaß beim Nachmachen!

Gruß
Florian
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

M_I_B

... genau das wollte ich gerade machen, da der Server sowieso immer läuft ...
Nur leider scheint meine FULL- Installation weder wget noch pkg_add zu kennen (Login als root via Putty).... irgendwie scheint er gar nix zu kennen, noch nicht mal clear ?!?

Ich verwende aktuell:
NAS4Free 10.1.0.2 - Prescience FULL
Installiert auf zwei 32Gb CF-Karten als RAID1
6 x 2TB WD red als ZFS2

Vielleicht eine Idee dazu? Im nas4free- Forum mag ich nicht fragen wollen; sobald man da mal Unterstützung für nicht vorgesehene Pakete benötigt und/oder nicht wirklich Plan von freeBSD hat, bekommt man leider nur doofe Sprüche zu hören ^^


OiledAmoeba

Sorry, ich war lange nicht im Forum aktiv. Ist deine Anfrage noch aktuell? Wenn ja, N4F 10.x hat eine neue FreeBSD Version, diese kennt pkg_add nicht mehr. Der neue Befehl heißt, glaube ich, pkg install PAKETNAME

Gesendet von meinem SM-G900F mit Tapatalk

Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

M_I_B

... ja, ist schon noch aktuell, wobei ich derzeit alles auf einem RPi2B am Laufen habe ...
Es ist aus meiner Sicht auch ein grundsätzliches Problem, das man als Anwender von nas4free i.d.R. auf Fragen, die einen "Eingriff" in das System bedeuten, keine Antwort bekommt (wobei Du hier die rühmliche Ausnahme bist).
Ich werde das bei Gelegenheit noch mal angehen, wenn ich es geschafft habe, ein paar andere Dinge auf das NAS zu bringen, die man so für die "tägliche ARbeit" benötigt. Denn viele Sachen sind stumpf einfach rausgenommen, bei der aktuellen Version wohl im besonderen Maße ...

Kuzl

Hallo :)

Mal ne generelle Frage:

Was ist der Vorteil von Nas4Free gegenüber einem normalen Debian oder Ubuntu mit nachinstallierten Diensten (FTP, Samba, etc. ) ?

Gruß,
Kuzl

M_I_B

... na, die Frage beantwortet sich quasi von selber, wenn man sich den Unterschied eines echten, redundanten NAS (verschiedene RAID-Level nebst dem unschlagbaren ZFS Level 1 & 2, UPS- Unterstützung, Netzteil- HDD- Controller- Redundanzen, ECC-RAM, auf reinen NAS-Betrieb getrimmtes System) im Gegensatz zu einem System vor Augen führt, wie Du es beschreibst.
Und ich spreche hier nicht von einfachen NAS- Lösungen mit einer oder zwei Platten, sondern von min. 6 Serverplatten (im Moment bei mir 12 x 2TB WD RED)

Wernieman

Wobei man auch berücksichtigen sollte, das 12 Platten auch das 6 fache von Strom als 2 Platten braucht ...

Ich persönlich habe mich deshalb privat für besseres Backup entschieden, als höheren RAID-Strom verbrauch
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

M_I_B

#7
... naja, das kannst Du so nicht vergleichen (Birnen und Äpfel).
Ein NAS hat den Sinn, jederzeit auf die vorhandenen Dateien zugreifen zu können, und das möglichst mit hoher Datensicherheit und Geschwindigkeit bei vielen gleichzeitigen Datenströmen.
Ein Backup muss i.d.R. erst einmal zurückgespielt werden, um auf den Dateninhalt zugreifen zu können, geschweige denn kann man mit mehreren Streams gleichzeitig ohne Geschwindigkeitsverlust auf das im Schrank aufbewahrte Backup zugreifen.

Unabhängig davon ist ein NAS KEINE Backup- Lösung! Selbstverständlich ist ein NAS ebefalls in regelmäßigen Zeitabschnitten zu sichern!!!!!!!

Und was den Energiebedarf angeht: Der Unterschied ist nicht groß. Denn wenn ich von so einem kleinen 2-Platten NAS (da bleibt ja nur ein Mirror- Betrieb) Daten hole, laufen zwangsweise alle Platten und, wenn korrekt konfiguriert, gehen die nach X Minuten in den Standby. Bei einem großen NAS sind die Daten i.d.R. deutlich schneller am Client, da ein Großteil über's RAM läuft (hier: 128GB), was auch heißt, das die Platten wesentlich eher in den Standby gehen.
Natürlich benötigt ein größeres NAS auch mehr Energie, aber von nix kommt nun mal nix. Das bisschen mehr Energie auf's Jahr gerechnet geht annährend unter

Wernieman

#8
Das NAS<>Backup ist mir klar, da ich im Bereich Backup arbeite ....

Die Frage ist, ob Du wirklich im Hausbereich ein solch dimensioniertes System brauchst. Schließlich muss auch Dein Netzwerk, Client etc. die Geschwindigkeit verarbeiten.

Kurzfassung:
Jder mus seine Anforderungen kennen und entsprechend konfigurieren.

P.S. Was ich bezüglich "backup" meinte:
Eine "Kleine" 2 Platten NAS ist meistens nicht so Ausfallsicher dimensioniert wie "Deine" große 12 Platten NAS, Diesbezüglich war auch mein Beitrag in die Richtung gemeint. Allerdings kann auch eine solche große NAS ausfallen ....

Edit:
Nachtrag:
Wobei Du ein nas4free auch auf einem deutlich kleinerem System als Deines installieren kannst. Insofern haben wir die Frage von Kuzl nicht beantwortet

Edit2:
Der Vorteil von FreeNAS ist:
" die grundsätzliche Verwaltung wird aber mit Hilfe einer webbasierten Administrationsoberfläche über das Netzwerk durchgeführt" also die Vereinheitlichung der Administration

ZFS etc ist kein Merkmal von Nas4free, sondern des darunterliegenden freebsd. Die Diskussion freebsd oder linux fange ich aber nicht an ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

M_I_B

ZitatJder mus seine Anforderungen kennen und entsprechend konfigurieren.
Jupp, so is dat. Ich klotze da lieber etwas und überlasse den Anderen das Kleckern ;)

ZitatAllerdings kann auch eine solche große NAS ausfallen ....
Selbstverständlich, gar keine Frage. Allerdings dürfen bei mir max. 4 Platten gleichzeitig ausfallen, ohne das ich mit einem Datenverlust rechnen muss (ZFS2). Auch beim Netzteil darf eines sterben, ebenso wie ein SAS-Kontroller oder (mit Einschränkungen) ein Speicherriegel. Lediglich ein totes Mainboard könnte mir noch in'n Hintern treten... Die Wahrscheinlichkeit (wenn Murpy nicht vor Ort ist) ist bei solchen Konfigurationen aus meiner Erfahrung verschwindend gering bezgl. Datenverlust, gering was Stillstand betrifft.

ZitatWobei Du ein nas4free auch auf einem deutlich kleinerem System als Deines installieren kannst. Insofern haben wir die Frage von Kuzl nicht beantwortet
Ich meine doch. Natürlich geht das auch mit kleineren Systemen, aber dann natürlich mit Verzicht auf Ausfallsicherheit und Performance/Parallelität.

Zitatwebbasierten Administrationsoberfläche über das Netzwerk durchgeführt" also die Vereinheitlichung der Administration
Ja, definitiv in Hinsicht auf ein als NAS benutztes, handgestriktes Linux o.ä.. Wobei... Die GUI von FreeNAS ist echt total grottig und teils unsinnig geworden, daher lieber nas4free, was auch m.E. eine weselntlich größere Entwicklergemeinde hat... Aber das nur am Rande.

ZitatZFS etc ist kein Merkmal von Nas4free, sondern des darunterliegenden freebsd.
Das ist klar. Dennoch sehe ich in ZFS einen klaren Vorteil gegenüber den bekannten/klassischen RAID-Systemen...

ZitatDie Diskussion freebsd oder linux fange ich aber nicht an ;o)
Brav! ;) Ist auch müßig. Alles hat seine Vor- und Nachteile... und ich habe von beiden keine Ahnung... Also von meiner Seite keinerlei Gefahr  8)

Kuzl

Also meine Frage war ja eigentlich nur zur Software an sich nicht, wie groß die Hardware dimensioniert werden sollte :D

Ich bin jetzt mal von dem Standard Heimgebrauch ausgegangen. Nehmen wir mal einfach einen alten PC oder ein altes Notebook, das nicht mehr gebraucht wird. Dazu 2 Festplatten, die gespiegelt werden sollen.

Bisher sehe ich den Vorteil der einfacheren Konfiguration und ZFS?


Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Kuzl

Vorbildung in sachen Nas ist eben nicht vorhanden.
Ich habe einen kleinen Ubuntu Rechner auf dem FHEM, Kodi, Samba, Druckerserver und noch paar Sachen laufen.
Daher würden mich die Vorteile von Nas4Free gegenüber von Ubuntu interessieren.
Meine Anwendung im Heimnetz würde sich denke ich auf Samba, FTP und evtl Booten übers Netzwerk beschränken.
Oder was meint ihr, für was nimmt man im Privathaushalt noch einen NAS her?

M_I_B

Zitat von: Kuzl am 16 Februar 2016, 13:27:57Oder was meint ihr, für was nimmt man im Privathaushalt noch einen NAS her?
... bezogen auf Privathaushalte ist das so wie die Vorliebe für bestimmte Auto- oder Motorradmarken; jeder hat da seine eigenen Vorstellungen ...
In unserem Privathaushalt gibt es drei Personen, die zu den unterschiedlichsten Zeiten Filme anschauen wollen und/oder Musik hören möchten. Auch sind in den s.g. Datensätzen MySQL- Datenbanken abgelegt, die von einem Webserver (alles 19") local und aus dem Netz als Replikant benutzt wird.

Lange Rede, kurzer Sinn: Es ist entscheidend, was man mit dem NAS machen will resp. welche Daten und Durchsätze man für erforderlich hält.

In Deinem Fall ist es ja in Angesicht der vorhandenen Hardware kein Problem, erst einmal mit einem solchen NAS aus "Resten" (man verzeihe mir diese Bezeichnung) zu arbeiten, um dann im Liveeinsatz zu sehen, ob das für einen selbst reicht oder nicht.

Was die erfragten Vorteile eines autarken NAS sind, ergibt sich eigentlich schon daraus, das es eben (fast) nur diese Aufgabe hat und i.d.R. nichts anderes darauf läuft resp. nicht daran "rumgefrickelt" wird. Wenn man ein NAS auf einem System installiert, auf dem man z.B. täglich arbeitet, hat man bei einem GAU dann auch keinerlei Zugriff mehr auf die Daten des NAS oder zersört die Daten sogar... Das wäre mir definitiv zu riskant; wir haben mit einem gekauften Cisco-NAS (NSS4100) schon einmal beim Start einer Datensicherung den kompletten Dateninhalt verloren (private Fotos, Videos und Dokumente e.t.c), die nunmehr nur noch in unseren Erinnerungen existieren; das möchten wir definitiv nicht noch einmal erleben...

justme1968

um die vorteile von zfs zu nutzen muss man sich etwas einarbeiten und mit den konzepten beschäftigen. auch um z.b. abzuwägen ob irgendeine alte hardware ohne ecc ram für den angedachten zweck wirklich das richtige ist.

andererseits sind die vorteile bei einem system aus nur zwei gespiegelten platten auch noch nicht wirklich relevant. 

ich denke mit einem kleinen synology oder qnap system bist du vermutlich besser bedient.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968