Я не уверен, возможно ли это, но я хочу установить общий ресурс nfs (в качестве клиента) и привязать внешнюю eSata материнской платы к общему ресурсу nfs.
Это, вероятно, звучит фальшиво, но у меня есть медиаплеер, который может воспроизводить мультимедиа через eSata, и мне нужен промежуточный блок, который выполняет перевод между eSata и монтированием nfs. (Поскольку этот конкретный игрок ничего не знает о мире nfs).
Может быть, есть способ получше, поэтому я открыт для предложений. (Но это должно не уйти от нфс).
Другая (более неаккуратная) идея, которая у меня есть, - найти внешний USB-накопитель с eSata минимально возможного размера и смонтировать общий ресурс nfs с символической ссылкой на внешнем накопителе, а затем медиаплеер eSata, также подключенный к накопителю.
Спасибо!
Хотя это и не принципиально невозможно, я не верю, что существует какое-либо решение этой проблемы.
Во-первых, если я правильно понимаю ваш запрос - медиаплеер не имеет собственного диска или не использует его здесь - медиаплеер ожидает, что диск будет представлен через eSATA. eSATA - протокол блочного доступа; чтобы предоставить ему такое блочное устройство (диск, который на самом деле не является диском), вам понадобится SATA HBA на вашем конце, работающий в целевом режиме («нормальные» порты работают в режиме инициатора). Это необычно за пределами систем SAN, и там они, как правило, используют Fibre Channel или SAS, а не SATA. Эти настройки поддержки целевого режима сопоставляют (одиночный, большой) файл с LUN, который предоставляется подключенным устройствам. Сервер не знает и не заботится о том, что находится в этом файле; клиентский компьютер должен разобраться в таблице разделов и файловой системе на LUN, прежде чем он сможет добраться до фактического содержимого файла.
Затем медиасервер, вероятно, ожидает, что на «диске», который он видит, будет таблица разделов в стиле DOS и один раздел с разделом FAT (или, возможно, NTFS) на нем. Возможно, он также примет ext2 / 3 - это зависит от того, что он сам запускает.
С другой стороны, NFS - это файловый протокол. Клиент запрашивает файл и получает необработанные данные, не заботясь о файловой системе, в которой находится файл.
Чтобы делать то, что вы хотите здесь, вам нужен промежуточный уровень, который строит внутреннюю структуру некоторой разметки файловой системы, которую медиаплеер может прочитать (наиболее вероятными вариантами являются закрытые стандарты, что усложняет), и отвечает на запросы для те блоки с данными, взятыми из файлов из NFS. Вы можете перечислить содержимое монтирования NFS для создания базы данных, но любые изменения в общей папке NFS необходимо будет повторно включить в представление, подаваемое на медиаплеер. В Linux есть некоторые системные вызовы, которые могут это сделать, но они не работают с монтированием NFS.
Таким образом, безопасный способ сделать это - скопировать содержимое общего ресурса NFS в раздел FAT32, смонтированный с обратной связью, затем размонтировать раздел и экспортировать его как LUN в медиаплеер. Однако у этого есть обратная сторона: нужно хранить все дважды.
Или, короче: извините, это (почти) невозможно.