Jump to content
zyxmon

Ядерный nfs сервер на кинетике

Recommended Posts

17 часов назад, psbnt сказал:

nfs-kernel-server на kn-1810 с ОС 3.1.6 выдает:

rpc.mountd[3547]
/opt/nfs is not a directory or regular file

Железка? Версия пакета?

Пробовали ли запустить rpc.mountd с помощью strace? Выхлоп strace на pastebin plz.

Share this post


Link to post
Share on other sites
6 часов назад, zyxmon сказал:

Гадалки в отпуске - расшифруйте. После обновы пакета кинетика или после обновы прошивки?

Кинетик точно обновился - с 3.1.6 до 3.1.7. Пакеты тоже недавно обновлялись, но не помню, относились ли они к rpcbind. В течение недели же в репе этот пакет не обновлялся? Точно помню, что неделю назад шара работала, в течение недели обновился на новую прошивку, так же обновлял пакеты. Но обновляю их не реже раза в неделю. Мне кажется, дело не в пакетах. 

Linux Keenetic_Giga 4.9-ndm-3 #2 SMP Mon Oct 7 17:59:49 MSK 2019 mips GNU/Linux (Giga 1010)

# rpc.mountd -v
rpc.mountd version 2.3.4
# df -hT
/dev/sda1            ext4          292.4G    115.4G    162.1G  42% /tmp/mnt/bc14cb6c-d6d3-4623-ac76-ad73d5331fd5
# cat /opt/etc/exports
/tmp/mnt/bc14cb6c-d6d3-4623-ac76-ad73d5331fd5    *(rw,no_root_squash,insecure,sync,no_subtree_check)

 

# cat /opt/etc/init.d/S19rpcbind
#!/bin/sh

ENABLED=yes
PROCS=rpcbind
ARGS="-f -w"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func
# cat /opt/etc/init.d/S20nfsd
#!/bin/sh
# Copyright (C) 2006 OpenWrt.org
        PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NFS_D=/opt/var/lib/nfs
LOCK_D=/opt/var/lib/nfs/sm
        start() {
        insmod /lib/modules/4.9-ndm-3/sunrpc.ko
        insmod /lib/modules/4.9-ndm-3/lockd.ko
        insmod /lib/modules/4.9-ndm-3/nfsd.ko
        insmod /lib/modules/4.9-ndm-3/nfs.ko
        grep -q /proc/fs/nfsd /proc/mounts || \
                mount -t nfsd nfsd /proc/fs/nfsd
        mkdir -p $LOCK_D
        touch $NFS_D/rmtab
        sysctl -w fs.nfs.nlm_tcpport=32777 fs.nfs.nlm_udpport=32777 > /dev/null
        rpc.statd -p 32778 -o 32779
        exportfs -r
        rpc.nfsd
        rpc.mountd -p 32780
}
        stop() {
        killall rpc.mountd 2> /dev/null
        rpc.nfsd 0 2> /dev/null
        exportfs -au
        killall rpc.statd 2> /dev/null
        grep -q /proc/fs/nfsd /proc/mounts && \
                umount /proc/fs/nfsd
}
        reload() {
        exportfs -r
}

case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        restart)
            stop
            start
            ;;
        reload)
                reload
            ;;
        link_up)
                ;;
        ppp_up)
            ;;
        link_down)
            ;;
        ppp_down)
            ;;
        *)
            echo "Usage: $0 {start|stop|restart|reload|link_up|link_down|ppp_up|ppp_down}"
            ;;
esac⏎

strace rpcbind 

https://pastebin.com/JVAfiisq

strace rpcbind -f -w

https://pastebin.com/z5fTJxUQ

Edited by Floppik

Share this post


Link to post
Share on other sites

! $$$ Model: Keenetic Ultra
! $$$ Version: 2.06.1

strace че то для меня непонятное, если честно) отделил момент где монтирую

https://pastebin.com/ZP70WRfy

S57nfs-kernel-server 

