@Djoesan

Файлы и папки создаваемые приложением идут мимо примонтированной папки NFS — как исправить?

Здравствуйте!

Есть VPS с Debian9 который нуждался в расширении объёма дискового пространства для хранения картинок. На нём есть сервис который грузит картинки для сайта по линкам и записывает их в каталог по подпапкам категорий.
Есть Server с Debian9 и большим диском.

На Server поставлен nfs-kernel-server, добавлен пользователь host1, идентичный пользователю на VPS с теми же uid и gid. В его каталоге была создана папка для изображений /home/host1/img

В /etc/exports Server были прописаны:
/home/host1/img VPS_ip(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)


На VPS поставлен nfs-common и примонтирован каталог home/host1/www/host1.ru/content/img
В /etc/fstab записано:
Server_ip:/home/host1/img /home/host1/www/host1.ru/content/img nfs rw,async,hard,intr,noexec 0 0


Также ещё добавил в /etc/default/nfs-common и Server и VPS:
NEED_IDMAPD=yes

А в /etc/idmapd.conf прописал:
[Mapping]
host1-User = host1
host1-Group = host1


Проблема в том, что примонтированная папка якобы работает - я могу вручную создать в ней файл или папку или копировать со своего рабочего стола через WinSCP, а также дублировать файлы и папки с помощью него же. И всё это видно ви на VPS и на сервере.

Однако, сервис в ней папки и файлы не создаёт, т.е. он пишет что всё проверено-загружено, но в там пусто.
Подумал, может это в нём проблема, решил проверить без монтирования папки и после umount /home/host1/www/host1.ru/content/img увидел, что таки он создал нужные каталоги и загрузил в них картинки.

Т.е. он грузит в эту же папку но локально и это видно только когда делаю umount. Причём проверку на наличие при mount файлы тоже проходят. Как буд-то у меня две разные папки наложены друг на друга.
Как оно это делает и почему я не могу понять, уже всё перепробовал кучу всего перечитал и окончательно замылил мозг.

Прошу направить на истину.
Благодарю!
  • Вопрос задан
  • 347 просмотров
Решения вопроса 1
@Djoesan Автор вопроса
Задачу решил, оказалось всё дело в коде который записывал всё только локально, даже при монтировании.
Проверил простым скриптом проверяющим запись в директорию.

Пришлось переписать весь код под себя - всё работает, но так и не понял почему исходник так себя ведёт. Вроде бы директории вычисляются от рута, а это не должно влиять на расположение папки. Как будто оно ещё и ip рута прописывает. А впрочем я особо и не докапывался.
Встречал ещё один подобный не решённый вопрос на стаке или подобном, но там приложение было на java. Видимо можно как-то извернуться, что бы оно писало исключительно локально игнорируя маунты.

От NFS тоже пришлось отказаться, через день пришла абуза от германского сетевого надзора с предупреждением что portmap может использоваться удалённо для ддос-аттак. Хотя в мануалах на версию 4 пишут что он не нужен и заменён другой службой, почему-то portmap идёт в комплекте. Его конечно можно настроить и прописать порты, но тем не менее.

Установил и настроил SSHFS, она мне показалась немного легче в настройке, хотя в ней есть свои ньюансы. Особенно если ставить её на постоянку с задачей автозапуска после перезагрузки сервера и под конкретного пользователя. Но она лучше подходит если шара нужна для доступа ограниченного количества пользователей.

Должен заметить, что в сети полно разных мануалов копирующих друг друга с разными вариациями и на разные версии, и на NFS и на SSHFS, что по неопытности вводят в заблуждение и не понимание. А официальные доки очень скудны.

Подробно по NFS порекомендую:
1) www.k-max.name/linux/network-file-system-nfs
2) chschneider.eu/linux/server/nfs.shtml

По SSHFS пожалуй стоит начать отсюда: https://wiki.archlinux.org/index.php/SSHFS_(%D0%A0...
А дальше зависит от умений настраивать SSH, доступ по ключам, права и автомонтировщики.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
1) права
2) мягкая ссылка

варианты, когда что-то не пишет в NFS папки я тоже встречал, но сейчас не могу вспомнить
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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