Назад | Перейти на главную страницу

Как можно смонтировать том NFS «с фиктивной записью»?

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

Чтобы избавиться от этой нагрузки на инфраструктуру, я ищу способ подделать программное обеспечение, сделав том NFS доступным для записи, предоставив файлам разрешения на запись, но фактически не фиксируя изменения.

Мне вспоминаются инструменты для перемотки журнала, например Морозильник на томах Windows NTFS. Есть ли аналогичный хак для монтирования NFS? При присвоении этому тегу вопроса "unionfs" всплывал как совпадение с "nfs". Это также метод разрешения «поддельной записи» на Live CD. Я сейчас иду в этом направлении, но надеюсь, что кто-то уже это сделал.

Еще одно ограничение заключается в том, что от пользователей часто требуется использовать устаревшие версии программного обеспечения от нескольких поставщиков; что означает, что исправление ошибок от поставщиков поможет только новейшим версиям.

Лучший способ - попросить поставщика исправить программное обеспечение, как сказали другие.

Также проверьте лицензию. Некоторое программное обеспечение не любит, когда его запускают совместно на файловом сервере (включая совместное использование данных на файловом сервере). В этом случае вам может быть запрещено запускать его таким образом. Затем просто скопируйте все файлы шаблонов на локальный диск каждого пользователя. Диски дешевы, если вы не используете SSD.

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

Вы можете создать собственную виртуальную файловую систему пользовательского пространства, такую ​​как vfs или fuse, которая имитирует режим чтения-записи, что может потребовать некоторого программирования.

Ты пробовал overlayfs . Это может не настоящие записывает и сохраняет все изменения, если таковые имеются, локально.

Поскольку это netapp, вы можете создать (тонкий) клон тома и поделиться им с клиентами. Его можно было прочитать, но каждую ночь удалять и воссоздавать. Это немного отличается от восстановления из снимка, как я сказал в комментариях, поскольку исходная FS жестяная банка быть RO (или просто не распространяться), поэтому вы никогда не рискуете случайно изменить содержимое.

В противном случае, как говорили другие, стоит изучить zsync в локальное хранилище.

Ночная копия

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

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

(Пользователя «принудительно поощряют» избегать попыток сделать это вручную в течение дня, сделав формат исходного файла чем-то непонятным, например, cpio-архивом сжатых фрагментов 7z.)

Я даю другим возможность ответить и изучаю другие предложения, прежде чем я «приму» свой дурацкий обходной путь.

Дедупликация NetApp

В соответствии с Документация NetApp, дедупликация - это тихий способ выполнить именно то, что мне нужно. Просто будет одна «библиотека» на пользователя, и каждый пользователь получит доступ к своей личной «копии». Затем ONTAP позаботится о бухгалтерском учете.

Мастер-копия будет храниться вне поля зрения; и это будет использоваться для создания новой копии для каждого пользователя или обновления пользовательской копии.