LieberNetterFlo
Rear Admiral
- Registriert
- Feb. 2006
- Beiträge
- 5.831
Hallo Zusammen,
ich hab mir die letzten paar Wochen ein Ubuntu Selfmade-NAS zusammen gebaut, und will euch hier meine Erfahrungen schildern, vielleicht findet ihr Anreize euch selbst sowas zu bauen
Zuerst musste ja die Hardware her, der Plan war es, möglichst klein zu bleiben, irgendwie doch Erweiterbarkeit zu wahren, also hab ich am Ende dann auf MiniITX gesetzt. Eine CPU braucht das Teil zwar auch, aber ich empfand dass der Netzwerkcontroller auch gut sein sollte, und da kommt für mich nur Intel in Frage. Ich hab mich auch erstmal auf 3 HDDs eingeschossen, da das Board auch nur 4 SATA hat hab ich zur Erweiterung einen PCIe SATA Controller benötige. Hier nun meine Hardware:
Board: Intel DH67CF
CPU: Intel Celeron Dual-Core G1620
CPU-Kühler: Intel Boxed
Case: Fractal Design Node 304
RAM: 2x4 GB DDR3 G-Skill 1333 MHz CL9
NT: FSP Fortron/Source FSP200-50GSV
Belüftung: 2x92mm Front, 1x140mm Back (war beim Gehäuse dabei)
Sys-HDD: Intel X25-E 32GB
Storage-HDD: 3x500GB 7200er HDDs
HINWEIS: Die entgültigen HDDs sind noch nicht vorhanden, es kommen 3x3TB rein
Und bevor das große Konfigurieren los geht, hier als "Leckerli" mal die Performance und Stromverbrauchswerte:
Verbrauch Off: <1W
Verbrauch S3/Standby: <1W
Verbrauch IDLE ohne HDD: 13-14W
Verbrauch IDLE mit HDD Standby: 17W
Verbrauch IDLE mit HDD On: 26W
Verbrauch Read/Write: 40W
Performance 1Gbit LAN Write: 105 MB/s
Performance 1Gbit LAN Read: 90 MB/s
Boottime from Off: 11 Sekunden
Boottime from S3/Standby: 1 Sekunde
WakeOn-LAN: funktioniert
HDD Spindown: funktioniert
So, das große "Problem" war nun die Software. Ich wollte UNBEDINGT maximale flexibilität, auch wenn das heißt ich muss vieles selbst konfigurieren. Da blieb mir nur noch Ubuntu, auch desshalb weil ich mit Ubuntu bereits meinen kleinen Alix-Server betreibe, auch einen HTPC auf Ubuntu-Basis habe und schon öfters auf der Konsole aktiv war.
Erster Schritt (die Basics)
Zweiter Schritt (das Storage)
Dritter Schritt (die Services)
Comming Soon:
- Samba Freigabe
- S.M.A.R.T. Utilities
- Temperaturüberwachung
- OpenVPN Client
- Snapshots
Bitte Fragen stellen, ich ergänze Sie dann direkt im Tutorial
ich hab mir die letzten paar Wochen ein Ubuntu Selfmade-NAS zusammen gebaut, und will euch hier meine Erfahrungen schildern, vielleicht findet ihr Anreize euch selbst sowas zu bauen
Zuerst musste ja die Hardware her, der Plan war es, möglichst klein zu bleiben, irgendwie doch Erweiterbarkeit zu wahren, also hab ich am Ende dann auf MiniITX gesetzt. Eine CPU braucht das Teil zwar auch, aber ich empfand dass der Netzwerkcontroller auch gut sein sollte, und da kommt für mich nur Intel in Frage. Ich hab mich auch erstmal auf 3 HDDs eingeschossen, da das Board auch nur 4 SATA hat hab ich zur Erweiterung einen PCIe SATA Controller benötige. Hier nun meine Hardware:
Board: Intel DH67CF
CPU: Intel Celeron Dual-Core G1620
CPU-Kühler: Intel Boxed
Case: Fractal Design Node 304
RAM: 2x4 GB DDR3 G-Skill 1333 MHz CL9
NT: FSP Fortron/Source FSP200-50GSV
Belüftung: 2x92mm Front, 1x140mm Back (war beim Gehäuse dabei)
Sys-HDD: Intel X25-E 32GB
Storage-HDD: 3x500GB 7200er HDDs
HINWEIS: Die entgültigen HDDs sind noch nicht vorhanden, es kommen 3x3TB rein
Und bevor das große Konfigurieren los geht, hier als "Leckerli" mal die Performance und Stromverbrauchswerte:
Verbrauch Off: <1W
Verbrauch S3/Standby: <1W
Verbrauch IDLE ohne HDD: 13-14W
Verbrauch IDLE mit HDD Standby: 17W
Verbrauch IDLE mit HDD On: 26W
Verbrauch Read/Write: 40W
Performance 1Gbit LAN Write: 105 MB/s
Performance 1Gbit LAN Read: 90 MB/s
Boottime from Off: 11 Sekunden
Boottime from S3/Standby: 1 Sekunde
WakeOn-LAN: funktioniert
HDD Spindown: funktioniert
So, das große "Problem" war nun die Software. Ich wollte UNBEDINGT maximale flexibilität, auch wenn das heißt ich muss vieles selbst konfigurieren. Da blieb mir nur noch Ubuntu, auch desshalb weil ich mit Ubuntu bereits meinen kleinen Alix-Server betreibe, auch einen HTPC auf Ubuntu-Basis habe und schon öfters auf der Konsole aktiv war.
Erster Schritt (die Basics)
- Ubuntu Installieren, ich empfehle Ubuntu Server 12.04 LTS.
- am Besten alle Festplatten bis auf die Systemplatte abziehen und von USB Stick oder CD booten.
- Netzwerkkonfiguration: nach dem Zuweisen der IP Adresse durch DHCP einmal auf zurück und die IP Manuell vergeben.
- Standardsetup, und bei Serverollen noch "Basic Ubuntu Server", "Samba Server" und "SSH Server".
- Benutzer: ich nehme immer "nas" (genau so wie Rechnername "nas")
- komplette Festplatte verwenden, GRUB in den MBR installieren.
- System neu starten, dabei USB Stick abziehen/CD raus, einloggen und
sudo apt-get update
sudo apt-get upgrade - kurz die kleinen Helferli installieren
sudo apt-get install python-software-properties software-properties-common unp
- wieder runterfahren
sudo shutdown -h now
- Storage HDDs anschießen, hoch fahren
Zweiter Schritt (das Storage)
- ZFS Repos hinzufügen:
sudo add-apt-repository ppa:zfs-native/stable
sudo apt-get updatesudo apt-get install ubuntu-zfssudo nano /etc/modules
spl
zavl
znvpair
zunicode
zcommon
zfssudo update-initramfs -usudo shutdown -r now - Speicherpool erstellen (in meinem Fall ein RAID5 ähnlicher RAIDZ), ob das nun "sdb" usw ist müsst ihr in euren Devices selbst herausfinden
sudo zpool create storage raidz /dev/sda /dev/sdb /dev/sdc -f
und auch schon das erste Volume erstellensudo zfs create storage/filme/storage//storge/filme - nun kann man jederzeit den Status anschauen:
sudo zpool status storagesudo zpool scrub storagesudo zpool scrub -s storage
- sollte mal eine Platte kaputt gehen, nehmen wir erstmal die kaputte Festplatte offline
sudo zpool offline storage sdbsudo shutdown -h nowsudo zpool replace storage sdb -f
Dritter Schritt (die Services)
- Wir wollen bei den HDDs Strom sparen, also die HDDs nach 20 Minuten in den Standby, zuerst mal das entsprechende Programm installieren
sudo apt-get install hdparmsudo hdparm -C /dev/sdasudo hdparm -y /dev/sdasudo nano /etc/hdparm.conf/dev/sda {
spindown_time = 240
}
/dev/sdb {
spindown_time = 240
}
/dev/sdc {
spindown_time = 240
}
- Ich bin ja ein Fan von Webmin, wesshalb der bei mir immer drauf kommt
sudo nano /etc/apt/sources.listCode:
deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
sudo wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.ascsudo apt-get update
sudo apt-get install webmin - Plex Media Server, wirklich ein super Teil, streamt eure Videos, Bilder, Musik und externe Medien wie Youtube etc an eure DLNA Geräte und euer Handy, übers Internet! Mit Transcoding! Irre! Zuerst die Installation
sudo nano /etc/apt/sources.listdeb http://www.plexapp.com/repo lucid mainsudo wget http://plexapp.com/plex_pub_key.pub
sudo apt-key add plex_pub_key.pubsudo apt-get update
sudo apt-get install plexmediaserver
Danach ist euer Plex Media Server als DLNA Gerät im lokalen Netzwerk erreichbar. Nun müssen wir den aber noch konfigurieren, dazu besuchen wir im Browser (und das geht nun NUR im lokalen Netzwerk)
Dort klickt man sich das erste mal durch das Setup, einen myPlex Account benötigt man erst einmal nicht, auch eine Bibliothek und/oder einen Kanal erstmal nicht hinzufügen
Bevor wir nun die ersten Verzeichnisse hinzufügen wollten wir ja alles auf Deutsch, desshalb: Wenn man nun auf seinem Dashboard ist klickt man auf Kanäle Alle Anzeigen (das sind die kleinen Punkte rechts) -> Verzeichnis -> More... -> Metadata Agents -> OFDB installieren + Moviepilot installieren
Danach rechts oben Einstellungen -> Plex Media Server -> Agenten -> Filme -> Freebase -> so sortieren das OFDB ganz oben steht, direkt darunter Moviepilot und als drittes Freebase. Dann das auf OFDB Anbieter Einstellungen (das kleine Zahnrad) und alle Häckchen setzen -> Speichern, dann Moviepilot Anbieter Einstellungen (das kleine Zahnrad) und KEIN Häckchen bei Lade Zusammenfassung von ... und eins setzen bei Lade Filmplakate von ... -> Speichern und als drittes noch Freebase Anbieter Einstellungen (das kleine Zahnrad) -> ein Häckchen bei Localized Titles
Wieder zurück auf das Dashboard (das Haus links oben) und bei Meine Bibliothek auf Neue Sektion (das Plus Zeichen) -> Filme -> einen Namen vergeben, auf Einen Ordner hinzufügen klicken -> dort dann zb /storge/filme eintragen, bestätigen mit Ordner hinzufügen -> WICHTIG: klickt nun auf Erweiterte Optionen anzeigen und wählt bei Sprache -> Deutsch und schließt das dann durch Neue Sektion ab
Danach Scannt der Server eure Filme und listet sie bei Meine Bibliothek auf, könnte dann so aussehen:
Nun sind diese Filme via Webinterface (Flash) und via DLNA im Netzwerk verfügbar zB bei einem entsprechenden TV, oder einer App auf dem iPad. Wenn man beim Router noch den Port 32400 auf das NAS weiterleitet kann man in den Einstellungen noch myPlex aktivieren (Konto benötigt!) und auf sein Handy streamen. Der Server übernimmt dann das Transcoding (Bitrate in der App einstellbar). Kein Transcoding von BD ISO Dateien, bitte vorher mit MakeMKV umwandeln bzw. remuxen, geht ganz schnell.
- Mit den PowerManagement-Utils kann man seinen Rechner sehr komfortabel in die entsprechenden Power-Safe Modi fahren, entweder Manuell oder man benutzt die Befehle in einem Script oder von Cron. Also ganz schnell installieren
sudo apt-get install pm-utilsusr/sbin/pm-suspend
/usr/sbin/pm-hibernate
/usr/sbin/pm-suspend-hybrid - Noch mehr Stromsparen: wir fahren automatisch in StandBy und wieder hoch! Hierzu hab ich ein kleines Script geschrieben (naja, eigentlich kommt es größtenteils von Ubuntuusers.de, alle Credits gehen an sie) das so grob folgende Eigenschaften aufweist:
- Fährt den Rechner in Standby und stellt eine Zeit zum automatischen Wecken
- deaktivierung durch anlegen einer kleinen Datei = quasi manuelles deaktivieren
- kann per Parameter überprüfen ob
- einer o. mehrere PCs im Netzwerk aktiv ist
- eine o. mehrere Applikationen laufen
- eine Sambafreigabe gerade in Benutzung ist
- ein Benutzer eingeloggt ist (auch SSH)
- Kann komfortabel über ein paar Zeilen angepasst werden
CLIENTS='192.168.178.24'
APPLICATIONS='"^wget$" "^screen$" "^apt-get$" "^aptitude$" "^dpkg$" "^cp$"'
SAMBANETWORK='192.168.178.'
FILE=/home/nas/off
Code:wget https://www.dropbox.com/s/d3pf6g91x79wrb0/check_busy.sh
sudo chmod u+xsudo crontab -e0,30 0-8,22-23 * * * /home/nas/check_busy.sh 15:00 1 #standby bis 15 Uhr
Hier müsst ihr eventuell noch beachten, dass wenn eure Uhr auf Lokal oder UTC läuft man das Script in der Zeile mit dem rtcwake aus dem -u ein -l machen müsst
Comming Soon:
- Samba Freigabe
- S.M.A.R.T. Utilities
- Temperaturüberwachung
- OpenVPN Client
- Snapshots
Bitte Fragen stellen, ich ergänze Sie dann direkt im Tutorial
Zuletzt bearbeitet: