Показаны сообщения с ярлыком nas. Показать все сообщения
Показаны сообщения с ярлыком nas. Показать все сообщения
понедельник, 18 октября 2010 г.
Мое google-fu сильнее твоего!
Стоит только что-то придумать, выясняется, что кто-то уже сделал это до тебя. Вот придумал я тут одну штуку, а она оказывается уже вроде как и есть - кэширующая файловая система c медленным бэкэндом. Знакомьтесь - mcachefs. Работает над fuse, что-то умеет. Будем изучать. Я ищу пока средства разумно ускорить мою извращенную схему с nas за wi-fi. Но в процессе находится столько всего интересного, вот сейчас смотрю, как писать свои fs под fuse, очень хочется попробовать. Да и наверняка mcachefs будет не совсем тем, что я себе представляю.
четверг, 14 октября 2010 г.
Western Digital My Book World Edition II: настройка, установка rtorrent
На этот раз я разбирался с устройством, которое декларирует себя как NAS. До взрослого NAS-а ему далековато, но кое что все же коробочка может.
Итак, что я сделал для использования этого хозяйства? Работает на linux, архитектура arm, есть сайт, с которого стоит начать знакомство с внутренностями после покупки: http://mybookworld.wikidot.com/.
Первым делом я подключил nfs, в "белой" редакции это делается через веб-интерфейс. Затем включил доступ по ssh. С ssh надо быть осторожным, если ваша сеть не является закрытой. Да и в таком случае лучше быть осторожным ;).
По-умолчанию коробочка запускает одного демона nfsd, в рекомендациях по производительности написано это число поменять на то, что будет лучше для вас. Я решил, что 1 - мало по любому, поэтому поставил сразу 4. Делается это следующим образом:
1. Заходим по ssh на коробочку (root'ом с логином welc0me):
2. Редактируем /etc/init.d/S80nfsd:
Строку
заменяем на
Вместо 4 можно поставить ваше любимое число. Ну или можно этого не делать, мне кажется лучше, когда демонов больше, но конкретных замеров я не проводил на одновременную работу с коробочкой при разном числе демонов.
Далее, по инструкции ставим на коробочку пакетный менеджер ipkg. Для установки rtorrent достаточно сделать:
Далее, запуск через:
Настройка в файле .rtorrent.rc. Вот мой:
wdmybookip и external_ip - адрес коробочки в локальной сети и адрес внешний. Порты 40890 и 6881 должны быть проброшены с внешнего адреса на коробочку.
Вот и все, можно скачивать и сохранять пентабайты данных?
К сожалению, все не так просто. Дело в том, что метод соединения по-умолчанию через epoll у меня не заработал, и два - падает на больших торрентах. Обе проблемы известные, первая решается передачей параметра окружения для выбора метода select, вторая - через компиляцию libtorrent. Первое весьма просто:
А вот второе уже сложнее. Для этого нам понадобится на другой машине выкачать репозитории ipkg и самостоятельно все собрать/поправить. Я сделал скрипт, который все делает, главное, на что надо обратить внимание - это удаление define'ов USE_EPOLL и USE_MADVISE:
Полученый файл wd/optware/cs05q1armel/builds/libtorrent.ipk необходимо скопировать на коробочку, после чего на ней уже запустить команду:
Теперь все хорошо и запускать можно без всяких переменных окружения: /opt/bin/rtorrent. С чем я всех и поздравляю.
З.Ы. Скачать готовый скрипт и пакет.
Итак, что я сделал для использования этого хозяйства? Работает на linux, архитектура arm, есть сайт, с которого стоит начать знакомство с внутренностями после покупки: http://mybookworld.wikidot.com/.
Первым делом я подключил nfs, в "белой" редакции это делается через веб-интерфейс. Затем включил доступ по ssh. С ssh надо быть осторожным, если ваша сеть не является закрытой. Да и в таком случае лучше быть осторожным ;).
По-умолчанию коробочка запускает одного демона nfsd, в рекомендациях по производительности написано это число поменять на то, что будет лучше для вас. Я решил, что 1 - мало по любому, поэтому поставил сразу 4. Делается это следующим образом:
1. Заходим по ssh на коробочку (root'ом с логином welc0me):
kilork@phoenix ~ $ ssh wdmybookip -l root root@wdmybookip's password: ~ #
2. Редактируем /etc/init.d/S80nfsd:
~ # vi /etc/init.d/S80nfsd
Строку
/usr/sbin/rpc.nfsd
заменяем на
/usr/sbin/rpc.nfsd 4
Вместо 4 можно поставить ваше любимое число. Ну или можно этого не делать, мне кажется лучше, когда демонов больше, но конкретных замеров я не проводил на одновременную работу с коробочкой при разном числе демонов.
Далее, по инструкции ставим на коробочку пакетный менеджер ipkg. Для установки rtorrent достаточно сделать:
/opt/bin/ipkg install rtorrent
Далее, запуск через:
/opt/bin/rtorrent
Настройка в файле .rtorrent.rc. Вот мой:
directory = /shares/Public session = /shares/Public/session schedule = watch_directory,5,5,load_start=/shares/Public/torrent/*.torrent port_range = 40890-40890 #port_random = no #check_hash = yes session_save = yes encryption = allow_incoming,enable_retry,prefer_plaintext use_udp_trackers = no dht = auto dht_port = 6881 encoding_list = UTF-8 bind = wdmybookip ip = external_ip scgi_port = localhost:5000 upload_rate = 100 download_rate = 1000 max_peers = 30 max_uploads = 10 max_uploads_global = 20 max_downloads_global = 60 send_buffer_size = 1M receive_buffer_size = 1M max_memory_usage = 128M
wdmybookip и external_ip - адрес коробочки в локальной сети и адрес внешний. Порты 40890 и 6881 должны быть проброшены с внешнего адреса на коробочку.
Вот и все, можно скачивать и сохранять пентабайты данных?
К сожалению, все не так просто. Дело в том, что метод соединения по-умолчанию через epoll у меня не заработал, и два - падает на больших торрентах. Обе проблемы известные, первая решается передачей параметра окружения для выбора метода select, вторая - через компиляцию libtorrent. Первое весьма просто:
export RTORRENT_POLL=select /opt/bin/rtorrent
А вот второе уже сложнее. Для этого нам понадобится на другой машине выкачать репозитории ipkg и самостоятельно все собрать/поправить. Я сделал скрипт, который все делает, главное, на что надо обратить внимание - это удаление define'ов USE_EPOLL и USE_MADVISE:
#!/bin/bash mkdir wd cd wd svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware cd optware make cs05q1armel-target cd cs05q1armel make directories ipkg-utils toolchain make libtorrent cd builds/libtorrent sed -i '/USE_EPOLL/ d;/USE_MADVISE/ d' config.h make cd - make libtorrent-ipk mv builds/libtorrent*-1_arm.ipk builds/libtorrent.ipk
Полученый файл wd/optware/cs05q1armel/builds/libtorrent.ipk необходимо скопировать на коробочку, после чего на ней уже запустить команду:
/opt/bin/ipkg install path/to/libtorrent.ipk.
Теперь все хорошо и запускать можно без всяких переменных окружения: /opt/bin/rtorrent. С чем я всех и поздравляю.
З.Ы. Скачать готовый скрипт и пакет.
среда, 13 октября 2010 г.
Домашняя сеть: когда хочется всего и сразу
Я неоднократно писал о том, как обустраивал свою домашнюю инфраструктуру. Это заметки о Asus O!Play HDP R1: здесь и здесь. Мои приключения с устройствами от D-Link: здесь и здесь. Я достиг желаемого, 15 Гб mkv воспроизводились без проблем. Почти. Стоило на пути следования сигнала оказаться человеку, собаке, или какому-нибудь высокоэнергичному существу - начинались проблемы. Тяжелее всего смириться с мелочами. Это то, что больше всего достает. Как люди, которые давно друг друга знают могут устроить ссору из-за неопущенного сидения унитаза, или другой глупости, точно так же меня бесят мелкие недостатки в работе какого-либо домашнего устройства. Я лучше сломаю его, куплю что-то другое, но не смогу смириться с недостатками, которые не сильно мешают.
Поэтому я начал искать решение. Первое, zero-cost - подключить к O!Play жесткий диск по USB и по сети на него закидывать файлики. O!Play с 1.27 прошивки умеет делать из внешнего жесткого диска NAS - описание. К сожалению, в таком режиме мощностей коробочки совсем не хватает. Однако общая идея была уже ясна - данные должны лежать рядом. Для этого приобрел коробочку от Western Digital: MyBook World II 2Tb. Подключил это к роутеру напрямую. Папочку по nfs расшарил в сети этого роутера. С коробочки 30 Gb mkv играются без проблем. И ходить могут сколько хотят люди, звери и энергетические сущности. Коробочка аналогично O!Play поддается хакам, чем я последние две недели и занимаюсь. Как только доиграюсь до чего-то определенного - напишу подробный отчет.
Еще одно изменение в домашней сети - она перестала быть настолько домашней. Подключил в NetByNet услугу "Коннект", теперь у меня целый пул статических адресов. Заодно приобрел и роутер поприличнее - Linksys WRT610N. Думал сначала поменять их местами с d-link, но последний оказалось проблематично сделать простым маршрутизатором, а в linksys это делается фактически в пару кликов мышкой. Однозначный плюс в копилку.
Даже в текущем варианте я все равно недоволен. Воспроизведение побеждено, но время закачки на NAS по связке через wi-fi все равно никуда не делось (а очевидно, что если даже 15 Gb дергались, то на перекачку 30 Gb фильма уйдет в два раза больше времени, чем на собственно просмотр). Пока компенсирую это тем, что поставил на NAS качалку, получается, что нет задержки на передачу от скачивалки до устройства, идет сразу же закачка информации. В связи с этим разобрался таки с iptables, до этого всегда просто брал готовые мануалы не вдумываясь, а тут реально глубоко погрузился в тему.
Update (2011/09): Проблему скорости закачки я решил без использования Wi-Fi: альтернатива.
Поэтому я начал искать решение. Первое, zero-cost - подключить к O!Play жесткий диск по USB и по сети на него закидывать файлики. O!Play с 1.27 прошивки умеет делать из внешнего жесткого диска NAS - описание. К сожалению, в таком режиме мощностей коробочки совсем не хватает. Однако общая идея была уже ясна - данные должны лежать рядом. Для этого приобрел коробочку от Western Digital: MyBook World II 2Tb. Подключил это к роутеру напрямую. Папочку по nfs расшарил в сети этого роутера. С коробочки 30 Gb mkv играются без проблем. И ходить могут сколько хотят люди, звери и энергетические сущности. Коробочка аналогично O!Play поддается хакам, чем я последние две недели и занимаюсь. Как только доиграюсь до чего-то определенного - напишу подробный отчет.
Еще одно изменение в домашней сети - она перестала быть настолько домашней. Подключил в NetByNet услугу "Коннект", теперь у меня целый пул статических адресов. Заодно приобрел и роутер поприличнее - Linksys WRT610N. Думал сначала поменять их местами с d-link, но последний оказалось проблематично сделать простым маршрутизатором, а в linksys это делается фактически в пару кликов мышкой. Однозначный плюс в копилку.
Даже в текущем варианте я все равно недоволен. Воспроизведение побеждено, но время закачки на NAS по связке через wi-fi все равно никуда не делось (а очевидно, что если даже 15 Gb дергались, то на перекачку 30 Gb фильма уйдет в два раза больше времени, чем на собственно просмотр). Пока компенсирую это тем, что поставил на NAS качалку, получается, что нет задержки на передачу от скачивалки до устройства, идет сразу же закачка информации. В связи с этим разобрался таки с iptables, до этого всегда просто брал готовые мануалы не вдумываясь, а тут реально глубоко погрузился в тему.
Update (2011/09): Проблему скорости закачки я решил без использования Wi-Fi: альтернатива.
Подписаться на:
Сообщения (Atom)