YaVDR 0.5a – Headless Linux Server – Part I

11 Mai 2013 von Oli82 Kommentieren »

88c9fdfea6

Nach längerem hin und her habe ich mich für die Anschaffung eines VDR (Video Disk Recorder) entschieden. Meine Einsatzgebiete sollen das Aufnehmen und Streamen von Serien und Filmen sein.

Als Distribution setze ich yaVDR ein, welches auf Ubuntu aufsetzt. Die Installation ist recht gut auf www.yavdr.org beschrieben. Auch kann ich das Forum www.vdr-portal.de nur wärmstens empfehlen, wenn man auch nicht immer die Antworten bekommt, die man erwartet 😉

Nachfolgend dokumentiere ich meine Schritte der yaVDR Konfiguration bis zum laufenden Headless-Server.

Hardware:

ASRock H61M-ITX
Intel i3-2120
G.Skill 8GB DDR3
SanDisk SSD SDSSDP-064G-G25 64 GB SATA III
Seagate 1TB HDD (als Video.00 HDD)
TechnoTrend TT-budget S2-4100 DVB-S PCIe
Be Quiet Pure Power L7 300 Watt Netzteil
Bitfenix Prodigy Mini-ITX Gehäuse BFC-PRO-300-WWXKW-RP
Alpenföhn Groß Clockner CPU-Kühler

Konfiguration

01. Server eine feste IP zuweisen

Da der Server headless, also ohne Ausgabegerät arbeiten soll, geben ich ihm eine feste IP um über ssh administrieren zu können. Für die Netzwerkkonfigration ist die Datei /etc/network/interfaces zuständig
 
Ich bin kein vi Fan, also installiere ich mir erst einmal den Editor Nano:

sudo apt-get update
sudo apt-get install nano
Danach passe ich die Konfiguration an:
 
sudo nano /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.100.140
    netmask 255.255.255.0
    gateway 192.168.100.1
    network 192.168.100.0
    broadcast 192.168.100.255
    dns-nameservers 192.168.100.1

# Nach der Zuweisung der IP und des DNS erneuern wir die Konfiguration von eth0
sudo /etc/init.d/networking restart

02. TT-Budget S2-4100 installieren.

Treiber von der TT Homepage laden
sudo wget http://www.tt-downloads.de/tt_s2_4100_drv_lnx.tar.bz2
Treiber entpacken und installieren (Bsp.: 64Bit Linux mit 3.2.x Kernel)
tar xjvf tt_s2_4100_drv_lnx.tar.bz2
cd tt_s2_4100_drv_lnx 
sudo ./tt_install_lnx3x_x64.sh
Wenn das Script ohne Fehler durchgelaufen ist, wurde der Treiber installiert und der PC muss neu gestartet werden:

shutdown -r now
Ob die Karte korrekt installiert wurde, kann man mit sudo dmesg | grep frontend prüfen. Die Ausgabe sollte dann wie folgt lauten:
DVB: registering adapter 0 frontend 0 (Technotrend TT-budget S2-4100 DVB-S/S2)...
Bei meinem Mainboard musste ich erst ein Bios Update auf die Beta Firmware 2.20a machen, dass die Karte erkannt wurde. Das lag daran, dass der PCIe Port des Mainboards auf Grafikkarten ausgelegt ist UND die Umschaltung zwischen dem Kartentyp PCIe 2.0 auf PCI 1.0 nicht funktionierte. Das Update findet man hier

03. Festplatte und SSD einrichten

Da ich ja eine kleine SSD als Systemplatte nutze, werde ich die verbaute 1TB HDD als Aufnahmeverzeichnis nutzen. Das spart auch gleich Lese- & Schreibzugriffe, was der SSD zu gute kommt.

Dazu muss die fstab angepasst werden.

Als nächstes bereiten wir die HDD als Aufnahmeverzeichnis vor.

Dazu müssen wir sie mounten und die Verzeichnisstruktur erzeugen, die VDR erwartet:

mount /dev/sdb1 /srv
# Die HDD ist nun erst einmal gemountet.
mkdir /srv/audio
mkdir /srv/picture
mkdir /srv/share
mkdir /srv/share/vdr
mkdir /srv/vdr
mkdir /srv/vdr/video.00
mkdir /srv/video
chown -R vdr:vdr /srv

Danach finden wir die UUID der zweiten Festplatte raus:

ls -al /dev/disk/by-uuid/

Die Ausgabe lautet, bei mir, wie folgt:

drwxr-xr-x 2 root root 100 Mai 11 15:05 .
drwxr-xr-x 5 root root 100 Mai 11 15:05 ..
lrwxrwxrwx 1 root root  10 Mai 11 15:05 28533fb7-cf21-40d9-8c97-1e7efad2a2fa -> ../../sda5
lrwxrwxrwx 1 root root  10 Mai 11 15:05 43f8a8d6-5296-40c5-a8c0-e2a527efa5df -> ../../sda1
lrwxrwxrwx 1 root root  10 Mai 11 15:05 7c76630a-6c8c-4877-96a2-38defd4109f2 -> ../../sdb1
Wie man sieht, wird die HDD (sdb1) mit der UUID 7c76630a-6c8c-4877-96a2-38defd4109f2 aufgeführt.
 
Nun geht es an die fstab:
sudo nano /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=43f8a8d6-5296-40c5-a8c0-e2a527efa5df /               ext4    discard,noatime,errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=28533fb7-cf21-40d9-8c97-1e7efad2a2fa none            swap    sw              0       0
UUID=7c76630a-6c8c-4877-96a2-38defd4109f2 /srv            ext4    errors=remount-ro 0       1
Wie man sieht, habe ich auch gleich noch die Optionen „discard“ und „noatime“ meiner SSD hinzu gefügt. Dieser Artikel beschreibt, was es damit auf sich hat.
 
Die HDD muss ja nicht ständig laufen. Schließlich wollen wir sie nur zur Aufnahme benutzen (macht den PC auch gleich ein wenig leiserer und sparsamer).
Ich stelle in der /etc/hdparm.con ein, dass die Festplatte sich nach 10 Minuten schlafen legt:
sudo nano /etc/hdparm.con
# Jetzt folgende Zeile einfügen
/dev/sdb {
spindown_time = 120
}
Werbung

Schreibe einen Kommentar


Deprecated: Function set_magic_quotes_runtime() is deprecated in /www/htdocs/w00b99e6/blog/counter/counter.php on line 61

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/w00b99e6/blog/counter/includes/mysql.class.php on line 165

Deprecated: Function set_magic_quotes_runtime() is deprecated in /www/htdocs/w00b99e6/blog/counter/counter.php on line 1794