Jump to content

Jan Bros

Forum Members
  • Posts

    5
  • Joined

  • Last visited

Posts posted by Jan Bros

  1. Отвечу сам себе, и другим может поможет. Благодаря наводкам уважаемого Zeleza нашел причину такого поведения.

    1) Закомментировал в файле /opt/etc/exports свою первую строку и добавил свою:

    ~ # cat /opt/etc/exports
    ### /mnt        *(ro,all_squash,insecure,no_subtree_check,sync)
    /tmp/mnt/26E2244BE2242193    *(rw,no_root_squash,insecure,sync,no_subtree_check)

    2) Установил, запустил и прописал в автозапуск rpcbind

    ~ # opkg install rpcbind

    ~ # chmod +x /opt/etc/init.d/S19rpcbind
    ~ # /opt/etc/init.d/S19rpcbind start 

     

    Результат меня порадовал!!!

    NFS Server Starting
    ----------------------------------
    Loading NFS modules: OK
    Mounting NFS file system: OK
    Loading NFS TCP/UPD ports: OK
    Starting NFS statd: OK
    Starting NFS services: OK
    Starting NFS daemon: OK
    Starting NFS mountd: OK

    image.thumb.png.8fb116949e7211cb5f30fe83746d3bf8.pngimage.thumb.png.c4e12e6c69d5d2bad1f6724ba367840b.png

  2. ~ # rpc.mountd -v
    rpc.mountd version 2.5.4
    ~ # df -hT
    Filesystem           Type            Size      Used Available Use% Mounted on
    /dev/root            squashfs       13.9M     13.9M         0 100% /
    tmpfs                tmpfs         124.3M         0    124.3M   0% /dev
    tmpfs                tmpfs         124.3M    464.0K    123.8M   0% /tmp
    /dev/ubi0_0          ubifs          55.2M     14.3M     38.1M  27% /storage
    /dev/ubi0_0          ubifs          55.2M     14.3M     38.1M  27% /opt
    /dev/sda1            tntfs         465.7G    360.0G    105.7G  77% /tmp/mnt/26E2244BE2242193
    ~ # cat /opt/etc/exports
    /mnt    *(ro,all_squash,insecure,no_subtree_check,sync)
    /opt/26E2244BE2242193    *(rw,no_root_squash,insecure,sync,no_subtree_check)~ #
     

  3. ~ # /opt/etc/init.d/S20nfsd start
    NFS Server Starting
    ----------------------------------
    Loading NFS modules: OK
    Mounting NFS file system: OK
    Loading NFS TCP/UPD ports: OK
    Starting NFS statd: FAIL
    Starting NFS services: exportfs: /opt/26E2244BE2242193 does not support NFS export
    exportfs: Failed to stat /mnt: No such file or directory
    FAIL
    Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 145 (Connection timed out)
    rpc.nfsd: unable to set any sockets for nfsd
    FAIL
    Starting NFS mountd: OK
     

    Папку создал /opt/26E2244BE2242193, прописал. Почему: Starting NFS statd: FAIL ?

    Извините, я нубас в этом начального уровня. Умею только по инструкциям(

     

  4. В 11.05.2022 в 19:57, Zeleza сказал:

    Доброго Всем дня,
    Памяти ради, публикую обновленный и актуальный вариант установки NFS сервера для прошивки KeeneticOS 3.7.4 c ядром 4.9-ndm-5.

    Шаг 1
    Устанавливаем нужные пакеты поддержки в WUI роутера, на странице Общие настройки системы. См. скриншот:

    nfs.png

    Шаг 2
    Ставим NFS сервер

    opkg install nfs-kernel-server

    Шаг 3
    Редактируем файл /opt/etc/exports - вставляем одну строку ниже:

    /opt/nfs    *(rw,no_root_squash,insecure,sync,no_subtree_check)

    Здесь, /opt/nfs - нужная Вам папка, к которой монтируется USB диск или флешка и которую необходимо создать заранее в директории /opt

    Шаг 4
    Удаляем прежний файл запуска и устанавливаем обновленный вариант скрипта:

    rm /opt/etc/init.d/S57nfs-kernel-server
    nano /opt/etc/init.d/S20nfsd

    Вставляем текст "под катом":

      Показать содержимое

    #!/bin/sh
    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() {
        echo NFS Server Starting
        echo ----------------------------------
        printf "Loading NFS modules: "
        for a in sunrpc lockd nfs nfsd exportfs; do
                if [ $(lsmod | grep -c $a) -eq 0 ]; then
                    insmod "/lib/modules/$(uname -r)/${a}.ko"
                fi
            done
        [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Mounting NFS file system: "
        grep -q /proc/fs/nfsd /proc/mounts || \
                    mount -t nfsd nfsd /proc/fs/nfsd
        [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Loading NFS TCP/UPD ports: "
        mkdir -p $LOCK_D
            touch $NFS_D/rmtab
            sysctl -w fs.nfs.nlm_tcpport=32777 fs.nfs.nlm_udpport=32777 > /dev/null
        [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Starting NFS statd: "
        rpc.statd -p 32778 -o 32779
        [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Starting NFS services: "
            exportfs -r
        [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Starting NFS daemon: "
            rpc.nfsd
        [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Starting NFS mountd: "
            rpc.mountd -p 32780
        [ $? = 0 ] && echo "OK" || echo "FAIL"
        echo  ---------------------------------
        echo
    }
            stop() {
        echo  NFS Server stoping
        echo ---------------------------------
        printf "Shutting down NFS mountd: "
            killall rpc.mountd 2> /dev/null
            rpc.nfsd 0 2> /dev/null
            [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Shutting down NFS services: "
        exportfs -au
            [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Stopping NFS statd: "
        killall rpc.statd 2> /dev/null
        [ $? = 0 ] && echo "OK" || echo "FAIL"

        printf "Unmounting NFS file system: "
            grep -q /proc/fs/nfsd /proc/mounts && \
                    umount /proc/fs/nfsd
        [ $? = 0 ] && echo "OK" || echo "FAIL"
        echo  ---------------------------------
    }
            reload() {
        printf "Reloading NFS services: "
            exportfs -r
        [ $? = 0 ] && echo "OK" || echo "FAIL"
    }

    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

    Доработано на основании предыдущих сообщений:

    1. Автоматическое добавление необходимых модулей ядра, в случае их отсутствия 
    2. Автоматическое изменение пути к этим модулям, в случае обновления версии ядра
    3. Добавлены поэтапные сообщения различных стадий остановки и запуска скрипта

    Шаг 5
    Запускаем NFS сервер

    /opt/etc/init.d/S20nfsd start

     

    Здравствуйте. Keenetic Giga 1010. Делаю все по вашей инструкции и получаю такую ошибку:

    ~ # /opt/etc/init.d/S20nfsd start
    NFS Server Starting
    ----------------------------------
    Loading NFS modules: OK
    Mounting NFS file system: OK
    Loading NFS TCP/UPD ports: OK
    Starting NFS statd: FAIL
    Starting NFS services: exportfs: Failed to stat /mnt: No such file or directory
    FAIL
    Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 145 (Connection timed out)
    rpc.nfsd: unable to set any sockets for nfsd
    FAIL
    Starting NFS mountd: OK
     

    Версия прошивки 3.7.4. Что я делаю не так? Нужен NFS для одной камеры, которая умеет только писать в NFS. Пожалуqста помогите(

×
×
  • Create New...