NFS-Server Addon

Replace Kernel hatte ich gesetzt, wie gesagt ich benutze den knfsd schon 2 Tage.
Habe nun ein wenig mit den mounts und export options gespielt da ich Probleme mit dem streaming habe. Hab das quasi zufällig gefunden, da ich sonst immer async gesetzt hatte.

Edit: Die async exports waren immer stabil.

kriegaex: Zwei Beiträge zusammengefügt. Bitte editieren, nicht doppelt posten.
 
Zuletzt bearbeitet von einem Moderator:
Auf welchem Medium/Filesystem streamst Du? Ich sehe in Deinem Trace kein ext2/ext3 Modul und beim Export hast du nur die Optionen angegeben. vfat lässt sich zwar exportieren, macht aber große Probleme. ext2/3 sind eigentlich im Sinne des (NFS)-Erfinders die Filesystem zum exportieren.
 
Ich streame auf eine trekstor usb platte mit fat32 formatiert.
 
Dann würde ich sie an Deiner Stelle mal mit ext2/3 formatieren und dann zum Export freigeben. Das kannst Du entweder auf einem nativem Linux-System machen, oder auf der Fritz-Box selbst wenn Du die entsprechenden Programme hast (fdisk, mk2fs, etc), wenn nötig per wget laden. Ob es Windows-Tools dafür gibt weiß ich nicht.

Eventuell mußt Du sie dann auch noch manuell bzw. über ein Script mounten, bei mir funktioniert das automatische Mounten von ext2/3 nicht.
 
Wie gross sind den deine *.ts-Files? Denn fat32 macht ab einer gewissen Grenze Probleme. LFS-Support im Kernel hin oder her. Waren das nciht 2GB?

Somit: Bei mir wird auf ext3 gestreamed, und das klappt ohne nennenswerte Aussetzer. Wobei "async" glaube ich die bessere Option zum Streamen ist, oder?
 
JA muss mal sehen stimmt schon mit dem fs change auf der Platte...Der usb mount wird per hotplug script automatisiert, allerdings musste ich das script ein wenig modifizieren, da die externe Platte auschaltbar ist und die fitz.box natürlich online bleibt und ich keinen manuellen umount auslösen will. Es verbleibt das generierte mount vz auf der box und wird nicht gelöscht. So wird jedesmal ein Vz. neuerstellt bei mir uStor01 dann ustor11 usw. das habe ich geändert...d.h. es wird ein umount fürs exitierende durchgeführt und dann das Vz. gelöscht...ist aber nur eine Notlösung
 
JA muss mal sehen stimmt schon mit dem fs change auf der Platte...

Das beantwortet meine Frage zur Filesize nicht. Teste das mal bitte, denn eine entsprechende vfat-Platte habe ich hier nicht mehr.

Btw: Mit vfat habe ich auch auf meiner SD-KArte Probleme beim Schreiben. Könnte allerdings auch mit den Zugriffen auf der Karte zusammenhängen. Allerdings läuft darauf eine swappartition für die Fritz und eine Partition mit ext3, auf der der Lan-swap meiner dbox2 ist.

Für ext2/ext3 musst du übrigens im "make menuconfig" für den dsmod die entsprechenden Filesystemmodule mit einstellen. Und diese dann - bevor du die Platte mountest - laden.
 
Die ts files sind um die 3-4GB fat32 hat bis 4GB kein Problem soweit ich weiss. ob async die bessere option zum streamen mit de rdbox2 ist , k.A meisstens mounten die Leute async klar aber ich habe etwas rumprobiert da ich probleme mit dem recording stream habe.
Die ringpuffer einstellung auf Dbox2 seite ist auch nicht zu verachten...!
 
Wenn ich die module für ext2/3 mit baue dann sagst du ich muss sie vor dem mount laden , quasi via modprobe in einem script oder wie machste das?
 
Anmerkung: ext2 ist normalerweise in den Original-FWs schon drin, ext3 nicht. Also muß man Ersteres nicht zwangsweise einbauen.
 
Da hat Alexander natürlich vollkommen Recht.

Swap allerdings musste ich einbauen.

Edit: Himmel, um diese Uhrzeit bin ich noch nicht mal in der Lage, Alexanders Namen richtig zu schreiben. Dabei heisst mein 3wöchiger Sohn auch so ;-)
 
