Рассказываю, что в результате моих изысканий и практических экспериментов, решение проблемы, приведенной в начале темы найдено, хотя и не такое элегантное, цельное и изящное как хотелось бы. Но что пока знаю - тем и делюсь.
Сначала было необходимо выбрать тип подключения к основному хранилищу asus1: smb или nfs.
Так как с nfs дела раньше не имел и принцип её действия не понимал, решил начать с smb (хотя забегая вперёд, скажу, что остановил свой выбор на nfs).
SMB:
Полазив по форуму и по-гуглив в нете нашёл, что при установленной sambe необходимо выполнить 3 действия:
1. на asus1 настроить доступ к нужным папкам (в файле samba.conf)
2. на asus2 скачать и сохранить драйвер (модуль ядра) для доступа к ресурсам smb
Code:
mkdir -p /opt/lib/modules
wget 'http://wl500g.info/attachment.php?attachmentid=1989' -O- | gunzip > /opt/lib/modules/smbfs.o
3. активировать его командой
Code:
/sbin/insmod /opt/lib/modules/smbfs.o
4. подмонтировать открытый ресурс asus1 к файловой системе asus2 (в предварительно созданную папку), используя уже существующий на asus1 логин и пароль, и настройки страниц кодировки, например, так:
smbmount //192.168.1.3/share/opt/share/torrent/work /tmp/share -ousername="admin",password="admin" iocharset=utf8 codepage=cp866
После этого в настройки файла postmount вносим изменения, связанные с необходимостью автоматизировать вышепреведенные шаги (3,4) при каждой загрузке роутера.
Возникшие и так и не решённые проблемы остались только при показе наименований русских названий, пробовал разные настройки кодовых страниц, но везде получались только одни крякозябры. Но я думаю, если копать более серьёзно - всё решаемо, ведь из windows и на самом asus1 они отображаются нормально, по-русски.
NFS:
Вспоминая отклики по форуму, что во-первых, nfs - родная для Linux сетевая ФС, во-вторых - работает быстрее, меньше нагружает cpu и более стабильная при плохой связи с частым разрывом соединения, и в-третьих - из-за спортивного интереса, - решил заставить работать данную связку аппаратного обеспечения на nfs.
Гугл и wi-ki в помощь - очень помогли при изучении этой темы. В принципе ничего сложного, всё сводится к нескольким шагам:
1. на asus1 в веб-морде включаем сервер nfs
2. вбиваем на этой же странице какую папку расшариваем (экспортируем - по линуксовским понятиям) и каким компьютерам (по IP-адресам) разрешаем подключаться к этой папке, а также дополнительные параметры (их - куча, для тонкой настройки, лично я взял их из wi-ki и всё работает).
export:
/opt/share/torrent/ 192.168.1.0/24(rw,async,no_root_squash,anonuid=0,anongid=0)
3. сохраняем, перегружаем роутер asus1
4. активируем драйвер nfs на asus2
5. создаём папку /tmp/nfs
6. монтируем nfs в неё:
Code:
mount -t nfs - ro 192.168.1.3:/opt/share/torrent /tmp/nfs
Здесь я монтирую в режиме readonly - для того, чтобы rtorrent asus2 не изменял файлы из папок rtorrenta asus1 и не мог скачивать файлы по своему каналу - этакая "дубовая" защита от ненужного использования лимитированного трафика.
7. Далее подмонтирую удалённые папки rtorrenta work и dl вместо локальных (папка session остаётся локальной, так как rtorrent по-моему, для нормальной работы должен туда что-то обязательно записывать):
Code:
mount -obind /tmp/nfs/work /opt/harddisk/torrent/work
mount -obind /tmp/nfs/dl /opt/harddisk/torrent/dl
Всё.
Запускаем rtorrent на asus2, он перехэширует файлы с asus1, это занимает немало времени, особенно если файлы большие и торрентов много (как это отключить я не нашёл, если кто знает, поделитесь пожалуйста). После этого он начинает раздачу, ограниченную только моим "серым" ip-ком.
После этого в настройки файла post-mount внёс изменения, связанные с необходимостью автоматизировать вышепреведенные шаги (4,7) при каждой загрузке роутера.
Code:
...
insmod nfs
mkdir /tmp/nfs
mount -t nfs - ro 192.168.1.3:/opt/share/torrent /tmp/nfs
mount -obind /tmp/nfs/work /opt/harddisk/torrent/work
mount -obind /tmp/nfs/dl /opt/harddisk/torrent/dl
...
далее стартует rtorrent и веб-морда к нему
Теперь в результате имеем следующую картину:
[admin@asus2 root]$ mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part1 on /tmp/mnt/disc0_1 type ext3 (rw,noatime)
/dev/scsi/host0/bus0/target0/lun0/part1 on /opt type ext3 (rw,noatime)
192.168.1.3:/opt/share/torrent on /tmp/nfs type nfs (ro,v3,rsize=32768,wsize=32768,hard,udp,lock,addr= 192.168.1.3)
192.168.1.3:/opt/share/torrent on /opt/harddisk/torrent/work type nfs (ro,v3,rsize=32768,wsize=32768,hard,udp,lock,addr= 192.168.1.3)
192.168.1.3:/opt/share/torrent on /opt/harddisk/torrent/dl type nfs (ro,v3,rsize=32768,wsize=32768,hard,udp,lock,addr= 192.168.1.3)
Итог: задача минимум выполнена, конфигурация устойчива и выполняет заданные функции, но требует внимания при нештатном поведении оборудования.
Задача на будущее: обеспечение стабильной работы, повышение удобства управления, полная автоматизация процесса восстановления раздачи после различных сбоев оборудования.
В связи с этим, прошу помощи более компетентных людей для решения проблем, возникших у меня, для полного раскрытия темы:
1. В принципе всё работает, если запустить это одновременно проблем нет, но если вдруг подвиснет asus1, то и asus2 естественно ничего не отдаёт. Но я надеялся, что nfs обеспечит продолжение работы после перезапуска asus1, однако приходится заново перезапускать и asus2, а он вновь начинает перехешировать всё заново, что приводит к потере времени, забивает ПСС сети и не позволяет полностью автоматизировать процесс (закачки становятся на паузу после такого rebootа).
2. Хочу узнать насколько оптимальны параметры подключения nfs, т.е. (ro,v3,rsize=32768,wsize=32768,hard,udp,lock,addr= 192.168.1.3), что они значат примерно понятно, но детальный анализ не помешал бы.
3. Насчёт протокола маршрутизации BGP, как я понял, прочитав несколько статей, для его работы необходимо купить некоторый номер AS у распределяющей их организации, договориться со своими провайдерами, чтобы они обеспечили обмен маршрутами с моими маршрутизаторами BGP - и только после этого возможна его нормальная работа, при регулярной оплате услуг этой организации. Это так?
P.S. Рабочая схема:
Code:
ADSL 2500/512 unlim LAN 100 Mb 1Gb/unlim
| | |
| | |
| | |
_____|_____ _____|_|_____asus2
|D-link 604 | |wl500gP |
|192.168.1.1| |192.168.1.2 |
|___________| |_____________| rtorrent
| |
/|\....wi-fi....\|/ |
_____|_____asus1 |
|wl500gP |__________|
|192.168.1.3|
|___________| rtorrent
| ____
|_|HDD |
|____|