Перейти к содержанию

zyxmon

Модераторы
  • Постов

    1 859
  • Зарегистрирован

  • Посещение

  • Победитель дней

    25

Весь контент zyxmon

  1. Первое, что стоит сделать - проверить сервер с нормального клиента. Может и не китайцы виноваты. Дополнение 1. Насколько понял - значение /proc/fs/nfsd/max_block_size играет роль только для tcp. Подключился клиентом по tcp. Он поставил буферы в 32k (у меня max_block_size=16k) скопировал несколько файлов туда-сюда. Ошибки нет. На всякий пожарный (если копаем в правильном направлении). Размер 8k минимальный и задается тут https://github.com/ndmsystems/linux-3.4 ... svc.c#L308 Так он задавался всегда. А ядерный nfs сервер заводили еще на белых кинетиках без проблем (по tcp). Дополнение 2. Вот оно сообщение об ошибке - https://github.com/ndmsystems/linux-3.4 ... ck.c#L1018 Только для tcp. Нужно проверить работу сервера по tcp с нормального некитайского клиента и делать выводы. У меня на Extra - работает. Может нужна особая ситуация, когда ошибка возникает?
  2. это номера портов usage: rpc.statd [options] -h, -?, --help Print this help screen. -F, --foreground Foreground (no-daemon mode) -d, --no-syslog Verbose logging to stderr. Foreground mode only. -p, --port Port to listen on -o, --outgoing-port Port for outgoing connections -V, -v, --version Display version information and exit. -n, --name Specify a local hostname. -P State directory path. -N Run in notify only mode. -L, --no-notify Do not perform any notification. -H Specify a high-availability callout program. У меня с буфером 16k и нормальным клиентом проблем нет. Если nfs нужен для чтения с кинетика - имеет смысл попробовать unfs3.
  3. Клиент позволяет запустить команду mount без параметров, чтобы узнать размер буферов чтения и записи? Гугл говорит, что начиная с ядра 3.4 значение max_block_size вычисляется автоматически в зависимости от размера RAM. У меня на Extra RAM в два раза больше и max_block_size в 2 раза больше. Можно попробовать через echo увеличить это значение, посмотрев, что клиент запрашивает. Вот в этом месте .... grep -q /proc/fs/nfsd /proc/mounts || \ mount -t nfsd nfsd /proc/fs/nfsd echo 32768 > /proc/fs/nfsd/max_block_size mkdir -p $LOCK_D ..... Может поможет, но не уверен.
  4. А у меня не сыпЕт. Для начала спросите тут - http://obninsk.name/tele/ Главное в п.3. Какое устройство, прошивка, клиент, с какими опциями монтируется на клиенте? Чему равно cat /proc/fs/nfsd/max_block_size А что если у клиента при монтировании уменьшить wsize до этого значения? Учитесь искать решение самостоятельно. Потом делиться найденным! Много лет назад я слышал такое сравнение - Windows - это пельмени в пачке из магазина. Linux - это мука, мясо, соль, специи, мясорубка и поваренная книга. Если постараться, выйдет вкусно, если нет - хуже чем из магазина. Но поваренную книгу читать нужно и поработать придется, чтобы было вкусно.
  5. Несколько слов о userspace nfs сервере unfs3. Устанавливается он командой `opkg install unfs3`. Для работы так же нужен запущенный portmap. Файл /opt/etc/exports можно такой (расшариваем на запись /opt) # cat /opt/etc/exports /opt (rw,no_root_squash,insecure) Скрипт запуска `/opt/etc/init.d/S56unfsd` Быстродействие (условия из сообщения выше) Скорость записи печальная # dd if=/dev/zero of=tempfile bs=100k count=10240 10240+0 records in 10240+0 records out 1048576000 bytes (1.0 GB) copied, 1209.39 s, 867 kB/s Загрузка CPU не выше, чем для ядерного сервера. Скорее всего виновник таких низких скоростей - флешка. Измерения скорости несколько лет назад с hdd показывало превосходство unfs3 над samba и заметно более высокие скорости записи. А вот чтение - быстрее !!! # dd if=./tempfile of=/dev/null bs=100k 10240+0 records in 10240+0 records out 1048576000 bytes (1.0 GB) copied, 64.5975 s, 16.2 MB/s При загрузке CPU около 90%. Вывод - если nfs сервер нужен для предоставления контента мультимедиа плееру (transmission на кинетике, плеер берет скачанное по nfs), unfs3 вполне подойдет.
  6. Проверка быстродействия. Сразу отмазка - в качестве носителя использовалась далеко не самая быстрая флешка с ext2. Роутер Extra. Монтировалось на НАСе с Intel Atom (-o vers=3,udp) Запись dd if=/dev/zero of=tempfile bs=100k count=10240 10240+0 records in 10240+0 records out 1048576000 bytes (1.0 GB) copied, 349.182 s, 3.0 MB/s CPU загружен в районе 30%. Чтение этого же файла dd if=./tempfile of=/dev/null bs=100k 10240+0 records in 10240+0 records out 1048576000 bytes (1.0 GB) copied, 82.6796 s, 12.7 MB/s CPU загружен в районе 60%. Данные привожу для сравнения с неядерным unfs3
  7. Уже давно заводится, проект Entware-keenetic viewtopic.php?f=4&t=333
  8. Автоматически в Entware выполняются при запуске скрипты /opt/etc/init.d/S* Кроме этого прошивка выполняет скрипты хуки https://github.com/ndmsystems/packages/ ... ok-scripts Ваш вопрос - offtopic и не предназначен для этой темы и раздела "готовые решения"!
  9. Ясный перец, что не Entware. Там и пакет иначе называется и libc другая. В Entware-keentic пакет рабочий. Сам пользую.
  10. Репозиторий entware включает в себя два nfs сервера - userspace сервер unfs3 и ядерный. В связи с возможностью установки дополнительных модулей ядра - viewtopic.php?f=3&t=471 расширились и возможности кинетика. В этом сообщении я покажу как поднять ядерный nfs сервер. Первое, что нужно сделать, это установить нужные модули. См. скриншот: В момент написания данной заметки все установленные модули автоматически загружаются. Делать insmod или modprobe не нужно. Второе- установим и запустим pormap opkg install portmap /opt/etc/init.d/S55portmap start (После перезагрузок pormap будет автоматически запускаться) Третье - установим сервер opkg install nfs-kernel-server Четвертое - отредактируем файл /opt/etc/exports # cat /opt/etc/exports /opt *(rw,no_root_squash,insecure,sync,no_subtree_check) Я в этом примере расшариваю всем всю директорию /opt на запись Пятое - удалим скрипт запуска и заменим его другим rm /opt/etc/init.d/S57nfs-kernel-server wget http://pkg.entware-keenetic.ru/binaries/S20nfsd -O /opt/etc/init.d/S20nfsd chmod +x /opt/etc/init.d/S20nfsd Шестое. Запустим скрипт запуска /opt/etc/init.d/S20nfsd start Седьмое - профит! :D PS Лучше переименовать скрипты запуска portmap и nfsd, чтобы portmap запускался первым. PPS. Содержимое S20nfsd: # 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() { 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
  11. В связи с возможностью установки дополнительных модулей ядра - viewtopic.php?f=3&t=471 расширились и возможности кинетика. В этом сообщении я покажу как подключить расшаренную по протоколу NFS папку с другого устройства Вашей локальной сети к кинетику. Примечание. Расшаривание по протоколу NFS кроме linux (на обычном компе) часто реализовано на НАСах и мультимедиа плеерах Первое, что нужно сделать, это установить нужные модули. См. скриншот: Примечание 1. Если Вас устраивает монтирование с опцией nolock, то portmap можно не запускать и добавить опцию nolock. к команде монтирования: `mount -t nfs -o -o vers=3,udp,nolock //:/<имя шары>/ <локальная директория>` Примечание 2. Измерил скорость копирования большого файла с nfs блоками по 1k на Extra # dd if=<Большой файл на шаре> of=/dev/null bs=1k 989882+1 records in 989882+1 records out 1013639246 bytes (1,0 GB) copied, 46,4714 s, 21,8 MB/s Около 22 МБ/с или 1 Гигабайт в минуту. NAS умеет отдавать быстрее, но в целом неплохо. Загрузка CPU около 100% Примечание 3. Если Вы собираетесь использовать подмонтированную шару для скачивания на нее торрентов, это не очень хорошая идея. Примечание 4. Если необходимо, можно в фоне копировать с/на NFS шару, как это описано для протокола cifs тут - viewtopic.php?p=5682#p5682
  12. Копируем на шару/c шары в фоновом режиме. Я кратко опишу один из способов, другие найдете тут - http://forums.zyxmon.org/viewtopic.php?f=5&t=5378 Если требуется скопировать большой объем данных по сети, это можно сделать в фоновом режиме: подключиться к кинетику, запустить копирование, отключиться, придти через час-два-десять, проверить, что все выполнено. Я предполагаю, что mc (Midnight Commander) уже установлен. 1. Установим screen opkg install sceeen 2. Запустим screen screen 3. Запустим mc (командой mc), в одной панели отобразим расшаренную папку, в другой локальную, начнем копировать. Внимание, чтобы не укладывать CPU в "полку" (100%) рекомендую запустить mc с пониженным приоритетом nice mc 4.Перведем задание в фон. Нажмем `Ctrl-a d` [detached from 13686.pts-0.Extra] 5. Можно выйти из ssh сессии (отключиться от роутера), потом через пару часов подключиться еще раз и набрать screen -r Мы увидим окно mc и поймем завершилось ли копирование. Если завершилось, завершим mc и потом и сеанс screen командой `exit` [screen is terminating] ~ # Инструкций по использованию screen в интернете вагон и маленькая тележка. Большого смысла их пересказывать тут нет.
  13. В связи с возможностью установки дополнительных модулей ядра - viewtopic.php?f=3&t=471 расширились и возможности кинетика. В этом сообщении я покажу как подключить расшаренную папку с другого устройства Вашей локальной сети к кинетику. Первое, что нужно сделать, это установить нужные модули. См. скриншот: Примечание 2 Если Вы собираетесь использовать подмонтированную шару для скачивания на нее торрентов, это плохая идея. Ваша система будет нестабильна. Лучше скачайте на кинетик, а потом скопируйте на "шару". Я расскажу в следующем сообщении, как это сделать в фоновом режиме.
  14. Уважаемый TheBB, надеюсь, напишет подробное решение. Просто про отсылку почты из командной строки написал тут - http://forums.zyxmon.org/viewtopic.php?f=5&t=5380 Это только один из вариантов отправки e-mail.
  15. Не уверен, что у Вас аналогично. Иногда у меня, после перезагрузки роутера в логах ругань на флешку: [i] Jun 11 09:07:50 ndm: kernel: sd 0:0:0:0: [sda] Media Changed [i] Jun 11 09:07:50 ndm: kernel: sd 0:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08 [i] Jun 11 09:07:50 ndm: kernel: sd 0:0:0:0: [sda] Sense Key : 0x6 [current] [W] Jun 11 09:07:50 ndm: kernel: Info fld=0x0 [i] Jun 11 09:07:50 ndm: kernel: sd 0:0:0:0: [sda] ASC=0x28 ASCQ=0x0 [i] Jun 11 09:07:50 ndm: kernel: sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 00 37 90 00 00 08 00 [E] Jun 11 09:07:50 ndm: kernel: end_request: I/O error, dev sda, sector 14224 ..... Если же строки " [sda] Media Changed" нет, то все нормально. И нормальная загузка в 95% случаев. Может это и флешка сбоит. Логи (журнал) смотрите!!!!! Чаще всего у меня ошибка происходит, если сделать umount из морды перед перезагрузкой. Предположительно при перезагрузке не всегда происходит корректная остановка "всего и вся" запущенного с флешки. Запуск идет не только из /opt/etc/init.d но и через хуки скрипты (активно используются звуковой станцией). Может в этом проблема.
  16. Совместное чтение вслух стоит недешево. Может сами прочтете?
  17. Если для Вашей модели уже выпущены ядерные модули, ставьте opkg-kmod-fs viewtopic.php?f=3&t=471 Далее mkdir -p <локальная директория> mount -t cifs '\\\<имя шары>' <локальная директория> -o username=guest,iocharset=utf8
  18. Господа, не спешите. Скоро все будет с описанием. Смотри сюда Пакет music-center = метапак для муз.шкатулки https://github.com/The-BB/keendev/commi ... 01eba2b2ac
  19. Рано или поздно это нужно переставить. Часть бинарников именно для Вашего роутера в Entware-ng нерабочие. При обновлении системной либы в "головном" Entware, все у Вас отвалиться при обновлении. Команда `opkg update` об этом говорит, правда однократно!
  20. Да - это keenle. А система пакетов какая? `cat /opt/etc/opkg.conf` в студию!
  21. У Вас что, keenbe - предупреждать же нужно. Или же keenopt? PS Поддерживается только Entware-keenetic. Старый вариант Entware-ng не поддерживается и скоро перестанет работает. Package: nfs-utils Version: 1.3.3-2a Depends: libc, libssp, libwrap, libblkid, libuuid Source: feeds/packages/net/nfs-kernel-server Section: utils Maintainer: Peter Wagner Architecture: keenle Installed-Size: 48759 Description: Updated mount.nfs command - allows mounting nfs4 volumes Эту информацию Вы можете сами посмотреть, распаковав ipk. Для 100% уверенности (играл пару недель назад с архитектурами) проверил установку на Extra с Entware-keenetic: ~ # opkg install http://pkg.entware-keenetic.ru/binaries/keenle/t/nfs-utils_1.3.3-2a_keenle.ipk Downloading http://pkg.entware-keenetic.ru/binaries/keenle/t/nfs-utils_1.3.3-2a_keenle.ipk. Installing nfs-utils (1.3.3-2a) to root... Configuring nfs-utils.
  22. Проверьте - http://pkg.entware-keenetic.ru/binaries ... keenle.ipk Эта ошибка по идее должна уйти. По transmission из Entware - viewtopic.php?f=3&t=472
  23. Скорее всего тут собака порылась. Если это юзерспейс выдает (99,99%) - пропатчу, сообщу...
  24. Тут рекомендуют запускать portmap
  25. Если у Вас проблема с transmission из прошивки, попробуйте версию transmission из Entware. C удивлением прочитал - http://forum.ixbt.com/topic.cgi?id=14:63015:5836#5836 Это не про кинетик. И это странно, исходники в прошивке и entware одинаковые (ну почти). Для установки transmission нужно opkg install transmission-daemon-openssl opkg install transmission-web Настройки тут - /opt/etc/transmission/settings.json Файл (авто) запуска - /opt/etc/init.d/S88transmission Не пробовал заводскую, а эта версия вполне ipv6 понимает (скриншот)
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.