Vitaly Lipatov wrote: >On 19 декабря 2007, Kostarev Alexey wrote: > > >>Slava Dubrovskiy wrote: >> >> >>>Kostarev Alexey пишет: >>> >>> >>>>Можно ли стартовать haspd в контейнере и обеспечить ему >>>>доступ к USB-портам или это в принципе невозможно? >>>> >>>> >>>Ну передаете в контейнер устройство USB и думаю должно >>>заработать. Диск же передается и нормально работает. >>> >>> >>Мне в контейнере необходим доступ к /proc/bus/usb/devices >> >> >Всё же напишите на support@etersoft.ru >И контейнер сделают, и проверят вашу ситуацию, и посоветуют как >быть. >Ну или мы от вас научимся, если сами решите ;) > > Проблему решил, правда не скажу, что корректно... Итак основная проблема для демона aksusbd в контейнере была в пробросе в контейнер каталога /proc/bus/usb/ Сами устройства /dev/... ей не нужны, окромя tty и null которые в контейнере есть. mount --rbind мне в руки НО Я НИКАК НЕ СМОГ СМОНТИРОВАТЬ /proc/bus основной системы в /proc/bus контейнера Команда mount --rbind /proc/bus /var/lib/vz/root/xxx/proc/bus заканчивались ничем по одной постой причене - файловая система proc не позволяет создавать ни каталоги ни файлы. НИКТО НЕ ПОМОЖЕТ МНЕ ОБОЙТИ ЭТО ОГРАНИЧЕНИЕ? Для пробы я попытался монтировать каталог /proc/bus основной системы на каталог /root/bus контейнера. mount --rbind /proc/bus /var/lib/vz/root/xxx/root/bus Монтирование прошло успешно, файл bus/usb/devices успешно читается, каталоги bus/usb/001, .... существуют и доступны в контейнере. Теперь появилась проблнма N2 - как заставить aksusbd читать файлы из каталога /root/bus/usb/ а не /proc/bus/usb/ Я отписал письмо в поддержку etersoft с просьбой добавить в демон aksusbd флаг, позволяющий указывать расположение данного каталога Насколько я знаю у команды aksusbd исходники открыты, закрыты лишь alladin-библиотека (хотя может я ошибаюсь) Тем не менее не дождавшись в течении суток ответа я решил действовать хакерским способом -:) подправил в бинарном коде строки /proc/usb/ на /root/usb/ После этого демон aksusbd задышал Все остальные сервисы (hasplm, ...) запустились, правда я их не проверял. Команда eterkeytest сообщила, что все alladin-ключи видны, правда сообщает с небольшой задержкой. Причем у меня сложилась забавная ситуация - с одними и те ми же ключами работают сразу два менеджера aksusbd - основной и в контейнере. Но на запросы о сетевых ключах, отвечает похоже один из них. Мне важно было, чтобы в контейнере был виден локальный ключ. На текущий момент у меня остались следующие вопросы: 1. Можно ли таки примонтировать каталог в /proc/ 2. В каком месте при запуске контейнера вставить скрипт, монтирующий необходимый мне каталог из основной системы до запуска /etc/init.d/-скриптов контейнера 3. Как отмонтировать примонтированный ресурс Попытка отмонтировать его при работающем контейнере не проходит, хотя с этом каталогом уже никакой процесс не работает (проверял через fuser -v). После останова контейнера каталога /var/lib/vz/root/xxx / уже не существует. Каталог /var/lib/vz/privzte/... в данной ситуации не помогает - в него не монтируется /proc/ Такое ощещение, что отмонтирование надо производить в момент оставнова после всех сервисов контейнеров но до окончательного удаления контейнера. Где бы об этом почитать? -- С Уважением Директор ООО НЕВОД Костарев А.Ф.