Пятница, 22.11.2024, 10:27
Ellion Digital Inc
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Berserk, Developer  
Монтирование NFS ресурсов
gva_vikДата: Четверг, 07.04.2011, 21:55 | Сообщение # 1
Лейтенант
Группа: Проверенные
Сообщений: 45
Статус: Offline
Задача:
Есть сетевой девайс, на котором поднят только NFS сервер. В моем случае это пишущий спутниковый рессивер Dreambox 600 PVR.
Необходимо записи с него просматривать на плеере (почему не с самого ресивера - ресивер в другой комнате, или в данный момент что-то записывает). Поднять на нем самбу для меня (абсолютно ничего не смыслящего в линуксах) нереально.
Началось все с этого совета:
Quote (Developer)
Для начала попробуйте в командной строке примонтировать nfs раздел
mount -o rsize=1024,wsize=1024 ИМЯ_УДАЛЕННОЙ_МАШИНЫ:/МОНТИРУЕМЫЙ_ПУТЬ /ПАПКА_В_КОТОРУЮ_МОНТИРУЕТЕ
Если получится (в ядре поддержка nfs есть) - можете смело прописывать эту команду
в конец файла /usr/local/etc/rcS1 и монтирование будет происходить при запуске
После монтирования можно еще сделать симлинк в папку /tmp/public (или ramfs точно не помню, посмотрите в mc), чтобы она была видна в браузере проигрывателя.

Дальше опишу свои действия и свои комментарии по ответам на мои действия.
Надеюсь общими усилиями сможем подобную задачу решить.
После ее решения обязуюсь все описать в виде подробного мануала (для чайников) - с картинками и примерами biggrin

Добавлено (07.04.2011, 09:48)
---------------------------------------------
Итак что получилось: (возможно что-то делаю не так)

зашел на плеер по SSH (пароль не помнил, сменил в WEB интерфейсе), логин - root (использовал для этого программку putty)

Ввел в коммандной строке mc (дабы интерфейс был более понятным - получае нечто вроде Norton Commander, или FAR Manager, возможно (я не поьзуюсь им) Total Commander - потом в общем мануале выложу скриншот smile )

создал директорию Dreambox - путь к ней получился /usr/local/etc/root/Dreambox

Далее набрал
mount -o rsize=1024,wsize=1024 192.168.1.110:/hdd/movie /usr/local/etc/root/Dreambox
Ответа почти никакого и в директории ничего не появилось, набрал ls - где-то через минуту (может и больше) ls отработал и в директории появились так нужные мне файлы - вывод, моунт происходит достаточно долго, не менее минуты.
Мои ошибки при вводе данной команды - поставил пробел между rsize=1024, и wsize=1024 - результат отрицательный.
Очень хотелось бы увидеть комментарии - что это за команда и что в ней означает каждый символ (для общего развития), есть конечно help по данной команде, но лучше расписать конкретно данную.

Итак - монтирование прошло успешно. Теперь надо все это счастье показать где-то в общем меню.
Далее ввел
ln -s /usr/local/etc/root/Dreambox /tmp/ramfs/volumes/Dreambox

И вуаля - на плеере в разделе HDD появился пункт Dreambox с необходимыми мне файлами. Все проигрывается и работает.

В директории /usr/local/etc/ нашел только файл *rcS
В него добавил в конец
mount -o rsize=1024,wsize=1024 192.168.1.110:/hdd/movie /usr/local/etc/root/Dreambox

При выключении кнопкой (с пульта)и включении все работает - причем достаточно быстро появляются все что мне надо.
Причем все это не теряется даже если в файле ничего не записывать. Т.е. моунт и линк работают до полного отключения питания.
Но как только отрубил питание тумблером сзади и включил - ничего не получил.
Ни линка на директорию, ни маунта в оную cry .

Что мне и где прописать, чтобы все это не терялось после отключения питания? wacko
Если это возможно - счастью моему не будет предела.

Не оставьте меня, пожалуйста, без ответа. cry
Во всех этих линуксах я полный ноль.
Думаю я ни один такой с подобными желаниями - мой опыт послужит другим.... smile

-----------------------------------------------
Комментарий на мой пост:

Quote (Developer)
а ln -s /usr/local/etc/root/Dreambox /tmp/ramfs/volumes/Dreambox ?
первая команда у вас только монтирует, а ссылку тоже нужно каждый раз создавать!

Отвечаю:
К сожалению проблема не только в отсутсвии линка, но команда моунт также не отрабатывает.
Я прождал около 10 минут, но в директории, в которую должен был смонтировать директорию с рессивера, ничего не появилось.

Для проверки создал вторую, выполнил команду монтирования в нее и через пару минут в ней появились файлы. В первой директории так ничего не появилось.

Вывод, который я могу пока сделать для себя, команда в файле *rcS в директории /usr/local/etc/ не отрабатывала вообще.

Может есть возможность вывести результат выполнения команд в какой-нибудь файл - дабы как-то просмотреть что делается и делается ли вообще.

Добавлено (07.04.2011, 21:55)
---------------------------------------------
Кажется поборол biggrin
Еще пару тройку тестов для уверенности и, надеюсь, подтвержу свое высказывание.
Еще раз выражаю глубокую признательность Developer booze


Ellion MR-3150E (Hyundai M-Box HMB-R3150S)
WD20EARS
 
BerserkДата: Четверг, 07.04.2011, 22:45 | Сообщение # 2
Генерал-полковник
Группа: Администраторы
Сообщений: 1068
Статус: Offline
Вах, говорите "Во всех этих линуксах я полный ноль" hands
тогда мое знание линукса вообще в минусах biggrin
ждем подробного мануала для чайников


HMR-500H
WD20EARS
Прошивка для установки moServices 3
TV Samsung PS42C91HR
 
gva_vikДата: Четверг, 07.04.2011, 22:55 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 45
Статус: Offline
Quote (Berserk)
Вах, говорите "Во всех этих линуксах я полный ноль"
тогда мое знание линукса вообще в минусах
ждем подробного мануала для чайников

Честно говоря - крутил две команды слева-направо, справа-налево.
Спосибо админу с работы - подсказал, что должен быть обязательно скрипт для запуска, причем не один. Ну и, конечно, Developer - он, таки, оказался прав.
Заранее скажу, первый моунт в скрипте почему-то не проходит, а второй выполняет все, что мне нужно biggrin
Мануал, естественно, будет.
Сейчас с мыслями соберусь, картинок наделаю - кстати - куда их кидать?


Ellion MR-3150E (Hyundai M-Box HMB-R3150S)
WD20EARS
 
gva_vikДата: Четверг, 07.04.2011, 23:17 | Сообщение # 4
Лейтенант
Группа: Проверенные
Сообщений: 45
Статус: Offline
Итак мануал biggrin :
--------------------------------------------
Для начала загрузив плеер заходим на него через SSH. Пароль я не помню, искать лень, поэтому поменял его через Web интерфейс.
В Internet Explorere набрал IP адрес своего плеера (у меня он 192.168.113.102), ввел логин admin, пароль 1234
Там в разделе настройки есть кнопка - Изменить пароль для SSH

Дальше заходим на плеер по SSH, я пользовался для этого программкой putty (наверное можно пользоваться телнетом, я не пробовал)
Вот внешний вид этой программульки

выбираем протокол SSH, вводим IP адрес плеера (можно сохранить параметры сессии) и нажимаем кнопку Open
Появляется окошко с предложением ввести логин:

вводим root - жмем Enter
вводим пароль (тот который сменили, или по умолчанию, которого я все равно не знаю smile ) - жмем Enter
Появляется такое вот окошко

Прикрепления: 2189909.jpg (42.6 Kb) · 1240749.jpg (14.8 Kb) · 1558154.jpg (18.1 Kb)


Ellion MR-3150E (Hyundai M-Box HMB-R3150S)
WD20EARS


Сообщение отредактировал gva_vik - Четверг, 07.04.2011, 23:54
 
gva_vikДата: Пятница, 08.04.2011, 21:13 | Сообщение # 5
Лейтенант
Группа: Проверенные
Сообщений: 45
Статус: Offline
Здесь вводим mc и жмем Enter
Видим следующее:

Только директории Dreambox у вас быть не должно smile .
Жмем F7 - создать директорию:

Вводим название и жмем Enter
Далее выходим в каталог выше и попадаем в /usr/local/etc

Здесь есть файл rcS - на картинке второй снизу.
Стрелками ставим курсор на него и жмем F4 - попадаем в редактирование файла

Добавлено (07.04.2011, 23:43)
---------------------------------------------
Идем в конец файла, и добавляем несколько строк:

Я также оставил пустую строку после последней строки в файле и добавил свой комментарий (вначале строки для комментария ставим #)

Code

# Мапирование NFS диска спутникового ресивера
mount -o ro 192.168.113.110:/hdd/movie /usr/local/etc/root/Dreambox
ln -s /usr/local/etc/root/Dreambox /tmp/ramfs/volumes/Dreambox
mount -o ro 192.168.113.110:/hdd/movie /usr/local/etc/root/Dreambox
# ---------------------------------------------------------------------------------

Немного распишу, что здесь что:
команда mount - монтирует рессурс в существующую директорию
опция -o в ней - это аттрибуты доступа - в моем случае ro - это только чтение, может быть rw - чтение и запись
192.168.113.110 - IP адрес моего дримбокса
двоеточие в конце, если не ошибаюсь указывает что это NFS
/hdd/movie - путь к записям на моем ресивере - нашел просто зайдя в FAR Manager'е по FTP на свой ресивер.
/usr/local/etc/root/Dreambox - путь куда будем мапировать ресурс

Следующая строка:
ln -s - создает символическую ссылку
/usr/local/etc/root/Dreambox - ресурс на коорый мы ссылаемся
/tmp/ramfs/volumes/Dreambox - путь где мы это увидим

Увы одной команды mount мне не хватило. Мапирования не произошло, а вот повторное мапирование проходит успешно.
Наверное можно первую команду mount заменить какой-нибудь паузой - но я таких команд не знаю.

После этого сохраняем файл - жмем кнопку F2 и выходим из редактора кнопка Esc (мне приходится ее нажимать 2 раза - может так и должно быть)
После этого закрываем SSH - я просто закрыл putty - возможно надо закрывать сессию.
И перегружаем плеер - обязательно с выключением питания.

Далее по времени (время буду указывать от момента включения плеера):
Через 30 секунд плеер загрузился
45 секунд (т.е. еще через 15) подмонтировался жесткий диск и плеер стал реагировать на пульт - можно наслаждаться функционалом smile
Через 3 минуты 40 секунд в разделе HDD можно увидеть вместе с жестким диском (дисками) пункт Dreambox, но пустой - это отработала первая команда mount и создание символической ссылки
Через 5 минут 10 секунд (возможно чуть раньше) в директории появились файлы с ресивера.

Можно пользоваться biggrin

Добавлено (07.04.2011, 23:47)
---------------------------------------------
Теперь после выключения плеера с пульта и включения, после подключения жесткого диска в разделе HDD можно сразу найти наш ресурс и все файлы в нем будут присутствовать.
Если пришлось выключить питание плеера, то ресурс будет доступен где-то через 5 минут.

Вот и все biggrin

Надеюсь данный мануал достаточно подробный и им смогут воспользоваться все желающие.
Если есть вопросы - с удовольствием отвечу.

Добавлено (07.04.2011, 23:53)
---------------------------------------------
Да, забыл написать, что в линуксе, как я понимаю, регистр букв имеет значение, так что, будьте внимательны prof

Добавлено (08.04.2011, 11:53)
---------------------------------------------
Пообщался сегодня с админом - говрит, что таким ламерам, как я, надо руки отрывать, а не зверька мучить smile

Сейчас не дома - проверить не могу, но должна быть папка /etc/init.d
В ней должны быть несколько папок, какждая из которых указывает уровень загрузки.
Нас должна интересовать папка rc3.d - это вроде бы как пользовательский уровень загрузки, или что-то типо того - т.е. уровень, где все уже устаканилось.

ИМХО, первый моунт не проходит, наверное, потому, что сеть в момент ввода команды еще не проинициализировалась. Отсюда и время задержки почти 3 минуты и отсутствие результата - это все мои предположения.

Если команду перенести в 3 уровень (rc3.d) - там все уже должно быть.
Короче - еще один вечер копания в неизвестной мне среде гарантирован (жена точно выгонит из дома biggrin ) - хотя пока я относительно счастлив - все работает smile

Как будут результаты - отпишусь.

Добавлено (08.04.2011, 11:57)
---------------------------------------------
Кстати - папка init.d точно есть - на скриншоте ведь видна smile
Судя по всему * - в начале имени файла - это символическая ссылка на файл
Блин - почему я в детстве линукс не изучал, хотя и компьютеров (персональных) тогда еще не было biggrin

Добавлено (08.04.2011, 21:07)
---------------------------------------------
Ничего у меня не получилось - папка есть, директорий в ней нет.
Пытался создавать, создавал кучу фалов, писал в них что-то в логи - при запуске они не запускаются.
Похоже единственное место, где можно что-то всунуть при старте - это файл /usr/local/etc/*rcS
Что означает * - в mc перед именем файла - так и не понял. Файл железный.

Поступил по совету Developer

Quote (Developer)
Добавьте в /usr/local/etc/rcS перед запуском transmission: sleep 30
чтобы он стартовал после определения дисков
Вообще всем рекомендую после строки
# Additional services ================================================
добавить эту команду, т.к. все они так или иначе связаны с жестким диском, флешками и т.д.

поставил в скрипт sleep, только для подстраховки я поставил 60 секунд, а не 30 (возможно это и лишнее).
Убрал второй моунт - все работает. 60 секунд задержки хватает вполне.

Можно пользоваться.
Сейчас поправлю мануал......

Добавлено (08.04.2011, 21:13)
---------------------------------------------
Не получается у меня поменять мануал - слишком длинное сообщение sad

Прикрепления: 3693280.jpg (73.0 Kb) · 6669484.jpg (67.8 Kb) · 9181828.jpg (86.8 Kb) · 2373815.jpg (57.6 Kb)


Ellion MR-3150E (Hyundai M-Box HMB-R3150S)
WD20EARS


Сообщение отредактировал gva_vik - Четверг, 07.04.2011, 23:50
 
  • Страница 1 из 1
  • 1
Поиск: