Как я могу совместно использовать оптический диск способом, который дурачит клиент в размышление, что это - локальный диск?

Я нахожусь в откровенно смехотворной ситуации, где мой рабочий стол имеет два оптических диска, и мой медиа-центр не имеет ни одного (ни пространство для одного). Прежде чем я рассмотрю что-то как экстремальное значение как покупка внешнего оптического диска, я хотел бы видеть, существует ли способ ограничить мои диски по сети.

Обеими машинами является Ubuntu, и они уже имеют в распоряжении совместное использование NFS для доступа к медиа от рабочего стола.

Причина, которую я спрашиваю (вместо того, чтобы просто экспортировать/media/cdrom) состоит в том, что смонтированная доля NFS не похожа на устройство стиля CD-ROM к удаленной машине. Это значительно мне, потому что мне нужен XBMC, чтобы распознать, что диск как таковой для него обрабатывает диски автоматически и соответственно.

Теперь я не знаю то, что заставляет оптический диск быть похожим на оптический диск к Ubuntu. Если бы я знал, что, вероятно, знал бы то, что я должен был сделать. Я предполагаю, что существуют некоторые горячие udev действие там в какой-то момент.

Есть ли некоторый способ совместно использовать устройство блочного уровня (например, /dev/sr0) в настолько позволяющем оба компьютера для монтирования его отдельно... Я чувствую, что падаю кроличья нора, и я вижу все эти в широком масштабе сверхспроектированные решения как iSCSI и виртуализация передачи, открывающаяся передо мной... Конечно, существует простой способ совместно использовать несколько режимов диска между двумя компьютерами Ubuntu!

10
задан 12 March 2014 в 18:16

2 ответа

Я думаю, что Вы смогли выполнять то, что Вы хотите использовать сетевые блочные устройства (NBD). При рассмотрении страницы Википедии на предмете существует упоминание о названном инструменте nbd. Это состоит из компонента клиента и сервера.

Пример

В этом сценарии я настраиваю CD-ROM на своем ноутбуке Fedora 19 (сервер), и я делю его к системе Ubuntu 12.10 (клиент).

установка
$ apt-cache search ^nbd-
nbd-client - Network Block Device protocol - client
nbd-server - Network Block Device protocol - server

$ sudo apt-get install nbd-server nbd-client
совместное использование CD

Теперь назад на сервере (Fedodra 19) я делаю подобную вещь с помощью ее КОНФЕТКИ диспетчера пакетов. Однажды завершаются, я быстро всовываю CD и выполняю эту команду для деления ее как блочного устройства:

$ sudo nbd-server 2000 /dev/sr0

** (process:29516): WARNING **: Specifying an export on the command line is deprecated.

** (process:29516): WARNING **: Please use a configuration file instead.
$

Быстрая проверка, чтобы видеть, работает ли это:

$ ps -eaf | grep nbd
root     29517     1  0 12:02 ?        00:00:00 nbd-server 2000 /dev/sr0
root     29519 29071  0 12:02 pts/6    00:00:00 grep --color=auto nbd
Монтирование CD

Теперь назад на клиенте Ubuntu мы должны соединиться с nbd-server использование nbd-client как так:

$ sudo nbd-client greeneggs 2000 /dev/nbd0
Negotiation: ..size = 643MB
bs=1024, sz=674983936 bytes

Мы можем подтвердить, что существует теперь блочное устройство на системном использовании Ubuntu lsblk:

$ sudo lsblk -l
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                    8:0    0 465.8G  0 disk 
sda1                   8:1    0   243M  0 part /boot
sda2                   8:2    0     1K  0 part 
sda5                   8:5    0 465.5G  0 part 
ubuntu-root (dm-0)   252:0    0 461.7G  0 lvm  /
ubuntu-swap_1 (dm-1) 252:1    0   3.8G  0 lvm  [SWAP]
sr0                   11:0    1 654.8M  0 rom  
nbd0                  43:0    0   643M  1 disk 
nbd0p1                43:1    0   643M  1 part 

И теперь мы монтируем его:

$ sudo mount /dev/nbd0p1 /mnt/
mount: block device /dev/nbd0p1 is write-protected, mounting read-only
$
это работало?

Напряженность уничтожает меня, и у нас есть старт:

$ sudo ls /mnt/
EFI  GPL  isolinux  LiveOS

Существует содержание LiveCD CentOS, который я смонтировал в ноутбуке Fedora 19 и смог смонтировать его как блочное устройство сети на Ubuntu.

Автоматическое воспроизведение и Автомонтирование?

В вышеупомянутой установке я должен был вручную смонтировать DVD.

В исследовании правдоподобия того, работал ли этот подход с автоматическим воспроизведением и автомонтированием из поля, автоматическое воспроизведение Ubuntu не работает, но nbd-client и nbd-server не легший спать, когда я извлек диск. Когда я отложил DVD в, я смог работать mount команда на Ubuntu, которая повторно смонтировала DVD очень хорошо.

Таким образом, я предположил бы, что Вы могли всунуть правило UDEV о Ubuntu, чтобы обнаружить это изменение и сделать автомонтирование/автоматически воспроизведение автоматически. Я не собираюсь испытывать все это, но я не вижу ничего, что привело бы меня думать, что это не будет работать.

9
ответ дан 16 November 2019 в 15:38

Этот метод также использует NBD, но использует модернизированную конфигурацию вместо этого. Единственные преимущества состоят в том, что Вы не должны запускать сервер вручную, и Вы не получаете ужасное предупреждение депрекации.

После установки nbd-server и nbd-client пакеты продолжают редактировать конфигурационный файл на сервере (/etc/nbd-server/config) и удостоверьтесь, что это выглядит примерно так:

[generic]
# If you want to run everything as root rather than the nbd user, you
# may either say "root" in the two following lines, or remove them
# altogether. Do not remove the [generic] section, however.
    user = nbd
    group = cdrom
    includedir = /etc/nbd-server/conf.d
    allowlist = true

# What follows are export definitions. You may create as much of them as
# you want, but the section header has to be unique.

[dvd]
    exportname = /dev/sr0
    readonly = true

Примечание: [dvd] маркировка выше является заголовком раздела, и это может быть любое слово, которое Вы хотите включенный в квадратные скобки. Это используется, чтобы определить что конкретная доля, так удостоверьтесь, что Вы используете имя, которое просто в использовании и очевидно.

После сохранения изменений в конфигурационном файле или запустите или перезапустите nbd-сервер (пример перезапуска):

sudo service nbd-server restart

Затем назад на клиенте машина соединяются с сервером с помощью команды:

sudo nbd-client -N dvd hostname /dev/nbd0

Примечание: Замена dvd с именем Вы использовали в конфигурации сервера выше, и hostname с именем хоста машины сервера.

Наконец это - просто вопрос монтирования нового общего блочного устройства:

sudo mount /dev/nbd0 /mnt/
3
ответ дан 16 November 2019 в 15:38

Другие вопросы по тегам:

Похожие вопросы: