Ein Grund für den Umstieg auf Freetz bei meiner FRITZ!Box war die Möglichkeit via NFS einen besseren Datendurchsatz bei Netzwerkfreigaben zu bekommen. Schon damals bei meiner NSLU2 mit Debian hatte ich gemerkt, dass ich mit NFS deutlich mehr über die Leitung bekomme als mit Samba. Gerade bei Systemen mit einer schwachen CPU macht sich der Unterschied bemerkbar, die NSLU2 konnte über Samba gerademal 3,5MB/s verarbeiten, über NFS jedoch gleich schon rund 5 MB/s. Einen ähnlichen Effekt erhoffte ich mir jetzt für Freetz, denn die ursprüngliche Performance der FRITZ!Box als Fileserver war alles andere als berauschend.

Um Support für NFS auf die gefreetzte FRITZ!Box zu bekommen müsst ihr nfs-utils und NFSD_CGI in das Freetz-Image einbauen. Eine entsprechende Anleitung für Freetz habe ich ja schon hier im Blog gebracht. Ich konzentriere mich daher lieber auf die Konfiguration von NFS und die Auswirkungen auf die Netzwerkperformance der Box. Um Freetz auf die FRITZ!Box zu bekommen lest euch zuvor bitte in den genannten Artikel zu Freetz ein.

Freigaben via NFS einrichten und konfigurieren

Nach der Aufnahme der beiden Module in euer Freetz-Image und einem anschließenden Neustart, könnt ihr NFS unter http://fritz.box:81/cgi-bin/conf/nfsd konfigurieren. Die Konfigurationen für die exports, hosts.allow, hosts.deny und Co. könnt ihr dabei aus der nfsd-Doku von Freetz übernehmen. Nehmt am besten auch den SSH-Server Dropbear mit in euer Image auf, so könnt ihr später ganz einfach über SSH mit der FRITZ!Box arbeiten, um etwa die Dateirechte auf dem externen Datenträger zu korrigieren.

NFS Konfiguration für Freetz

Wichtig dabei ist allerdings, dass ihr als freizugebendes Medium Platten verwendet, die mit Ext3 oder ReiserFS formiert sind (Ext4 ginge natürlich auch, allerdings hatte ich Probleme beim Einbinden von mit Ext4 formatierten Partitionen, von daher gebe empfehle ich eher Ext3 als Dateisystem). Mit hoher Wahrscheinlichkeit müsst ihr auf dem Laufwerk auch noch die Dateirechte korrigieren, ich logge mich dazu via SSH auf der FreetzBox ein und übergebe die Daten dem User „ftp“ und der Gruppe „users“.

$ ssh root@fritz.box 
$ cd /var/media/ftp/
# Bitte passt den Pfad zur Platte an, bei mir nennt sie sich datengrab
$ chown ftp:users datengrab -R
$ find datengrab/ -type d -exec chmod 775 {} +
$ find datengrab/ -type f -exec chmod 664 {} +

Danach könnt ist auf Seiten der FRITZ!Box alles erledigt. Ihr müsst nun auf eurem Linux-System den NFS-Client installieren und die Freigabe bei euch einbinden. Auf einem Debian/Ubuntu-System installiert ihr dafür erst einmal das Paket nfs-common, legt dann einen Mount-Punkt an (nichts anderes als ein Verzeichnis, in das die Freigabe geladen wird) und bearbeitet dann die Datei /etc/fstab so dass die NFS-Freigabe der FRITZ!Box geladen wird.

$ sudo apt-get install nfs-common
$ sudo mkdir /media/fritzbox
$ gksudo gedit /etc/fstab

Der Eintrag in die fstab sähe z.B. so aus. Den Pfad zu Freigabe und zum Mountpunkt müsst ihr natürlich noch an eure Situation anpassen. Den Rest könnt ihr direkt übernehmen und ans Ende der fstab kopieren.

# Freetzbox über NFS mounten
fritz.box:/var/media/ftp/datengrab /media/fritzbox nfs vers=3,rw,rsize=65536,wsize=65536 0 0

Nach dem Speichern der Datei, könnt ihr über das folgende Kommando alle über die fstab eingetragenen Mount-Vorgänge neu einlesen lassen, so spart ihr euch noch einen Neustart oder das manuelle Ausführen eines längeren mount-Kommandos.

$ sudo mount -a

Nun sollte die Netzwerkfreigabe der FreetzBox unter /media/fritzbox erscheinen. Testet am besten kurz aus, ob ihr dort lesen und schreiben könnt. Sollte das nicht der Fall sein, so wird vermutlich noch etwas mit den Dateirechten nicht stimmen.

Was bringt nun NFS auf der FRITZ!Box?

Zum Abschluss komme ich nun auf die ursprüngliche Frage zurück, lohnt sich der Aufwand eigentlich? Der springende Punkt dabei ist natürlich die Übertragungsrate von Daten zur FRITZ!Box. Ursprünglich hing an meiner unmodifizierte FRITZ!Box eine mit NTFS formatierte USB-Platte. Subjektiv beurteilt war diese Lösung grottig langsam, Transfers größerer Datenmengen von 3-4 GB dauerten Stunden und auch das Einlesen von Verzeichnissen mit vielen Dateien/Ordner war zeitraubend. Nach dem Freetzen und Umstellen auf Ext3 als Dateisystem und NFS als Dateifreigabe sieht das nun deutlich anders aus…

$ time cp 1gb.test /media/fritzbox_samba/
real	4m56.363s
$ time cp ubuntu-11.04-desktop-i386.iso /media/freetz_nfs/
real	1m58.300s
$ time cp ubuntu-11.04-desktop-i386.iso /media/freetz_samba/
real	2m14.387s

Errechne ich nun aus diesen Zeiten eine Datenübertragungsrate, so kommt wieder NFS vor Samba ans Ziel. Immerhin ist NFS nach wie vor rund 0,7 MB/s schneller als Samba, allerdings ist der Unterschied nicht mehr so gravierend wie damals mit meiner NLSU2.

Transfer über Dateisystem Dateigröße Dauer Transferrate
NFS (Freetz) Ext3 718583808 118 s 5,80 MB/s
SMB (Freetz) Ext3 718583808 134 s 5,11 MB/s
SMB (Fritz) NTFS 1000000000 290 s 3,29 MB/s

Die Verbesserten Übertragungsraten spürt man auch im Linux-Alltag. Natürlich spart man beim Kopieren größerer Datenmengen deutlich Zeit, aber auch das „Browsen“ mit Nautilus auf der Freigabe geht spürbar schneller. Vorher war immer eine kurze Denkpause nach dem Wechsel eines Verzeichnisses nötig, jetzt ist der Inhalt sofort da. Vorher dauerte das Einlesen eines Verzeichnisses mit VIELEN Dateien wirklich lange, jetzt ist auch dieses Verzeichnis sofort da. Der Umstieg auf Freetz und NFS ist daher auf jeden Fall lohnenswert.

Den gewaltigen Performance-Vorsprung gegenüber der ursprünglichen Konfiguration (NTFS und Original-Firmware) führe ich auf das Dateisystem NTFS zurück. Ich habe schon selbst bei mir auf meinem Desktop-Rechner mit Intel Core i3 festgestellt, dass NTFS unter Linux ziemlich auf die CPU geht, das ist natürlich fatal bei einem auf einem Embeded-Linux, bei dem nur eine leistungsschwache CPU zur Verfügung steht.

Ich hatte es leider verpasst die Netzwerkperformance einer freigegeben und mit FAT formatierten Platte zu messen, aber ich denke dass hier ein Plus an Geschwindigkeit definitiv messbar sein wird. Wer also mit den Übertragungsraten seiner FRITZ!Box nicht zufrieden ist, die Box jedoch nicht „freetzen“ möchte, der kann ja mal seine externe Platte auf FAT umstellen [UPDATE: Neuere FRITZ!Boxen können auch direkt mit Ext2 formatierte Laufwerke einbinden, vielleicht ist das die beste Option für ungefreetzte Boxen].

Vorheriger ArtikelDer Tux zum Sonntag (XVI)
Nächster ArtikelCablegate und Wikileaks zu FOSS vs. Microsoft in Venezuela
Hallo, ich bin Christoph - Linux-User, Blogger und pragmatischer Fan freier Software. Wie ihr ohne Zweifel bemerkt haben solltet, schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Twitter oder natürlich dem Blog folgen.

