4

У меня есть два хоста Linux (оба работают под управлением Ubuntu 10.04), и я хочу, чтобы один из них имел доступ к части файловой системы другого. Т.е. Я хочу, чтобы remote1 мог получить доступ к файлам remote2:/home/username

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

Используемые идентификаторы для имени пользователя различаются на каждом хосте по причинам, которые я не буду использовать (аналогично, ADS и т.д.).

Я попробовал самбу, но нашел ее ненадежной. Например, у меня есть программа, которая отслеживает каталог и обновляет список из примерно 12 000 файлов. Я обнаружил, что этот список постоянно меняется с выпадением файлов и случайным образом нечитаемыми файлами. Это было слишком ненадежно.

У меня было что-то очень хорошо работает на Remote1 с:

sshfs remote2:/home/username ~/remote2 -o idmap=user -o uid=$(id -u) -o gid=$(id -g)

Это прекрасно работает некоторое время. К сожалению, remote1 - это ноутбук, который регулярно отключается от локальной сети. Это, кажется, полностью ломает вещи, когда эта файловая система sshfs монтируется, и обычно требуется перезагрузка для восстановления.

Я начал изучать NFS, но несколько лет назад столкнулся с проблемами, связанными с отображением идентификаторов пользователей. В то время я обнаружил, что существует NFS-сервер пользовательского пространства, который занимается этим, но у него есть свои проблемы. Но это был NFSv3. Может ли NFSv4 'сервер ядра' обрабатывать разные идентификаторы пользователей и правильно сопоставлять их? Я действительно не хочу использовать NIS, и я все равно не могу изменить идентификаторы пользователей - они устанавливаются с помощью внешних средств.

Кроме того, как NFS обрабатывает «ненадежное» сетевое соединение? Будет ли он автоматически переподключен или ресурс будет сломан, пока не будет перемонтирован?

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

Есть ли другие варианты, которые я должен рассмотреть?

3 ответа3

1

Я использую NFS в своей локальной сети, и установить символическую ссылку очень просто. https://help.ubuntu.com/community/SettingUpNFSHowTo

Используйте exportfs на исходном ПК и /etc /fstab на другом. Недостатки: требуется, чтобы вы держали широкий диапазон портов открытыми, если только вы не пытаетесь заблокировать один порт (на котором у меня не получилось). Другая проблема заключается в том, что идентификаторы UID /GID даже для одних и тех же имен пользователей различаются на разных машинах. Но это было довольно легко исправить, отредактировав /etc /passwd и /etc /group, а затем поиск, переданный в chown.

0

Это началось как комментарий, но немного вышло из-под контроля ...

Такие сервисы, как NFS и Samba, аналогичны простому файлообменнику в Windows:

  1. прост в настройке,
  2. как правило, являются боровами ресурсов и потому что они являются протоколами доступа к файловой системе общего назначения,
  3. они не преуспевают в описываемых вами ситуациях: ненадежные / прерывистые соединения и перемещение десятков тысяч файлов.

Для вашего мониторинга и обновления я бы использовал rsync, а не nfs или smb ...

Вы все еще можете использовать samba или nfs для простого обмена файлами, просмотра и т.д. Это становится легче и лучше с (почти) каждым выпуском Ubuntu. Начните с щелчка правой кнопкой мыши по папке, которую вы хотите отправить, и выберите «Поделиться папкой», чтобы начать. В 10.04 есть ошибка gnome , которая не предлагает устанавливать необходимые пакеты, но она работает над этим.

0

Для прерывистого использования без подключения coda может быть хорошим выбором (если ограничение на размер файла 2 ГБ не является помехой), даже если настройка и инфраструктура на первый взгляд могут показаться пугающими.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .