1

Temat: nfs na WR3420

Witajcie,

Zakupiłem sobie w/w routerek - wszystko pięknie openwrt jak i Gargoyle działa.

Zrobiłem sobie od razu ext root zgodnie z poradnikiem (root na partycji ext2 bo obraz nie ma obsługi innych FS). W obu przypadkach mam problem z nfs. Już był tu kiedyś wątek o błędach w logach rpcbind i nijak nie mogę tego przejść (już robiłem 3 instalki na czysto 2x openwrt i 1x gargoyle). W /etc/hosts jest wpis dla localhosta

Nie mam pomysłu co z tym dalej robić - próbowałem strace na pid portmapa ale nic oczywistego nie widzę.

Odpalenie /etc/init.d/nfsd start powoduje że nie dostaję command prompt sobie tak wisi

Teraz jak mam tak odpalony nfsd to router nie reaguje na polecenie reboot. Uwala sesję SSH ale np nie uwala GUI www.

po daniu /etc/init.d/nfsd enable - router startuje (i widzę przez ssh że mieli nfsd) a klienci po kablu czy WiFi wogóle nie mają netu - można spokojnie pingować bramkę ale nigdzie poza nią nie mozna wyjść (chociaż networking i firewall który chyba robi NAT odpala sie długo przed NFS). Co ciekawe z samego routera pingi śmigają więc to nie jest problem braku sieci.

Jak macie jakieś pomysły to chętnie wysłucham - samba jest OK ale za wolna do streamingu video 1080p dodatkowo mam WDTV które po NFS śmiga a po SMB się ślimaczy.

Dzięki - openwrt jest naprawdę niezłe - wcześniej używałem dd-wrt.

2

Odp: nfs na WR3420

Nie eksportuj danych z / tylko z /overlay.

I upewnij sie że moduły masz z tego samego źródła co obraz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: nfs na WR3420

Cezary napisał/a:

Nie eksportuj danych z / tylko z /overlay.

I upewnij sie że moduły masz z tego samego źródła co obraz.

Mam wszsystko z tego samego źródła

Tak zrobiłem zgodnie z howto - esportuję z /overlay/mnt

Dalej to samo.

4

Odp: nfs na WR3420

Czekaj - a używasz nfs z gargoyle czy z openwrt? Bo jedno i drugie inaczej się konfiguruje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: nfs na WR3420

Cezary napisał/a:

Czekaj - a używasz nfs z gargoyle czy z openwrt? Bo jedno i drugie inaczej się konfiguruje.

Zainstalowałem gargoyle plugin który sam dorzucił sambę nfs itd  czyli:

plugin-gargoyle-usb-storage

Ale dodatkowo nie miałem w GUI dodatkowych okienek do NFS czy Samby.

Odpal jabbera wink tak się prędzej dogadamy wink

6

Odp: nfs na WR3420

To konfiguracje masz zrobić w /etc/config/, tak jak resztę. Bez tego nfs się nie uruchomi smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: nfs na WR3420

Cezary napisał/a:

To konfiguracje masz zrobić w /etc/config/, tak jak resztę. Bez tego nfs się nie uruchomi smile

OK już patrzę - jak zadziała chyba trzeba będzie napisać krok po kroku jak takie cuda odpalać na routerkach z małą ilością flash.

8

Odp: nfs na WR3420

Ale to właściwość gargoyle jest. Tylko i wyłącznie z racji jego gui.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: nfs na WR3420

Cezary napisał/a:

Ale to właściwość gargoyle jest. Tylko i wyłącznie z racji jego gui.

Czyli co - ono olewa wogóle /etc a jedynie konfigi z /etc/config łyka?

Poza tym nie mam tam nic dla nfs (dla samby jest plik)

10

Odp: nfs na WR3420

Nie, on tworzy exports na podstawie /etc/config/

plik ma być nfsd, sekcja nfsshare, w pod nią opcje:

name=xxx
path=/tmp
read_only=1/0
sync=1
insecure=1
subtree_check=0
allowed_hosts=*

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: nfs na WR3420

Cezary napisał/a:

Nie, on tworzy exports na podstawie /etc/config/

plik ma być nfsd, sekcja nfsshare, w pod nią opcje:

name=xxx
path=/tmp
read_only=1/0
sync=1
insecure=1
subtree_check=0
allowed_hosts=*

Myślę że to nie pomoże - bo sam daemon i tak czyta tylko /etc/exports i jeśli te są poprawne to startuje lub nie. Ale zobaczę.

Jest gdzieś jakieś HOWTO jak to właśnie zrobić krok po kroku?

Będę chyba musiał dać firstboot i zacząć od nowa - może w skrócie napisz co trzeba zrobić?

pierwsze block-extroot
potem howto z extroota
potem ustawiam z GUI wifi i całą resztę
potem ?

12

Odp: nfs na WR3420