Zuletzt bearbeitet:
Du benutzt eine SD Karte als SWAP für 2 Systeme, dbox und fritz box, bist Du mit der performance zufrieden? Die Karte besitzt doch auch nur eine begrenzte Anzahl möglicher Schreibzyklen.
 
SD-Karten kosten nicht die Welt. WEnnn sie aufgibt, kauf ich ne neue. Performance? Nun ja, die dbox lagert kaum aus, die fritz genausowenig. Es ist nur dazu da, um eben swap zu haben, falls nötig. Reicht für mich und meine Belange vollkommen aus.
Bisher allerdings war kein Austuasch nötig, allerdings habe ihc Lanswap an meiner dbox auch erst seit ein paar Wochen laufen.
 
OT, Zur Lebensdauer der SD-Karte: Die C't hat vor einigen Monaten mal die Lebensdauer bzw. die Anzahl der möglichen Schreibzyklen von USB-Sticks (also auch Flash-Speichern 'getestet', indem sie versucht haben, die Medien wenn nur irgend möglich kaputt zu schreiben - ohne Erfolg. Dass so ein Speichermedium den Geist aufgibt, ist also schon ziemlich unwahrscheinlich. Zudem erkennen die Medien, wenn einzelne Bereiche kaputt gehen und nutzen diese dann nicht mehr - es käme also wahrscheinlich auf Dauer nur zu einer Verrringerung des Speicherplatzes.

Gruss, Nico
 
Leider läuft der knfsd bei mir nicht wirklich rund:

Beim kopieren (~600kB Übertragungsgeschwindigkeit) großer (10MB++) Dateien von meinem ext2-formatierten USB-Stick (über SFU in XP eingebunden mit 16k rsize und 4k wsize, Ext2IFS_1_10c als Dateisystemtreiber) auf meine Festplatte bekomme ich zahllose Fehler im syslog:
Code:
Badness in local_bh_enable at kernel/softirq.c:140
Call Trace:
 [<94029ee0>] local_bh_enable+0x4c/0x98
 [<c01091bc>] svc_write_space+0x60/0xc8 [sunrpc]
 [<c01091bc>] svc_write_space+0x60/0xc8 [sunrpc]
 [<c01f32e4>] updateTxCmpltConsecutiveFails+0x2c/0xb4 [tiap]
 [<941108ac>] sock_wfree+0x48/0x8c
 [<94112e48>] __kfree_skb+0x74/0x124
 [<94112db8>] kfree_skbmem+0x14/0x30
 [<940188a0>] ieee754dp_mul+0x4c0/0x6a0
 [<c01fdcf4>] TxPort_freeWbuf+0x30/0xac [tiap]
 [<c01fd954>] TxComp_process+0x2c0/0x3a0 [tiap]
 [<c01da66c>] tiwlan_ddaGo+0x1cc/0x334 [tiap]
 [<c01e0df0>] wdrv_DDA_tx_setEvent+0x668/0xb78 [tiap]
 [<94127da4>] qdisc_restart+0x2c/0x22c
 [<94127e88>] qdisc_restart+0x110/0x22c
 [<94000f68>] mips_irq_check_hw_interrupt_0+0x10/0x18
 [<94118f80>] dev_queue_xmit+0x258/0x274
 [<94118e14>] dev_queue_xmit+0xec/0x274
 [<9402a288>] tasklet_action+0x94/0xe8
 [<9402a288>] tasklet_action+0x94/0xe8
 [<94177454>] br_forward_finish+0x60/0x70
 [<94029d7c>] __do_softirq+0x6c/0xf8
 [<94029d7c>] __do_softirq+0x6c/0xf8
 [<c02098fc>] whal_acxIntrTrigger+0x0/0x1c [tiap]
 [<941774d0>] __br_deliver+0x6c/0x78
 [<94065ee8>] __find_get_block+0x1e4/0x20c
 [<94029e60>] do_softirq+0x58/0x8c
 [<94176358>] br_dev_xmit+0xa0/0xc8
 [<940e4780>] get_request+0x40/0x30c
 [<94029f14>] local_bh_enable+0x80/0x98
 [<94118f80>] dev_queue_xmit+0x258/0x274
 [<941374ac>] ip_finish_output+0x248/0x2dc
 [<941153f4>] csum_partial_copy_fromiovecend+0x1f8/0x274
 [<941380bc>] ip_fragment+0x450/0x8b0
 [<94137fec>] ip_fragment+0x380/0x8b0
 [<94138800>] ip_generic_getfrag+0x5c/0xbc
 [<94139974>] ip_push_pending_frames+0x42c/0x558
 [<c009e054>] ext2_get_block+0x0/0x6f0 [ext2]
 [<94137264>] ip_finish_output+0x0/0x2dc
 [<94110e80>] lock_sock+0xc4/0xd8
 [<94155ab8>] udp_push_pending_frames+0x2a8/0x2e0
 [<94069bac>] bio_add_page+0x30/0x3c
 [<941560a8>] udp_sendmsg+0x5b8/0x6c4
 [<9403b938>] autoremove_wake_function+0x0/0x44
 [<941387a4>] ip_generic_getfrag+0x0/0xbc
 [<94042be0>] __do_IRQ+0xf0/0x150
 [<940e6258>] submit_bio+0xd4/0xec
 [<940ae5f4>] radix_tree_insert+0x1b4/0x29c
 [<94138bb8>] ip_append_data+0x358/0x878
 [<94110e80>] lock_sock+0xc4/0xd8
 [<9408a270>] mpage_bio_submit+0x30/0x40
 [<941387a4>] ip_generic_getfrag+0x0/0xbc
 [<9410de88>] sock_sendmsg+0xac/0xdc
 [<9403b938>] autoremove_wake_function+0x0/0x44
 [<9410de88>] sock_sendmsg+0xac/0xdc
 [<9410dedc>] kernel_sendmsg+0x24/0x38
 [<94111140>] sock_no_sendpage+0x88/0xa8
 [<94110e80>] lock_sock+0xc4/0xd8
 [<9403b97c>] wake_bit_function+0x0/0x54
 [<941562b8>] udp_sendpage+0x104/0x188
 [<c0108ea0>] svc_sendto+0x150/0x248 [sunrpc]
 [<c0108e14>] svc_sendto+0xc4/0x248 [sunrpc]
 [<941881a4>] __lock_text_end+0x2fc/0x1208
 [<c0108d50>] svc_sendto+0x0/0x248 [sunrpc]
 [<c010976c>] svc_udp_sendto+0x2c/0x68 [sunrpc]
 [<94112db8>] kfree_skbmem+0x14/0x30
 [<c024c978>] fh_put+0x1d4/0x1f4 [nfsd]
 [<c010a470>] svc_send+0x128/0x1b0 [sunrpc]
 [<c010badc>] svc_authorise+0x2c/0x84 [sunrpc]
 [<c025ff3c>] nfs3svc_release_fhandle+0x18/0x28 [nfsd]
 [<940b23a0>] memset+0x0/0x1c
 [<c0108344>] svc_process+0x5a8/0x914 [sunrpc]
 [<c01082b8>] svc_process+0x51c/0x914 [sunrpc]
 [<c024a4e8>] nfsd+0x27c/0x494 [nfsd]
 [<c0260000>] exit_nfsd+0x70/0x8c [nfsd]
 [<c0260000>] exit_nfsd+0x70/0x8c [nfsd]
 [<c0260000>] exit_nfsd+0x70/0x8c [nfsd]
 [<94030000>] send_signal+0x4/0x1a8
 [<c024a4d8>] nfsd+0x26c/0x494 [nfsd]
 [<c024a26c>] nfsd+0x0/0x494 [nfsd]
 [<94007a0c>] kernel_thread_helper+0x10/0x18
 [<940079fc>] kernel_thread_helper+0x0/0x18

Beim Schreiben dann das selbige, oder auch nen reboot, und noch nen corrupted fs auf dem stick :rolleyes:
Übrigens auch beim streamen von der dbox..
Verzeichnis ist so freigegeben:
Code:
/var/media/ftp/uStor01/record *(rw,anonuid=0,anongid=0,insecure,async,fsid=0,no_subtree_check)
und gemountet auf der dbox mit den Optionen
Code:
rw,soft,udp,nolock,rsize=16384,wsize=16384
mfG, Timm
 
