Мы планируем использовать некоторые функции ZFS, например:
Можно ли передать всю эту функциональность через NFS клиентским машинам Linux?
UPD: Итак, если это невозможно через NFS, какой протокол типа NFS мы должны использовать?
Я читал, что реализация NFS в Gnu / Linux, особенно версия 4, не так надежна, но все равно:
Снимки: они доступны в каталоге .nfs.
Клоны: пока свойство sharenfs наследуется, они автоматически видны клиентам.
Иерархия файловых систем (у каждого пользователя будет своя): Да, хотя это не так уж и характерно для ZFS.
Настраиваемые свойства пользователя: как и другие свойства zfs, они недоступны через NFS.
Обратите внимание, что большинство административных задач (файловая система / создание / удаление / настройка клонов) должны выполняться на стороне сервера, но управление моментальными снимками (создание / переименование / удаление) может быть делегировано удаленным пользователям через каталог .zfs, если им предоставлены необходимые привилегии с помощью команды "zfs allow".
Вы можете создавать моментальные снимки через NFS, создавая каталоги в каталоге .zfs каждого набора данных. Этот специальный каталог может быть скрытым или нет (но все же доступен).
ZFS - это иерархическая файловая система, просто создайте отдельные наборы данных для каждого пользователя в других наборах данных (например, отдел / пользователь1 отдел / пользователь2 и т. Д.). Они унаследуют свойства, или вы также можете их перезаписать.
С клонами вы можете сэкономить место на диске. Если всем вашим пользователям нужен начальный набор файлов в их каталогах, поместите их в набор данных, сделайте снимок и клонируйте для каждого пользователя. Вы не сможете удалить снимок, пока в нем есть клоны.
Свойства настраиваемого набора данных и клоны должны управляться со стороны сервера. Насколько мне известно, существуют проприетарные плагины, которые экспортируют особенности ZFS в VMware и тому подобное. Однако не существует распределенного протокола FS, который позволил бы это сделать. Вы можете создать веб-интерфейс и позволить пользователям манипулировать им.