#!/bin/sh
# Copyright © 2006 OpenWrt.org
    PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    NFS_D=/opt/var/lib/nfs
    LOCK_D=/opt/var/lib/nfs/sm
    start() {
        for a in sunrpc lockd exportfs nfsd ; do
            if [ $(lsmod | grep -c $a) -eq 0 ]; then
                insmod /lib/modules/4.9-ndm-3/${a}.ko
            fi
        done
        grep -q /proc/fs/nfsd /proc/mounts || \
                mount -t nfsd nfsd /proc/fs/nfsd
        mkdir -p $LOCK_D
        touch $NFS_D/rmtab
        sysctl -w fs.nfs.nlm_tcpport=32777 fs.nfs.nlm_udpport=32777 > /dev/null
        rpc.statd -p 32778 -o 32779
        exportfs -r
        rpc.nfsd -t -u -V 3 -N 4
        rpc.mountd -p 32780
}
    stop() {
        killall rpc.mountd 2> /dev/null
        rpc.nfsd 0 2> /dev/null
        exportfs -au
        killall rpc.statd 2> /dev/null
        grep -q /proc/fs/nfsd /proc/mounts && \
                umount /proc/fs/nfsd
}
    reload() {
        exportfs -r
}

case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        restart)
            stop
            start
            ;;
        reload)
                reload
            ;;
        link_up)
                ;;
        ppp_up)
            ;;
        link_down)
            ;;
        ppp_down)
            ;;
        *)
            echo «Usage: $0 {start|stop|restart|reload|link_up|link_down|ppp_up|ppp_down}»
            ;;
esac

 

Edited by psbnt

Share this post


Link to post
Share on other sites

Linux Keenetic_Ultra 4.9-ndm-3 #2 SMP Mon Sep 30 11:32:51 MSK 2019 mips GNU/Linux

Package: rpcbind
Version: 1.2.5-4

Package: nfs-kernel-server
Version: 2.4.1-1

Edited by psbnt

Share this post


Link to post
Share on other sites
14 минуты назад, zyxmon сказал:

rpcbind разве выдает ошибку? Я не этот srace просил.

@Floppik версии пакетов?

nfs-kernel-server - 2.4.1-1

rpcbind - 1.2.5-4 

 

Share this post


Link to post
Share on other sites

Осталось еще выяснить - кто виноват - прошивка или пакет(ы).

Просьба сделать downgrade всех пакетов nfs-kernel-server версии 2.4.1 на версию 2.3.4 (обновление было с неделю назад).

Старые версии в архиве. Для mipsel это http://bin.entware.net/mipselsf-k3.4/archive/

  
  • Thanks 1

Share this post


Link to post
Share on other sites
28 минут назад, zyxmon сказал:

Осталось еще выяснить - кто виноват - прошивка или пакет(ы).

Просьба сделать downgrade всех пакетов nfs-kernel-server версии 2.4.1 на версию 2.3.4 (обновление было с неделю назад).

Старые версии в архиве. Для mipsel это http://bin.entware.net/mipselsf-k3.4/archive/


  

Заработало! Сделал downgrade этих пакетов на версию 2.3.4:

nfs-kernel-server-utils_2.3.4-1_mipsel-3.4.ipk  
nfs-kernel-server_2.3.4-1_mipsel-3.4.ipk 
nfs-utils-libs_2.3.4-1_mipsel-3.4.ipk
nfs-utils_2.3.4-1_mipsel-3.4.ipk

Share this post


Link to post
Share on other sites

да, у меня тоже заработало. спасибо!!!

готов предположить, что дело именно в пакетах. потому что пробовал откатываться до версии 2.16 (legacy которая...), ошибка была та же "is not a directory or regular file"

Share this post


Link to post
Share on other sites

Заинтересованных, просьба проверить

nfs-kernel-server_2.4.1-1a_mipsel-3.4.ipk nfs-kernel-server-utils_2.4.1-1a_mipsel-3.4.ipk nfs-utils_2.4.1-1a_mipsel-3.4.ipk nfs-utils-libs_2.4.1-1a_mipsel-3.4.ipk

upd

отправлено в бинарные репы

Edited by TheBB
upd
  • Thanks 1

Share this post


Link to post
Share on other sites
21 час назад, TheBB сказал:

Здравствуйте, подтверждаю работает. Спасибо

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   1 member

×
×
  • Create New...