Da gibt es ja bei dir einige Quellen möglicher Probleme. Viel,leicht sollte man zuerst einmal damit beginnen, diese Einzugrenzen.

Zum einen fällt mir da der Ext2IFS-Treiber auf. Was passiert, wenn du dein Share auf einer normalen NTFS-Partition liegen hast, wie das eigentlich mit SFU angedacht ist?

Zum anderen: Du mountest udp. Wie sieht es mit tcp aus?


Und dazu vielleicht noch ein Aufruf deiones nfsd mit strace, während der Fehler passiert?

LG
 
Zum einen fällt mir da der Ext2IFS-Treiber auf. Was passiert, wenn du dein Share auf einer normalen NTFS-Partition liegen hast, wie das eigentlich mit SFU angedacht ist?
Die Performance von ext2 ist bedeutend besser als ntfs. Und SFU stellt mit dem NFS-Client die Schnittstelle zum NFS-Protokoll bereit - egal welches Dateisystem (serverseitig) dahinter steckt. Der Ext2IFS-Treiber ist angeblich dann ähnlich performant im Vergleich zu den Windows-eigenen Dateisystemtreibern. Des weiteren treten die Probleme ja leider auch beim mounten auf der dbox auf.. hier der mount (ohne Verz.):
Code:
mount -t nfs -o rw,soft,udp,nolock,async,rsize=8192,wsize=8192
Dort sollte das Problem also eigentlich nicht liegen, korrigiere mich bitte wenn ich mich irre?

Zum anderen: Du mountest udp. Wie sieht es mit tcp aus?
Danke für den Hinweis. Mit TCP sind allerdings max. konstante 170kB Durchsatz drin... dann allerdings fehlerfrei :rolleyes:

Und dazu vielleicht noch ein Aufruf deiones nfsd mit strace, während der Fehler passiert?
strace habe ich leider nicht auf der fritz.

Sieht also ziemlich nach einem fehler des sunrpc (rpciod) aus wenn ich nfs mit UDP mounte?

Gruß
 
Der Ext2IFS-Treiber ist angeblich dann ähnlich performant im Vergleich zu den Windows-eigenen Dateisystemtreibern.

Dennoch ist es eine weitere Schicht, die - wieso auch immer -. ein Problem verursacehn kann

Code:
mount -t nfs -o rw,soft,udp,nolock,async,rsize=8192,wsize=8192
Dort sollte das Problem also eigentlich nicht liegen, korrigiere mich bitte wenn ich mich irre?
Nein, dort ist erst einmal kein Problem. Allerdings für Streams der dbox2 ist wsize und rsize zu klein. Das allerdings ist ein Thema für ein anderes Forum.
Weiter unten wird sowieso auf das upd-mounten eingegangen, somit lasse ich das hier mal aussen vor.

Danke für den Hinweis. Mit TCP sind allerdings max. konstante 170kB Durchsatz drin...

Immerhin funktioniert der mount auf eine Art und Weise. Ist ein Anfang.

strace habe ich leider nicht auf der fritz.
Und wie wäre es,, das einmal mit einzukompilieren? Zur Fehlerfindung ist das mit Sicherheit eine gute Idee.

Sieht also ziemlich nach einem fehler des sunrpc (rpciod) aus wenn ich nfs mit UDP mounte?
Siehe strace. Kompiliere das mit in dein Image, schiebe es auf die Box und teste das mal.

Gruß
 
Zuletzt bearbeitet:
Und wie wäre es, strace einmal mit einzukompilieren? Zur Fehlerfindung ist das mit Sicherheit eine gute Idee.

Normalerweise schon, ich verwende strace auch gern und häufig.

In diesem Fall aber tut das User-Space Programm nfsd so gut wie nichts, außer den Kernel NFSD zu starten, so daß mit strace vermutlich nicht viel zu sehen sein wird. Die fehlermeldung ist ja auch bei Backtrace im Kernel-Bereich.
 
Könnte das was mit dem WLAN zu tun haben? Da ja eine tiap-Funktion ziemlich am Anfang steht. Da wäre es dann ziemlich schwierig den Fehler zu finden.

MfG Oliver
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.