Управление пространствами имен

Для управления пространствами имен с помощью утилиты samba-tool используется группа подкоманд dfsn root.

См. описание последовательности настройки пространства имен в разделе «Настройка DFSN».

Общие сведения

Пространство имен — логическое представление ресурсов общего доступа, расположенных на разных файловых серверах. Клиенты обращаются к ресурсам не напрямую по именам файловых серверов и папок на них, а через логические пути, которые указывают на объекты внутри пространства имен. При обращении к ресурсу по такому пути выполняется разрешение имени: логический путь преобразуется в фактический путь к общей папке на конкретном файловом сервере.

По типу пространства имен делятся на автономные и доменные: автономное пространство хранит метаданные, описывающие его структуру, локально на одном сервере; доменное — в службе каталогов.

Пространство имен формируется как иерархия объектов:

  1. Корень пространства имен — точка входа для клиентов, доступная по UNC-имени вида \\<FQDN ресурсного домена или сервера>\<пространство имен>.

  2. Папки — логические папки внутри пространства имен, которые связывают корень с фактическими общими папками. Каждая папка указывает на одну или несколько целевых папок.

  3. Целевые папки — фактические общие папки на файловых серверах. При обращении к папке обслуживающий пространство имен сервер возвращает список доступных целевых папок, из которого клиент выбирает оптимальную с учетом сайта, доступности и других факторов.

По умолчанию работа ведется с доменными пространствами имен в режиме Windows Server 2008.

Создание пространства имен

Формат вызова:

samba-tool dfsn root create <dfs_path> <target_path> [options]

В качестве обязательных аргументов ожидаются:

  • путь к корневому каталогу создаваемого пространства имен в формате UNC-имени (например, \\elles.inno.tech\namespace1);

  • путь к целевому каталогу на сервере, который будет обслуживать пространство имен, в формате UNC-имени (например, \\dfsnserver01.elles.inno.tech\dfsroot).

Также с помощью параметров могут быть заданы дополнительные настройки, определяющие:

  • необходимость учета сайта клиента при выдаче ему перенаправлений на ресурсы общего доступа;

  • необходимость учета стоимости соединения при выдаче клиенту перенаправлений на ресурсы общего доступа в других сайтах;

    В текущей версии Эллес учет стоимости соединения не реализован.
  • видимость пользователям ресурсов общего доступа, доступ к которым им не разрешен;

  • возможность обращения к ближайшему контроллеру домена вместо контроллера домена с FSMO-ролью PDC Emulator при получении серверами пространства имен метаданных;

  • необходимость обращения клиента к оптимальному серверу;

  • доступность пространства имен и сервера пространства имен, на котором оно создается при вызове подкоманды;

  • период хранения в кэше клиентов перенаправлений на ресурсы общего доступа;

  • приоритет сервера, на котором создается пространство имен, при обработке клиентских запросов;

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

Подкоманда создает доменное пространство имен в режиме Windows Server 2008 с переданными дополнительными настройками.

После создания в пространство имен могут быть добавлены дополнительные серверы (если это доменное пространство имен), папки и целевые папки.

Параметры

