1 (edytowany przez garysek 2012-10-29 20:14:29)

Temat: hd-idle, nfsd, gargoyle 1.5.8.1

Witam

Na początek chciałbym się z wszystkimi przywitać i podziękować osobom, dzięki którym mam w routerze (1043ND) fajny sofcik - na tym forum to pewnie głównie Cezaremu smile.
Router z wgranym Gargoyle użytkuję od około 1,5 roku, ale że nie miałem do tej pory większych problemów to i nie rejestrowałem się. Teraz właściwie też nic poważnego, no ale do rzeczy...

Wrzuciłem ostatnio do routera AA z Gargoyle 1.5.8.1 no i zacząłem wszystko od początku konfigurować. Na początku chciałem jak zawsze wywalić plugin-gargoyle-usb-storage, ale po wstępnym obejrzeniu tego postanowiłem sobie potestować jednak. I właściwie pasuje mi to i zostanie chyba na stałe, ale mam 2 problemy:

1. Ani jak nie mogę podmontować na innym urządzeniu udostępnionego zasobu NFS. Wcześniej w exports miałem taki wpis:

/mnt/hdd/public/media    *(rw,all_squash,insecure,sync,no_subtree_check)

no i bez problemu zasób montowałem.
Teraz po konfiguracji w Gargoyle w pliku nsfd mam:

config nfsshare 'media'
    option name 'media'
    option sync '1'
    option insecure '1'
    option subtree_check '0'
    option read_only '0'
    option path '/tmp/usb_mount/141c6bc8-c896-48e7-92db-36e46331d58d/public/media'
    list allowed_hosts '*'

teoretycznie powinienem to podmontować poleceniem

mount -t nfs 192.168.1.1:/nfs/media /mnt/nfs

ale otrzymuję taki komunikat:

mount: 192.168.1.1:/nfs/media failed, reason given by server: Permission denied
mount: mounting 192.168.1.1:/nfs/media on /mnt/nfs failed: Bad file descriptor

Próbowałem zamiast skróconej ścieżki (w routerze powstaje skrót '/nfs/media') wstawiać pełną ścieżkę do udostępnionego folderu, restartować usługi, router, itp. bezskutecznie. Na razie problem rozwiązałem w ten sposób, że zasób udostępniam przez sambę...
Jakieś sugestie? Błąd z mojej strony, czy błąd w systemie?

2.Skrypt w pliku konfiguracyjnym samby ustawia zawsze opcję

option browseable 'yes'

Najlepiej jakby było to wyprowadzone do GUI, teraz w niektórych zasobach ręcznie i tak to przestawiać muszę. W sumie szczegół, ale wymaga ręcznego grzebania w plikach. Może jak trochę podszkolę się to jakoś to sam dodam (jeśli nie zrobi tego wcześniej ktoś bardziej obeznany) wink.

Kolejny problem napotkałem chcąc wykorzystać plugin-gargoyle-hdidle. Wcześniej instalowałem i konfigurowałem hd-idle z konsoli, no ale skoro jest w GUI...
Zainstalował się normalnie, jednak cały czas pokazywał w zakładce 'Hd-Idle', że jest wyłączony. no i tu ewidentnie znalazłem błędy w skryptach.

1. Plik /www/js/hdidle.js ustawia opcję disk w pliku konfiguracyjnym w następujący sposób:

preCommands.push("uci set hd-idle.@hd-idle[0].disk='blkid | grep " + disk + " | cut -b 6-8'");

W wyniku czego w pliku konfiguracyjnym powstaje wpis:

option disk 'blkid | grep 141c6bc8-c896-48e7-92db-36e46331d58d | cut -b 6-8'

Uruchomienie hd-idle z poziomu GUI czy też /etc/init.d/ jest wtedy niemożliwe

/usr/bin/hd-idle: invalid option -- b
error: unknown option -b

System nie przetwarza poprawnie polecenia