16 Kommentare

  1. Die ziemlich miesen Übertragungsraten kann mit meiner Fritzbox Fon 7150 bestätigen.
    An einem ausgewachsenen NAS o.ä. kommt man also leider nicht vorbei.

  2. Warum eigentlich die Empfehlung für die die ihre Box nicht freezen wollen FAT zu verwenden? Die FritzBox kann doch mittlerweile auch ext2 und einen Vorteil von FAT 32 zu ext2 gibt es nicht eher hat ext2 Vorteile gegenüber FAT32.
    Ich bleibe trotzdem bei meiner Dockstar als Fileserver die FritzBox ist mir dazu einfach zu lahm (hätte eine FritzBox 7390 und eine 7170 zur Auswahl).

    • Georg, du hast Recht. Hatte gar nicht mehr im Fokus, dass die aktuellen Boxen mittlerweile auch Ext2 lesen können. Das ist natürlich die beste Wahl für Linuxer mit einer unmodifizierten Fritzbox. Natürlich ersetzt die Freetz-Box kein ausgewachsenes NAS, allerdings überzeugen mich aktuell die Punkte „Stromverbrauch“ und „Sobald die externe Platte in den Standby geht ist die Fritzbox im Gegensatz zu vielen NAS lautlos“ erstmal weiter mit der Fritzbox als Netzwerk-Datenspeicher zu arbeiten. Die rund 6MB/s sind auch noch halbwegs ertragbar.

  3. Was ich ja auch schick find: Auf der Fritzbox ein VPN konfigurieren, welches es einem erlaubt aus dem Hotel über das Heimnetz zu surfen. Laeuft auch das Telefon ueber die Fritzbox, kann man dieses mit entspr. konfiguriertem iPhone oder Androiden auch aus dem Hotel nutzen.

    Ist schon witzig, aus Thailand mal eben so Freunde mit der Festnetzflat anzurufen *g*.

      • Hallo Christop,

        wie sieht es denn inzwischen mit VPN aus? Ich bin inzwischen auch an den Punkt gekommen mir ein OpenVPN mit Freetz zu bauen und finde deine Anleitungen immer super verständlich und einfach. Kommt dazu noch was?

        • Es kommt definitiv noch was dazu, allerdings bin ich gerade mitten im Umzug. Neuer Job, neue Aufgabe, neue Wohnung, alte Wohnung bis Ende Februar räumen. Von daher: Aufgehoben ist nicht aufgeschoben, nur wird das mit Sicherheit noch ein paar Wochen brauchen.

          Grüße
          Christoph

  4. Toller Artikel. Wenn du vielleicht noch die Seite mit der Beispiel-Konfiguration (exports, deny, allow) linkst, wäre es perfekt.

  5. Hallo Allerseits,

    ich habe vor an meiner Fritzbox 7390 (hoffentlich bald Freetzbox) eine verschlüsselte Luks-USB-Festplatte samt LVM zu hängen. Wie muss ich da vorgehen?

    Ziel ist es besagte Luks-Festplatte via Schlüsselableitung beim entsperren des lokalen Rechners mit zu entschlüsseln und das LVM lokal im System zu mounten. Hat damit schon jemand Erfahrungen gesammelt? Klappt das? Kann die aktuelle Freetz-Version in Verbindung mit der Fritzbox 7390 eigentlich auch ordentlich ext4 lesen?

    Vielen Dank im Vorraus!

  6. Hallo Christoph
    Mein Deutsch laesst viel zu wuenschen uebrig, bin Nambianer. (Namibia)
    Dein „thread“ hat mir viel geholfen um mein nfs zur Fritz!Box 7490 an gang
    zu kriegen. Danke dier dafuer.
    Mein Freetz ist auf AVM FW 6.31 Intl. vom letzten develop trunk – 13689. Ich muss die Internationale Version kompilieren denn die Deutsche Version passt nich zu meiner FB hier
    in Afrika.
    Alles geht dank deiner Anleitung.
    Problem ist das ein Verzeichnis mit diversen Files insgesamt 7.5 gigs etwa eine Stunde
    dauert um auf dir FB zu kopieren. Es dauert aber nur 7 Minuten um dasselbe Verzeichnis
    wieder zuruek zu kopiernen.
    USB 3 is aktief nach Aussage der Weboberflaeche (AVM)
    Zugang zu der FB ist via 1 gig Lan „backbone“ und nicht ueber WiFi.
    Was mich stutzig macht ist das das schreiben solange dauert aber das lesen fast 10 mal weniger Zeit in Anspruch nimmt.
    Lass mich bitte wissen ob du mir helfen kannst das problem zu loesen. Weitere Informationen
    stell ich gerne bereit.

    Ich betreibe auch zwei Ubuntu NAS Server und da is die Transfer Zeit lesen und schreiben um die
    100 MByte, also etwas scheint mit meinen NFS zur Fritz!Box 7490 nicht in Ordnung zu sein

    Gruss aus einem sonnigen Namibia

    Stefan

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein