Настройка DFSN
Эллес поддерживает функциональность Distributed File System Namespaces (DFSN), предоставляя инструменты для работы с пространствами имен и их метаданными, а также обработки запросов клиентов и выдачи им перенаправлений на ресурсы общего доступа.
См. описание доступных подкоманд samba-tool в разделе
«Администрирование DFSN».
|
Общие сведения
Технология DFSN предоставляет единое виртуальное представление для папок общего доступа, размещенных на разных файловых серверах. Конечный пользователь обращается к ресурсам в этом виртуальном представлении, не зная их фактического расположения. Виртуальное представление формируется в виде пространства имен.
Существуют два типа пространств имен:
-
автономное пространство имен — хранит метаданные локально на одном сервере;
-
доменное пространство имен — хранит метаданные в службе каталогов и может обслуживаться несколькими серверами.
Доступ пользователей к ресурсам в пространствах имен осуществляет через обслуживающие их серверы DFSN.
Пространство имен состоит из ссылок на целевые папки, в которых хранятся каталоги и файлы. Одна ссылка может указывать на несколько целевых папок, расположенных на разных серверах. В этом случае клиент получает оптимальный вариант доступа: либо подключение к ближайшему серверу с точки зрения сетевой топологии и доступности, либо равномерное распределение нагрузки между доступными серверами.
Для доступа к целевым папкам используется механизм перенаправлений. При обращении к ссылке сервер пространства имен возвращает клиенту список доступных целевых папок. Этот список содержит адреса серверов, которые могут обслужить запрос. Клиент выбирает конечный сервер с учетом доступности, принадлежности к сайту в структуре службы каталогов и приоритета (если выполнены соответствующие настройки).
Обмен данными при работе DFSN выполняется по протоколу SMB2.
Автономные пространства имен
Автономное пространство имен обслуживается одним сервером DFSN. Все запросы клиентов на доступ к общим папкам обрабатываются этим сервером напрямую, без взаимодействия с контроллерами домена. Метаданные пространства имен в службе каталогов не сохраняются.
Порядок взаимодействия:
-
Клиент отправляет запрос по протоколу SMB2 на сервер DFSN, используя UNC-имя вида \\<FQDN сервера DFSN>\<пространство имен>\<имя папки> (например, \\dfsnserver01.elles.inno.tech\namespace1\documents). Сервер DFSN возвращает список доступных целевых попок, отсортированный в порядке уменьшения доступности.
Например, если клиент и файловый сервер 2 находятся в одном сайте, а файловый сервер 1 — в другом, то первым в списке будет \\fileserver2.elles.inno.tech\namespace1\documents, а вторым — \\fileserver1.elles.inno.tech\namespace1\documents. -
Клиент направляет запрос по протоколу SMB2 на выбранный целевой файловый сервер для доступа к общей папке.
Например, для папки documents запрос будет направлен на \\fileserver2.elles.inno.tech\namespace1\documents.
Клиенты используют кэширование: при повторных обращениях к общей папке по имени пространства имен запросы на сервер DFSN могут не выполняться, а доступ происходит напрямую к целевому файловому серверу.
Доменные пространства имен
В доменных пространствах имен метаданные сохраняются в службе каталогов. Благодаря этому несколько серверов DFSN могут обслуживать одно и то же пространство имен, обеспечивая отказоустойчивость и балансировку нагрузки.
Метаданные доменного пространства имен хранятся в контейнере DFS-Configuration, расположенном в объекте System доменного раздела.
Пример:
CN=Namespace1,CN=Namespace1,CN=Dfs-Configuration,CN=System,DC=elles,DC=inno,DC=tech
Объект метаданных пространства содержит:
-
информацию об общих папках (каждая папка может ссылаться на несколько целевых серверов);
-
сведения о целевых папках на файловых серверах.
Порядок взаимодействия:
-
Клиент обращается к общей папке по UNC-имени вида \\<FQDN ресурсного домена>\<пространство имен>\<имя папки> (например, \\elles.inno.tech\namespace1\documents).
Если в кэше клиента нет актуальных данных о сервере DFSN, выполняется запрос по протоколу SMB2 к контроллеру домена для поиска оптимального сервера DFSN.
В ответ возвращается список серверов DFSN, отсортированный по оптимальности. Клиент выбирает первый в списке и кэширует его. -
Клиент отправляет запрос по протоколу SMB2 выбранному серверу DFSN с путем к общей папке.
-
Если у сервера DFSN нет кэшированных данных о целевых файловых серверах, он выполняет запрос по протоколу LDAP к контроллеру домена для получения метаданных пространства имен. Запрошенные данные сохраняются в кэше контроллера домена.
-
Клиент отправляет запрос по протоколу SMB2 на целевой файловый сервер (например, для папки documents запрос будет направлен на \\fileserver2.elles.inno.tech\namespace1\documents).
Дополнительно при поиске сервера DFSN клиент взаимодействует с контроллерами домена:
-
Если доменное имя ресурса отсутствует в кэше, клиент выполняет запрос по протоколу SMB2 к текущему контролеру домена для поиска домена ресурса.
В ответ возвращается список доменов в текущем и доверенных лесах. -
Если контроллер домена ресурса отсутствует в кэше, клиент выполняет запрос по протоколу SMB2 к текущему контроллеру домена для поиска контроллера в домене ресурса.
В ответ сначала возвращаются контроллеры в сайте клиента, затем — в других сайтах с учетом приоритета; если приоритет не задан, внутри сайта порядок случайный. -
Если сервер DFSN в домене ресурса отсутствует в кэше, клиент выполняет запрос по протоколу SMB2 к найденному контроллеру домена.
В ответ сначала перечисляются серверы DFSN в сайте клиента, а затем — в других сайтах с учетом приоритет; если приоритет не задан, внутри сайта порядок случайный.
Управление DFSN
Управление функциональностью DFSN может выполняться с помощью отдельного клиента, предназначенного для администрирования пространств имен. Такой клиент предоставляет интерфейс для взаимодействия с выбранным сервером DFSN, через который выполняется получение метаданных и внесение изменений. Управление не требует прямого доступа к каждому файловому серверу: операции выполняются централизованно через сервер DFSN, который отвечает за хранение и обработку метаданных (Рис. 3).
Сервер DFSN по умолчанию выбирается автоматически: предпочтительно в пределах того же сайта, где находится клиент, либо в другом сайте. При необходимости сервер может быть указан явно.
Управляющий клиент отправляет RPC-запросы серверу DFSN. Сервер обрабатывает эти запросы и выполняет чтение или обновление метаданных пространств имен.
Поддерживаются следующие сценарии управления:
-
просмотр, создание, удаление и изменение атрибутов пространства имен;
-
добавление и удаление серверов DFSN, обслуживающих пространство имен;
-
просмотр, добавление, удаление и изменение общих папок в пространстве имен;
-
просмотр, добавление, удаление и изменение целевых файловых серверов для общей папки.
Ограничения
В текущей версии Эллес:
-
по умолчанию работа ведется с доменными пространствами имен в режиме Windows Server 2008;
-
не обеспечивается синхронизация содержимого между целевыми папками.
Для этой цели должны использоваться сторонние инструменты (см., например, описание способов настройки синхронизации каталога SYSVOL в разделе «Репликация каталога SYSVOL»).
Предварительные требования
Для успешной настройки пространства имен DFSN должны быть выполнены следующие требования:
-
Сервер Эллес введен в домен в роли контроллера домена.
См. инструкции по развертыванию Эллес в разделе «Создание домена / присоединение к домену». -
Клиенты введены в домен и корректно разрешают DNS-имена серверов, которые будут использоваться в качестве серверов пространства имен, и файловых серверов, где размещаются целевые папки.
-
Пользователь, от имени которого будет выполняться настройка, имеет необходимые права:
-
права локального администратора на сервере Эллес, на котором будет выполняться настройка;
-
при настройке доменного пространства имен — права доменного администратора (член группы
Domain Admins).
-
-
На файловых серверах созданы и настроены общие папки с требуемым набором разрешений.
Настройка работы Эллес в роли сервера DFSN
Если требуется, чтобы экземпляр Эллес в роли сервера DFSN обслуживал пространство имен, выполните следующие действия по настройке:
-
Подготовьте на сервере корневой каталог пространства имен и задайте требуемые разрешения. Например:
sudo mkdir -p /srv/elles/dfsroot sudo chown root:root /srv/elles/dfsroot sudo chmod 0755 /srv/elles/dfsroot
-
Добавьте корневой каталог в конфигурационный файл Эллес smb.conf:
[global] ... host msdfs = yes (1) ... [dfsroot] comment = DFS namespace root path = /srv/elles/dfsroot (2) msdfs root = yes (3) ...Описание параметров в примере:
1 Включение поддержки функциональности DFSN на сервере Эллес (значение по умолчанию). Эллес работает в роли сервера пространства имен DFSN с корневым каталогом, указанным в параметре pathв комбинации с параметромmsdfs root = yes, и отвечает на запросы клиентов к ресурсам общего доступа.2 Путь в файловой системе сервера, к которому привязан общий ресурс. 3 Признак того, что описываемый в разделе общий ресурс является корневым каталогом пространства имен DFSN. -
Проверьте корректность внесенных изменений:
samba-tool testparm
Внесенные в конфигурацию изменения применяются автоматически через 5 секунд после сохранения файла smb.conf.
Настройка пространства имен
Чтобы настроить пространство имен:
-
Создайте корневой каталог пространства имен:
samba-tool dfsn root create "\\\\<domain_name>\\<namespace_name>" "\\\\<target_host>\\<target_path>" -U Administrator
В подкоманде:
-
domain_name— имя домена, в котором настраивается пространство имен; -
namespace_name— имя пространства имен; -
target_host— имя хоста, NetBIOS-имя или полное доменное имя сервера, который будет обслуживать пространство имен; -
target-path— путь к каталогу на сервере, в котором будут размещаться ссылки на общие ресурсы.
Например:
samba-tool dfsn root create "\\\\elles.inno.tech\\namespace1" "\\\\dfsnserver01.elles.inno.tech\\dfsroot"
-
-
Убедитесь, что пространство имен создано корректно. Например:
samba-tool dfsn root get "\\\\elles.inno.tech\\namespace1"
-
Добавьте при необходимости другие серверы для обслуживания пространства имен. Например:
samba-tool dfsn root target create "\\\\elles.inno.tech\\namespace1" --target-path="\\\\dfsnserver02.elles.inno.tech\\dfsroot"
-
Создайте папки. Например:
samba-tool dfsn folder create "\\\\elles.inno.tech\\namespace1\\documents" "\\\\fileserver01.elles.inno.tech\\shared\\documents"
-
Добавьте целевые папки. Например:
samba-tool dfsn folder target create "\\\\elles.inno.tech\\namespace1\\documents" "\\\\fileserver02.elles.inno.tech\\shared\\documents"
-
При необходимости настройте параметры перенаправления. Например, измените время нахождения данных о перенаправлениях в кэше клиентов:
samba-tool dfsn root set "\\\\elles.inno.tech\\namespace1" \ --ttl=900 -
Убедитесь, что запросы клиентов к ресурсам в пространстве имен выполняются успешно.