Параметры вызова:

  • --server=DFSSERVERHOST — имя хоста или полное доменное имя (FQDN) сервера пространства имен, используя соединение с которым будет осуществлено изменение; применяется только при необходимости явно указать сервер в нештатных ситуациях;

  • --comment=DESCRIPTION — произвольное текстовое описание пространства имен;

  • --enable-access-based-enumeration=Yes|No — возвращать пользователю только папки и файлы, доступ к которым ему разрешен (значение по умолчанию — False);

    В выводе подкоманд для обозначения флага может использоваться сокращение ABDE.
  • --enable-insite-referrals=True|False — возвращать клиенту перенаправления только в том же сайте, в котором он находится (значение по умолчанию — False);

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

    Если параметр имеет значение False (по умолчанию), возвращаются перенаправления на ресурсы как внутри собственного сайта клиента, так и в других сайтах.

  • --enable-root-scalability=True|False — подключаться к ближайшим контроллерам домена для обновления метаданных (значение по умолчанию — False);

    По умолчанию обслуживающие пространство серверы устанавливают соединение с контроллером домена с FSMO-ролью PDC Emulator.

  • --enable-site-costing=True|False — учитывать стоимость соединения при выборе сайта в случае недоступности целевой папки в том же сайте, в котором находится сервер пространства имен (значение по умолчанию — False);

    Если при вызове подкоманды параметр передается со значением True, сервер пространства имен будет возвращать клиентам перенаправления на целевые папки в следующем порядке:

    1. Целевые папки в том же сайте, в котором находится клиент, в случайном порядке.

    2. Целевые папки, информация о сайтах которых доступна серверу: сначала идут перенаправления на сайт с наименьшей стоимостью соединения в случайном порядке; затем — перенаправления на следующий по стоимости сайт в случайном порядке и т. д.

    3. Целевые папки, для которых у сервера отсутствует информация о принадлежности к тому или иному сайту, в случайном порядке.

    Если параметр имеет значение False (по умолчанию), порядок будет следующим:

    1. Целевые папки в том же сайте, в котором находится клиент, в случайном порядке.

    2. Прочие целевые папки в случайном порядке.

    В текущей версии Эллес учет стоимости соединения не реализован.
  • --enable-target-failback=True|False — требовать использования клиентом оптимального сервера при восстановлении его доступности (значение по умолчанию — False);

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

  • --grant-admin-accounts=User1,UserN — список учетных записей пользователей и групп (через запятую без пробелов), которым будет разрешено создавать, изменять и удалять папки и целевые папки в рамках пространства имен;

  • --referral-priority-class=CLASS — приоритет сервера внутри сайта; возможные значения:

    • GlobalHigh — максимальный приоритет независимо от стоимости соединения для конкретного клиента;

    • SiteCostHigh — максимальный приоритет среди северов с одинаковой стоимостью соединения для конкретного клиента;

    • SiteCostNormal (по умолчанию) — обычный приоритет среди северов с одинаковой стоимостью соединения для конкретного клиента;

    • SiteCostLow — наименьший приоритет среди северов с одинаковой стоимостью соединения для конкретного клиента.

    • GlobalLow — максимальный приоритет независимо от стоимости соединения для конкретного клиента;

    В текущей версии Эллес учет стоимости соединения не реализован.
  • --referral-priority-rank=RANK — приоритет сервера в виде целого числового значения;

    Допустимый диапазон значений — от 0 до 31. Чем меньше число, тем выше приоритет; нулевое значение соответствует наивысшему приоритету.

  • --target-state=STATE — доступность сервера пространства имен для клиентов; возможные значения:

    • Online (по умолчанию) — сервер доступен для запросов клиентов;

    • Offline — сервер недоступен для запросов клиентов;

  • --ttl=TIMETOLIVE — период хранения в кэше клиентов перенаправлений на серверы пространств имен в секундах (значение по умолчанию — 300).

Примеры

Пример создания доменного пространства имен:

samba-tool dfsn root create "\\\\elles.inno.tech\\namespace1" "\\\\dfsnserver01.elles.inno.tech\\dfsroot" \
    --comment="Domain-based DFS namespace" \
    --referral-priority-class=SiteCostHigh \
    --enable-site-costing=true \
    --enable-insite-referrals=true \
    --enable-access-based-enumeration=true \
    --enable-root-scalability=true \
    --enable-target-failback=true \
    --referral-priority-rank=1
...
Create DFS namespace:
DFS path:                 \\elles.inno.tech\namespace1
Target path:              \\dfsnserver01.elles.inno.tech\dfsroot
Site costing:             true
Insite referrals:         true
Access based enumeration: true
Root scalability:         true
Target failback:          true
Time-to-live (sec):       300
Comment:                  Domain-based DFS namespace
Target state:             2 (Online)
Referral priority class:  2 (SiteCostHigh)
Referral priority rank:   1
Result: SUCCESS

Получение информации о пространстве имен

Формат вызова:

samba-tool dfsn root get <dfs_path> [options]

В качестве аргумента ожидается путь к корневому каталогу пространства имен в формате UNC-имени.

Если подкоманда вызывается без указания конкретного пути, она возвращает информацию обо всех пространствах имен в домене.

Для отдельного пространства имен возвращается следующий набор сведений:

  • путь к корневому каталогу пространства имен;

  • режим работы пространства имен:

    • Domain v2 — пространства имен работает в режиме Windows Server 2008;

    • Domain v1 — пространства имен работает в режиме Windows Server 2000;

  • список установленных флагов:

    • ABDE — установлен флаг, указывающий на необходимость возвращать пользователю только папки и файлы, доступ к которым ему разрешен;

    • Cluster enabled (только для автономных пространств имен) — }— установлен флаг, указывающий на то, что пространство имен развернуто в кластере серверов;

    • Insite referrals — установлен флаг, указывающий на необходимость возвращать клиенту перенаправления только в том же сайте, в котором он находится;

    • Root scalability — установлен флаг, указывающий на необходимость подключаться к ближайшим контроллерам домена для обновления метаданных;

    • Site costing — установлен флаг, указывающий на необходимость учитывать стоимость соединения при выборе сайта в случае недоступности целевой папки в том же сайте, в котором находится сервер пространства имен;

    • Target failback — установлен флаг, указывающий на необходимость требовать использования клиентом оптимального сервера при восстановлении его доступности;

  • период кэширования перенаправлений клиентами;

  • доступность:

    • Online — пространство имен доступно для запросов клиентов;

    • Offline — пространство имен недоступно для запросов клиентов;

  • описание.

Параметры

Параметры вызова:

  • --server=DFSSERVERHOST — имя хоста или полное доменное имя (FQDN) сервера пространства имен, используя соединение с которым будет осуществлено изменение; применяется только при необходимости явно указать сервер в нештатных ситуациях.

Примеры

Пример получения информации о пространствах имен в домене:

samba-tool dfsn root get "\\\\elles.inno.tech"
...
Gets settings for DFS namespaces:
DFS path:
Result:

\\elles.inno.tech\namespace1:
Type:               Domain v2
Properties:         Insite referrals, Root scalability, Site costing, Target failback, ABDE
Time-to-live (sec): 300
State:              2 (Online)
Description:        DFS Namespace

\\elles.inno.tech\namespace2:
Type:               Domain v2
Properties:         Insite referrals, Root scalability, Site costing, Target failback, ABDE
Time-to-live (sec): 600
State:              2 (Online)
Description:        Another DFS Namespace

Пример получения информации о пространстве имен с указанием корневого каталога:

samba-tool dfsn root get "\\\\elles.inno.tech\\namespace1"
...
Gets settings for DFS namespaces:
DFS path: \\elles.inno.tech\namespace1
Result:
   Type:               Domain v2
   Properties:         Insite referrals, Root scalability, Site costing, Target failback, ABDE
   Time-to-live (sec): 300
   State:              2 (Online)
   Description:        DFS Namespace

Изменение настроек пространства имен

Формат вызова:

samba-tool dfsn root set <dfs_path> [options]

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

Подкоманда изменяет следующие настройки указанного пространства имен в соответствии с переданными значениями параметров:

  • необходимость учета сайта клиента при выдаче ему перенаправлений на ресурсы общего доступа;

  • необходимость учета стоимости соединения при выдаче клиенту перенаправлений на ресурсы общего доступа в других сайтах;

    В текущей версии Эллес учет стоимости соединения не реализован.
  • видимость пользователям ресурсов общего доступа, доступ к которым им не разрешен;

  • возможность обращения к ближайшему контроллеру домена вместо контроллера домена с FSMO-ролью PDC Emulator при получении серверами пространства имен метаданных;

  • необходимость обращения клиента к оптимальному серверу;

  • доступность пространства имен и сервера пространства имен, на котором оно создается при вызове подкоманды;

  • период хранения в кэше клиентов перенаправлений на ресурсы общего доступа;

  • приоритет сервера, на котором создается пространство имен, при обработке клиентских запросов;

  • список учетных записей и групп, которым выданы разрешения на администрирование пространства имен.

Параметры

Параметры вызова:

  • --server=DFSSERVERHOST — имя хоста или полное доменное имя (FQDN) сервера пространства имен, используя соединение с которым будет осуществлено изменение; применяется только при необходимости явно указать сервер в нештатных ситуациях;

  • --comment=DESCRIPTION — произвольное текстовое описание пространства имен;

  • --enable-access-based-enumeration=Yes|No — возвращать пользователю только папки и файлы, доступ к которым ему разрешен (значение по умолчанию — False);

  • --enable-insite-referrals=True|False — возвращать клиенту перенаправления только в том же сайте, в котором он находится (значение по умолчанию — False);

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

    Если параметр имеет значение False (по умолчанию), возвращаются перенаправления на ресурсы как внутри собственного сайта клиента, так и в других сайтах.

  • --enable-root-scalability=True|False — подключаться к ближайшим контроллерам домена для обновления метаданных (значение по умолчанию — False);

    По умолчанию обслуживающие пространство серверы устанавливают соединение с контроллером домена с FSMO-ролью PDC Emulator.

  • --enable-site-costing=True|False — учитывать стоимость соединения при выборе сайта в случае недоступности целевой папки в том же сайте, в котором находится сервер пространства имен (значение по умолчанию — False);

    Если при вызове подкоманды параметр передается со значением True, сервер пространства имен будет возвращать клиентам перенаправления на целевые папки в следующем порядке:

    1. Целевые папки в том же сайте, в котором находится клиент, в случайном порядке.

    2. Целевые папки, информация о сайтах которых доступна серверу: сначала идут перенаправления на сайт с наименьшей стоимостью соединения в случайном порядке; затем — перенаправления на следующий по стоимости сайт в случайном порядке и т. д.

    3. Целевые папки, для которых у сервера отсутствует информация о принадлежности к тому или иному сайту, в случайном порядке.

    Если параметр имеет значение False (по умолчанию), порядок будет следующим:

    1. Целевые папки в том же сайте, в котором находится клиент, в случайном порядке.

    2. Прочие целевые папки в случайном порядке.

    В текущей версии Эллес учет стоимости соединения не реализован.
  • --enable-target-failback=True|False — требовать использования клиентом оптимального сервера при восстановлении его доступности;

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

  • --grant-admin-accounts=User1,UserN — список учетных записей пользователей и групп (через запятую без пробелов), которым разрешено создавать, изменять и удалять папки и целевые папки в рамках пространства имен;

  • --revoke-admin-accounts=User1,UserN — список учетных записей пользователей и групп (через запятую без пробелов), у которых необходимо отозвать разрешения на создание, изменение и удаление ссылок и целевых папок в рамках пространства имен;

  • --ttl=TIMETOLIVE — период хранения в кэше клиентов перенаправлений на серверы пространств имен в секундах (значение по умолчанию — 300).

Примеры

Пример изменения настроек пространства имен:

samba-tool dfsn root set "\\\\elles.inno.tech\\namespace1" \
    --comment="Updated DFS namespace"
    --enable-site-costing=True \
    --ttl=900
...
Set DFS namespace settings:
DFS path: \\elles.inno.tech\namespace1
Site costing:             true
Time-to-live (sec):       900
Comment:                  Updated DFS Namespace
Result: SUCCESS

Удаление пространства имен

Формат вызова:

samba-tool dfsn root remove <dfs_path> [options]

В качестве обязательного аргумента ожидается путь к корню пространства имен в формате UNC-имени.

Подкоманда удаляет пространство имен со всеми его метаданными. Общие папки и файлы на файловых серверах не удаляются.

Параметры

Параметры вызова:

  • --server=DFSSERVERHOST — имя хоста или полное доменное имя (FQDN) сервера пространства имен, используя соединение с которым будет осуществлено изменение; применяется только при необходимости явно указать сервер в нештатных ситуациях.

Примеры

Пример удаления пространства имен:

samba-tool dfsn root remove "\\\\elles.inno.tech\\namespace1"
...
Remove DFS namespace:
DFS path: \\elles.inno.tech\namespace1
Result: SUCCESS