Я нахожусь в откровенно нелепой ситуации, когда на моем рабочем столе два оптических привода, а в моем медиацентре их нет (и места для одного) нет. Прежде чем рассматривать что-то столь же экстремальное, как приобретение внешнего оптического дисковода, я хотел бы посмотреть, есть ли способ подключения моих накопителей по сети.
Обе машины являются Ubuntu, и у них уже есть общий доступ к NFS для доступа к медиа с рабочего стола.
Причина, по которой я спрашиваю (а не просто экспортирую / media / cdrom), заключается в том, что смонтированный общий ресурс NFS не похож на устройство в стиле CDROM для удаленной машины. Это важно для меня, потому что мне нужно, чтобы XBMC распознал диск как таковой, чтобы он мог обрабатывать диски автоматически и соответствующим образом.
Теперь я не знаю, что делает оптический привод похожим на оптический привод для Ubuntu. Если бы я знал это, я бы, наверное, знал, что мне нужно было сделать. Я предполагаю, что в какой- udev
то момент там есть какое-то горячее действие.
Есть ли какой-нибудь способ совместного использования устройства на уровне блоков (например /dev/sr0
), позволяющий обоим компьютерам монтировать его по отдельности ... Мне кажется, что я падаю в кроличью нору и вижу все эти чрезмерно сложные решения, такие как iSCSI и сквозная виртуализация появляется передо мной ... Конечно, есть простой способ разделить несколько режимов дисков между двумя компьютерами Ubuntu!
ioctl
необходимую для DVD. Я использовал это несколько лет назад для дурной мысли об обмене через сеть, а потом забыл до сих пор ... (лучшая ссылка: linux-mag.com/id/7118 )/media/cdrom
в nfs и смонтировал его на другом конце как/media/cdrom
(и я вижу файлы), но XBMC не обнаруживает смену носителя (он не думает, что точка монтирования - это DVD). Я делаю что-то глупое?mount -o loop
локально на других компьютерах.Ответы:
Я думаю, что вы могли бы достичь того, что вы хотите, используя сетевые блочные устройства (NBD). Глядя на страницу Википедии по теме, есть упоминание инструмента под названием
nbd
. Он состоит из клиентского и серверного компонентов.пример
В этом сценарии я устанавливаю CDROM на моем ноутбуке Fedora 19 (сервер) и делюсь им с системой Ubuntu 12.10 (клиент).
установка делиться CDТеперь вернувшись на сервер (Fedodra 19), я делаю аналогичную вещь, используя менеджер пакетов YUM. После завершения я вставляю компакт-диск и запускаю эту команду, чтобы поделиться им как блочным устройством:
Быстрая проверка, чтобы увидеть, работает ли он:
Монтирование CDТеперь вернемся к клиенту Ubuntu, нам нужно подключиться к
nbd-server
использованиюnbd-client
следующим образом:Мы можем подтвердить, что в системе Ubuntu теперь есть блочное устройство
lsblk
:И теперь мы монтируем это:
это сработало?Ожидание убивает меня, и у нас есть взлет:
Это содержимое LiveCD CentOS, которое я смонтировал на ноутбуке Fedora 19 и смог смонтировать как блочное устройство сети в Ubuntu.
Автозапуск и автонастройка?
В приведенной выше настройке мне пришлось вручную смонтировать DVD.
При исследовании правдоподобия того, будет ли этот подход работать с автопроигрыванием и автоматическим монтированием, автопроигрывание в Ubuntu не работает, а работает
nbd-client
иnbd-server
остается, когда я извлекал диск. Когда я вставил DVD обратно, я смог запуститьmount
команду в Ubuntu, которая прекрасно перемонтировала DVD.Поэтому я хотел бы предположить, что вы можете вставить правило UDEV в Ubuntu, чтобы обнаружить это изменение и автоматически выполнить автоподключение / автозапуск. Я не собираюсь пробовать все это, но я не вижу ничего, что заставило бы меня думать, что это не сработает.
источник
ioctl
что не обрабатывается идеально. Но я смог сделать эту работу на двух машинах archlinux с нулевой икотой! (Archlinux установил клиент и сервер вместе как 'nbd'.)Этот метод также использует NBD, но вместо этого использует новую конфигурацию стиля. Единственными преимуществами являются то, что вам не нужно запускать сервер вручную, и вы не получите уродливое предупреждение об устаревании.
После установки
nbd-server
иnbd-client
пакеты приступить к редактированию файла конфигурации на сервере (/etc/nbd-server/config
) и убедитесь , что он выглядит примерно так:Примечание .
[dvd]
Надпись выше - это заголовок раздела, и это может быть любое слово, которое вы хотите заключить в квадратные скобки. Он используется для идентификации этого конкретного ресурса, поэтому убедитесь, что вы используете имя, которое легко и очевидно.После сохранения изменений в файле конфигурации, либо запустите, либо перезапустите nbd-сервер (пример перезапуска):
Затем снова на клиентском компьютере подключитесь к серверу с помощью команды:
Примечание. Замените
dvd
на имя, которое вы использовали в конфигурации сервера выше, иhostname
на имя хоста сервера.Наконец, нужно просто смонтировать новое устройство с общим доступом:
источник
Negotiation: ..Error: Server closed connection Exiting.
закомментируйте обаuser
иgroup
строки в/etc/nbd-server/config
. Это заставляет запускатьсяnbd-server
под root, у кого есть доступ к вашему/dev/sr0