Есть ли способ достижения контекстно-зависимых имен путей (CDPN) в NFS?

В моих кластерах GFS я использую функцию CDPN для создания отдельных /dev/log chrooted /dev/log на отдельных узлах кластера:

 / Главная / ftpuser / Foo:
 lrwxrwxrwx 1 корень root 18 сентября 26 2010 dev -> .sys / @ hostname / dev

 /home/ftpuser/foo/.sys:
 drwx - x - x 3 root root 3864 Sep 26 2010 server1.example.com
 drwx - x - x 3 root root 3864 26 сентября 2010 server2.example.com
 drwx - x - x 3 корень root 3864 26 сентября 2010 server3.example.com

 /home/ftpuser/foo/.sys/server2.example.com:
 drwx - x - x 2 корень root 3864 Сен 25 09:34 dev

 /home/ftpuser/foo/.sys/server2.example.com/dev:
 srw-rw-rw- 1 корень root 0 Сен 25 09:23 log

 / home / ftpuser / foo / dev: (прозрачный выбор 1 subdir в зависимости от имени узла)
 srw-rw-rw- 1 корень root 0 Сен 25 09:23 log

Я использую это так, чтобы демон rsyslog на каждом узле не мешал друг другу. Он работает, потому что @hostname в пути заменяется именем хоста, которое интерпретирует его, поэтому разные хосты получают другую директорию. Кластеры активны на всех узлах одновременно.

Мои вопросы:

  • Есть ли способ получить соответствующую функциональность на общем ресурсе NFS?
  • Могло ли это теоретически быть реализовано в ядре linux на всех файловых системах (через параметр mount, чтобы он не разбивал материал по умолчанию)?

Этот вопрос аналогичен, но не идентичен этому: файл NFS с тем же именем, но с другим содержимым, в зависимости от хоста

One Solution collect form web for “Есть ли способ достижения контекстно-зависимых имен путей (CDPN) в NFS?”

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

Установите локальную файловую систему на всех узлах в одном месте, например /local . В этой файловой системе создайте символическую ссылку, цель которой варьируется между узлами и точками в узловой области удаленной файловой системы. Для этого вам не требуется локальное хранилище, это может быть файловая система в памяти; так как ему нужно только сохранить одну символическую ссылку, накладные расходы крошечные.

 mount -t tmpfs -o noexec,nodev,nosuid,mode=755,nr_inodes=2,nr_blocks=2 local-redirect /local ln -s "/nfs/.sys/$HOSTNAME" /local/storage 

Используйте /local/storage где вы должны использовать .sys/@hostname в вашем примере.

Другой подход, основанный на Linux, – это создание привязки на каждом узле. Имейте пустой каталог в общей файловой системе и привяжите-mount @hostname к нему после установки файловой системы NFS.

 mount --bind "/.nfs/sys/$HOSTNAME" /nfs/.sys/@hostname 
  • Инструмент для сброса суперблока Linux VFS
  • Ограничение общего размера vfs_recycle samba путем обрезания самых старых удаленных файлов
  • Сколько контроля над конкретными файловыми системами над кешем inode VFS и кешем буфера?
  • Новый индексный дескриптор при установке новой файловой системы
  • Interesting Posts

    Директива Systemd RequiredBy игнорируется

    Каков безопасный формат жесткого диска для архивирования данных в хранилище данных?

    Как остановить ssh-agent при попытке всех ключей с пересылкой агента?

    ожидание сети в сценарии bash

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

    Как отключить оптическую мышь usb от терминала Ubuntu 14.04?

    Fix 'Введите ключевую фразу для ключа:'

    Как проверить, какой клиент обращается к Unix?

    Как накапливать данные за предыдущие x дней

    Как получить лучшее качество при конвертации из mp4 в avi с помощью ffmpeg?

    Как навсегда изменить разрешение файла / каталога

    Почему я могу подключиться к IP-интерфейсу сетевого интерфейса (на сервере с несколькими сетевыми интерфейсами) при удалении сетевого кабеля?

    Email Отправлено через root@domain.com, несмотря на изменение / etc / aliases

    Как расшифровать зашифрованное LUKS устройство на основе пользователя при авторизации?

    Будут ли компилировать модули make-kpkg?

    Linux и Unix - лучшая ОС в мире.