A potem co chcesz. W szczególności zainstaluj nfs jak chcesz z repo, ale nie od gargoyle i normalnie to zrób.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: nfs na WR3420

Cezary napisał/a:

A potem co chcesz. W szczególności zainstaluj nfs jak chcesz z repo, ale nie od gargoyle i normalnie to zrób.

Robiłem 2x mam błędy rpcbind w dmesg - rozumiem że do wszystkiego trzeba używać uci?

14

Odp: nfs na WR3420

Hmm a portmap to ty uruchamiasz w ogóle wcześniej?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: nfs na WR3420

Cezary napisał/a:

Hmm a portmap to ty uruchamiasz w ogóle wcześniej?

Oczywiście - napisałem że nawet go stracem potraktowałem (bo odpala się i spawnuje proces child)

Jak chcesz się przekonać zapraszam przez remote ssh wink - odpal jabbera podam szczegóły smile

16

Odp: nfs na WR3420

Cezary napisał/a:

Hmm a portmap to ty uruchamiasz w ogóle wcześniej?

Więc - starce portmap mi nic nie powiedział.

Teraz zerknam na /etc/init.d/nfsd i tam mam:

grep /proc/fs/nfsd /proc/mounts   

taki wynik u mnie (wywaliłem -q aby zobaczyć) nfsd /proc/fs/nfsd nfsd rw,relatime 0 0

potem

sysctl -w fs.nfs.nlm_tcpport=32777 fs.nfs.nlm_udpport=32777

to do kernela wprowadza prawidłowo konfig

/usr/sbin/rpc.statd -p 32778 -o 32779

Odpala się OK

/usr/sbin/rpc.statd -p 32778 -o 32779

Odpala się OK

i teraz

/usr/sbin/rpc.nfsd

Strace:

open("/etc/services", O_RDONLY)         = -1 ENOENT (No such file or directory)

open("/proc/fs/nfsd/versions", O_WRONLY|O_LARGEFILE) = 4
write(4, "+2 +3 +4 \n", 10)             = -1 EBUSY (Device or resource busy)

Widać że niby nasłuchuje na wszystkich interfejsach OK

socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(2049), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 8

17

Odp: nfs na WR3420

martii napisał/a:
Cezary napisał/a:

Hmm a portmap to ty uruchamiasz w ogóle wcześniej?

Oczywiście - napisałem że nawet go stracem potraktowałem (bo odpala się i spawnuje proces child)

Jak chcesz się przekonać zapraszam przez remote ssh wink - odpal jabbera podam szczegóły smile

Dodatkowo:

martii@aa1:~$ showmount -e 192.168.10.1
Export list for 192.168.10.1:
/overlay/mnt/sda3 *

Czyli pokazuje wyeksportowany katalog

ale już:

root@aa1:~# mount -t nfs 192.168.10.1:/overlay/mnt/sda3 /mnt/
mount.nfs: mount to NFS server '192.168.10.1:/overlay/mnt/sda3' failed: RPC Error: Program not registered

Na routerze wtedy pojawia się wpis:

rpcbind: server localhost not responding, timed out

I tyle - już był taki wątek ale jakoś ozwiązanie konkretnie nie padło chyba.


Tyle że moje ubuntu ma NFSv4.1

18

Odp: nfs na WR3420

Cezary napisał/a:

A potem co chcesz. W szczególności zainstaluj nfs jak chcesz z repo, ale nie od gargoyle i normalnie to zrób.

Jeszcze zrobię firstboot ale czuję że to nic nie pomoże.

Sprawa jest taka że mam WDTV i chcę streamować 1080p - samba nie wyrabia (ogranicza WDTV nie router) więcej niż 720p.

DLNA nie wchodzi w grę bo jak czytałem wydajność nie lepsze i nie radzi sobie za bardzo z MKV (przynajmniej tak miałem z dd-wrt).

Jakbyś miał jakieś pomysły - chętnie posłucham smile póki co wyczerpały mi się pomysły

19

Odp: nfs na WR3420

nfs działa i jakoś nie ma problemu. Co jeszcze masz zmienione w konfiguracji?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

20

Odp: nfs na WR3420

Cezary napisał/a:

nfs działa i jakoś nie ma problemu. Co jeszcze masz zmienione w konfiguracji?

Nic więcej - prócz ext roota :(

Spróbuję jeszcze first boot i ext root bez nośnika - zobaczę co się będzie działo.

Ale to chyba czyste openwrt najpierw zobaczę.

21

Odp: nfs na WR3420

Cezary napisał/a:

nfs działa i jakoś nie ma problemu. Co jeszcze masz zmienione w konfiguracji?

NFS się zmieści bez ext root?

22

Odp: nfs na WR3420

Jeżeli dasz czyste openwrt to chyba tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: nfs na WR3420

Cezary napisał/a:

Jeżeli dasz czyste openwrt to chyba tak.

Niestety czysty openwrt wgrany (na gargoyle nie weszło nfs)
i mam tak:

Zrobione tylko:

opkg update
opkg install nfs-kernel-server

potem

root@OpenWrt:/# /etc/init.d/portmap start
root@OpenWrt:/# /etc/init.d/nfsd start
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/overlay/test".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x

i tak sobie wisi

rpcbind: server localhost not responding, timed out

w dmesg

root@OpenWrt:/# cat /etc/hosts
127.0.0.1 localhost.

root@OpenWrt:/# cat /etc/exports
/overlay/test   *(ro,all_squash,insecure,sync)

root@OpenWrt:/# ls -la /overlay     
drwxr-xr-x    7 root     root            0 Jan  1 01:02 .
drwxr-xr-x    7 root     root            0 Jan  1 01:02 ..
drwxr-xr-x    7 root     root            0 Jan  1 01:02 etc
drwxr-xr-x    4 root     root            0 Jan  1 01:02 lib
drwxr-xr-x    2 root     root            0 Jan  1 01:02 test
drwxr-xr-x    4 root     root            0 Oct 29  2010 usr

root@OpenWrt:/# mount
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=14772k)
tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
root on /tmp/root type tmpfs (rw,relatime,mode=755)
mini_fo:/tmp/root on /tmp/root type mini_fo (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
none on /proc/bus/usb type usbfs (rw,relatime)
/dev/mtdblock3 on /overlay type jffs2 (rw,relatime)
mini_fo:/overlay on / type mini_fo (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)


Coś jednak jest nie tak?

kernel?

24

Odp: nfs na WR3420

Pogłoski.

Czysty mój obraz, na mr3420.

root@OpenWrt:~# opkg update
Downloading ftp://192.168.1.20/Packages.gz.
Inflating ftp://192.168.1.20/Packages.gz.
Updated list of available packages in /var/opkg-lists/eko1.
root@OpenWrt:~# opkg install nfs-kernel-server
Installing nfs-kernel-server (1.1.6-1) to root...
Downloading ftp://192.168.1.20/nfs-kernel-server_1.1.6-1_ar71xx.ipk.
Installing libwrap (7.6-1) to root...
Downloading ftp://192.168.1.20/libwrap_7.6-1_ar71xx.ipk.
Installing libblkid (1.41.11-1) to root...
Downloading ftp://192.168.1.20/libblkid_1.41.11-1_ar71xx.ipk.
Installing libuuid (1.41.11-1) to root...
Downloading ftp://192.168.1.20/libuuid_1.41.11-1_ar71xx.ipk.
Installing kmod-fs-nfsd (2.6.32.27-1cj) to root...
Downloading ftp://192.168.1.20/kmod-fs-nfsd_2.6.32.27-1cj_ar71xx.ipk.
Installing kmod-fs-nfs-common (2.6.32.27-1cj) to root...
Downloading ftp://192.168.1.20/kmod-fs-nfs-common_2.6.32.27-1cj_ar71xx.ipk.
Installing kmod-fs-exportfs (2.6.32.27-1cj) to root...
Downloading ftp://192.168.1.20/kmod-fs-exportfs_2.6.32.27-1cj_ar71xx.ipk.
Installing kmod-fs-nfs (2.6.32.27-1cj) to root...
Downloading ftp://192.168.1.20/kmod-fs-nfs_2.6.32.27-1cj_ar71xx.ipk.
Installing portmap (6.0-2) to root...
Downloading ftp://192.168.1.20/portmap_6.0-2_ar71xx.ipk.
Configuring kmod-fs-nfs-common.
Configuring kmod-fs-exportfs.
Configuring kmod-fs-nfsd.
Configuring libblkid.
Configuring libwrap.
Configuring portmap.
Configuring libuuid.
Configuring kmod-fs-nfs.
Configuring nfs-kernel-server.

Mała poprawka dla exports:

root@OpenWrt:~# cat /etc/exports 
/mnt/sda1       *(ro,all_squash,insecure,sync)
root@OpenWrt:~# /etc/init.d/portmap start
root@OpenWrt:~# /etc/init.d/nfsd start
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/mnt/sda1".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x
root@OpenWrt:~# 

I tyle. Takie coś mam właśnie podmontowane na debianie własnie teraz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: nfs na WR3420

Cezary napisał/a:

Pogłoski.

Czysty mój obraz, na mr3420.

root@OpenWrt:~# opkg update
Downloading ftp://192.168.1.20/Packages.gz.
Inflating ftp://192.168.1.20/Packages.gz.

I tyle. Takie coś mam właśnie podmontowane na debianie własnie teraz.

Te lokalne repo to identyczne jak http://ecco.selfip.net/backfire/packages/ ??

Jeszce raz spróbuję - zacznę od reflasha na nowo openwrt.