blkid | grep 141c6bc8-c896-48e7-92db-36e46331d58d | cut -b 6-8

i zamiast jako argument hd-idle wstawić jego wynik (sda) wstawia całe wyrażenie jako argumenty polecenia.
Nie wiem czy wynik tej operacji powinien być już od razu wstawiony do pliku konfiguracyjnego (przez hdidle.js) czy dopiero podstawiony do hd-idle przez /etc/init.d/hd-idle, ale po nieudanych próbach naprawienia tego w pliku hdidle.js zamieniłem powyżej wspomnianą linijkę na:

preCommands.push("uci set hd-idle.@hd-idle[0].disk='sda'");

Jako, że i tak używam tylko jednego dysku na stałe połączonego do routera to taka prowizorka może na razie zostać. No, ale to nie koniec problemów...

2. Po prowizorycznym naprawieniu problemu z punktu 1 hd-idle uruchamiał się i chyba nawet działał, ale dale w GUI miałem cały czas status hd-idle: Wyłączony.
Winny okazał się /www/hdidle.sh , a dokładnie linia

ps | grep hd-idle | cut -b 1-6,44- 2>/dev/null | awk '{if ( $2 == "-i") {print "hdidle_disks_on.push([\""$1"\",\""$3"\",\""$5"\",\""$8"\"]);"} }'

Po wstępnym odfiltrowaniu polecenia ps sprawdzana była druga kolumna i jeśli nie było w niej "-i" skrypt zakładał, że hd-idle nie został poprawnie uruchomiony. A na wskutek działania /etc/init.d/hdidle w drugiej kolumnie nie miało prawa nigdy być "-i"...
Jako, że wolałem za bardzo nie grzebać w www/hdidle.sh poprawiłem w /etc/init.d/hdidle

service_start /usr/bin/hd-idle $args -i "$(compute_seconds $interval $unit)" 

na

service_start /usr/bin/hd-idle -i "$(compute_seconds $interval $unit)" $args

no i Gargoyle zaczęło poprawnie wyświetlać status hd-idle smile

Jest szansa w przyszłości poprawienia tych mankamentów ?

2

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

3. hd-idle naprawa twórca tego pluginu.
2. Tzn nie chcesz tej opcji domyślnie?
1. Zobacz czy nfsd masz w ogóle uruchomiony.

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

3

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

3. A jest z nim jakiś kontakt?
2. Najlepiej jakby była po prostu ustawialna w GUI, a jak nie to żeby Gargoyle jej nie zmieniało po prostu
1.

root@Openwrt:~# ps | grep nfsd
16323 root         0 SW   [nfsd]
16324 root         0 SW   [nfsd]
16325 root         0 SW   [nfsd]
16326 root         0 SW   [nfsd]
16327 root         0 SW   [nfsd]
16328 root         0 SW   [nfsd]
16329 root         0 SW   [nfsd]
16330 root         0 SW   [nfsd]
25199 root      1492 S    grep nfsd

jakoś nie za dobrze to wygląda chyba

4

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

3. No tak smile
1. sprawdź czy portmap też masz uruchomiony.

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

5

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

root@Openwrt:~# ps | grep portmap
28891 nobody    1024 S N  /usr/sbin/portmap
31574 root      1492 S    grep portmap

Jak w exports dałem

/nfs/media    *(rw,all_squash,insecure,sync,no_subtree_check)

w /etc/init.d/nfsd zaremowałem linię

mv /tmp/tmp_exports /etc/exports

i zrestartowałem nfsd to zasób normalnie daje sie podmontować

czyli chyba /etc/init.d/nfsd niepoprawnie przetwarza plik konfiguracyjny nfsd...

6

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

A co masz w takim razie w   /tmp/tmp_exports ?

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

7 (edytowany przez garysek 2012-10-29 22:37:07)

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

normalnie nie mam tego, to chyba tylko przejsciowo w trakcie uruchamiania /etc/init.d/nfsd jest tworzone

    #build new exports file from uci
    rm -rf /tmp/tmp_exports
    touch  /tmp/tmp_exports
    config_load "nfsd"
    config_foreach add_export_line "nfsshare"

    if [ "$valid_found" = "0" ] ; then
        stop
        exit;
    fi

    old_md5=$(md5sum /etc/exports 2>/dev/null)
    old_md5=${old_md5% *}
    cur_md5=$(md5sum /tmp/tmp_exports)
    cur_md5=${cur_md5% *}
    if [ "$old_md5" = "$cur_md5" ] && [ -f /etc/exports ] ; then
        rm /tmp/tmp_exports
    #else
    #    mv /tmp/tmp_exports /etc/exports
    fi

Jak zaremuję kasowanie tego pliku to zostaje w /tmp pusty plik tmp_exports

8

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Ok, inaczej - odremuj to, ustaw w gui tak jak chcesz, zapisz. I zobacz co masz w  /etc/exports

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

9 (edytowany przez garysek 2012-10-29 22:44:41)

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

no właśnie miałem pusty ten plik, więc dlatego zacząłem zabawę w to remowanie...

Po usunięciu remowania znowu /etc/exports ma rozmiar 0

10

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Więc to znaczy że Ci go nie robi skrypt konfiguracyjny. Pokaż cały wynik

uci show nfsd

zobaczę to u siebie.

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

11

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

root@Openwrt:~# uci show nfsd
nfsd.media=nfsshare
nfsd.media.name=media
nfsd.media.sync=1
nfsd.media.insecure=1
nfsd.media.subtree_check=0
nfsd.media.read_only=0
nfsd.media.path=/tmp/usb_mount/141c6bc8-c896-48e7-92db-36e46331d58d/public/media
nfsd.media.allowed_hosts=*

12

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Więc co, bagoł w skrypcie od nfsd jest.

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

13

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

EDIT: znalazłem problem, posłałem zmiany do Eryka, o ile nie wymyśli czegoś po swojemu będzie to naprawione.

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

14

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Czy wiadomo co z hd-idle? działa już poprawnie z najnowszym Gargoyle? Widzę że Najnowsza wersja to: 20121030-1.3-1 i nie wiem czy instalować czy czekać

15

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Tak, działa, Mari0 poprawił to pod zgodność z AA.

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

16 (edytowany przez sqbi 2012-11-18 23:58:16)

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Po podłączeniu dysku 2,5" router się zrestartował sam (podłączałem do wydajnego HUBa). Po konfiguracji hd-idle i fstab i restarcie extroot nie wstał.
Mogę pendrive podłączyć do byle jakiego linuxa, wyedytować pliki usuwając zmiany i podłączyć znowu do routera?

17

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Możesz.

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

18

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Witam odświeżę trochę temat Czy błąd w skryptach startowych został poprawiony bo u mnie ciagle:
root@Gargoyle:~# /etc/init.d/nfsd start
exportfs: could not open /var/lib/nfs/.etab.lock for locking: errno 2 (No such file or directory)
exportfs: can't lock /var/lib/nfs/etab for writing
exportfs: could not open /var/lib/nfs/.xtab.lock for locking: errno 2 (No such file or directory)
exportfs: can't lock /var/lib/nfs/xtab for writing
root@Gargoyle:~#

a mam

| Gargoyle PL 1.5.9.1 (f73df29)                               
| OpenWrt Attitude Adjustment 12.09-rc1 (r35093)               
| Zbudowano: 2013-01-11 15:56 CET

19

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Ale nie skonfigurowałeś zasobów po nfs więc i nie ma czego uruchamiać. Normalne komunikaty.

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

20 (edytowany przez kprzeb 2013-01-21 23:30:31)

Odp: hd-idle, nfsd, gargoyle 1.5.8.1

Oj ja ślepy hmm Dzieki @Cezary wszystko działa smile