Windows Server 2019


22.02.2021

Проектирование базовых сервисов на основе Windows Server 2019

 

Часть 5. DFS. Общий каталог.

 

Я снова всех приветствую. Продолжаем поднимать инфраструктуру на нашем воображаемом предприятии. Мы уже много чего достигли, у нас поднята основная инфраструктура на предприятии. Пользователи сели за работу. Мы можем к ним подключаться удаленно со своего рабочего места. Сервера настроены на отказоустойчивость. Но нам ещё нужно много чего сделать и много чего настроить. Задумываясь о высоком мы вдруг слышим телефонный звонок от пользователя. Пользователь просит сделать какой-нибудь каталог, с помощью которого он бы мог обменяться информацией с коллегами, то есть какой-то сетевой ресурс. Он же “Шара”, он же “Public”, он же “Обменник” и так далее. А ещё, говорит пользователь - “Хочу личный каталог на сервере чтобы туда резервировать важные документы”. Мало ли словлю шифровальщика, а  у меня всё останется на сервере. Задача принята - ответили мы.

И так обговорим то что нам предстоит сделать. Нам нужно создать каталог - назовём его “Public”, в котором будем два каталога - первый это “Personal”, где будут личные каталоги пользователей, второй соответственно “Obmen”, это каталог для обмена файлами. И мы конечно понимаем что “Obmen” в конечном итоге превратиться в ту ещё файлопомойку, где пользователи будут именно хранить информацию а не размещать на время пока её не заберёт получатель. Зная это, мы понимаем что под это всё нам нужно немалое дисковое пространство. И у нас оно есть конечно, ведь заказывая сервера мы об этом заранее подумали и у нас теперь есть определённый RAID массив как на первом нашем железном сервере так и на втором. И он логически, конечно не в том же разделе где операционная система “диск C:\” а допустим на “диск D:\”. Не обращайте внимание на размеры разделов на скриншоте, у меня это тестовый стенд для написания статьи. У вас будет всё так как вы решили заранее для ваших продакшн серверов.

 

 

Начнём с того создадим каталог “Public”. Нам нужно создать его как на первом сервере “dc01” на диске “D”, так и на втором нашем железном сервере “dc02” тоже на диске “D”. А также внутри каталога Public - два каталога “Personal” и “Obmen”. Но давайте до создания подкаталогов установим роли DFS:

 

А теперь установим две роли - DFS Namespaces и DFS Replication. Причём сделать это нужно на обоих серверах.

 

 

Отлично, роли установились. Теперь давайте запустим оснастку “DFS Management”:

 

Создаём новое пространство имён - Жмём правой кнопкой по пункту “Namespaces” - и выбираем “New Namespace...”

 

Указываем наш первый железный сервер dc01, на котором мы собственно сейчас и работаем:

 

Вписываем предложенное в примере название “Public” и жмём “Edit Settings...”

 

В настройках пространства имен можно оставить всё как есть:

 

Далее мастер спросит тип пространства имён - мы конечно оставляем выбор на доменном а не на самостоятельном:

 

Остается сверить параметры и нажать “Create”:

 

Пространство имён успешно создано:

 

Теперь вернёмся к каталогу Public на диске D сервера DC01. Внутри создаём каталог “Obmen” и даём права на сетевой доступ для всех на запись:

Даём доступ всем на чтение и запись:

 

Жмём кнопку Share и затем Done. Теперь создаём каталог “Personal” и тут мы для всех делаем доступ только чтение:

 

 

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

И очень важный момент - нужно проделать те же действия на сервере DC02. То есть подготовить каталоги на обоих серверах прежде чем добавлять их в пространство имён.

 

Теперь добавим каталог в наше пространство имён. Выделяем наше пространтсво “\\brn.mrstudio22.ru\Public” и жмём спарва на пункт “New Folder” либо просто правой кнопкой по пространству и “New Folder”:

 

Жмём кнопку Add - Выходим на сервер DC01, выделяем заранее сделанную шару “Obmen” И просто жмём OK:

 

 

Не забудьте вписать имя каталога:

Мы создали каталог пространства имён “Obmen”, у которого есть сетевой путь “\\DC01\Obmen”:

Но нам ничего не мешает добавить ещё одно расположение этого каталога. Или как по терминологии DFS - “Folder target”. Да это магия DFS - у одного каталога может быть несколько сетевых расположений! И как вы можете догадаться нам нужно указать расположение на нашем втором железном сервере DC02.

Выделив нужный каталог в пространстве имён жмём справа в действиях “Add Folder Target”:



 

Выходим на сервер DC02 и добавляям такую же сетевую шару “Obmen”:


 

 

Тут мастер, увидев два разных сетевых расположения у одного каталога пространства имён, логично нас спрашивает - а не хотим ли мы настроить репликацию, и мы конечно соглашаемся:


 

Откроется мастер создания группы репликации для каталога “Obmen”:

 

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

 

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

 

Далее нужно указать главный сервер. Мы укажем DC01. Следствием этого будет то что в каталоге “\\DC02\Public\Obmen” удалится всё чего нету на данный момент в каталоге “\\DC01\Public\Obmen”. То есть это критичный момент для самой первой синхронизации. Но так как оба наших каталога пустые то бояться нам нечего. 

 

Топологию оставляем предложенную “Full mesh”

 

У нас репликация будет в рамках локальной сети поэтому пропускную способность оставляем по полной “Full”:

 

Далее просто жмём “Create” и “Close”:

Система предупредит нас о задержке в процессе репликации: 

 

Теперь абсолютно те же действия нужно провернуть с каталогом “Personal”:

 

Каталог добавили и теперь точно также добавляем ещё один сетевой путь и затем репликационную группу:

 



 

А теперь давайте сделаем так чтобы наша система не зависела только от сервера DC01. Мы добавим сервер DC02 в список серверов пространства имён. Выделив наше пространство имён мы в правой части жмём “Add Namespace Server..”:

 

Находим через кнопку “Browse” либо просто прописываем DC02:

В списке Namespace Servers добавилась запись второго севрера “\\DC02.brn.mrstudio22.ru\Public”. Это обеспечит нам отказоустойчивость при внезапном отключении одного из серверов.


 

А давайте заглянем в корень пространства имён а именно в сам каталог “C:\DFSRoots\Public”. И мы видим тут ярлыки настроенных наших каталогов:

 

Мы только что добились того, что у нас теперь есть некий сетевой путь “\\brn.mrstudio22.ru\Public” обратившись к торому пользователи смогут работать со своим личным каталогом и обменным файлохранилищем. И причём данные синхронизируются между двумя серверами. И потеря одного сервера не повлияет на работу пользователей. С обменом уже работать точно можно, а вот личные каталоги это уже интереснее. 

Прежде всего запомним для себя три золотых правила организации общего доступа к каталогам:

Первое - Доступ делаем для группы а не пользователей!

Второе - Доступ делаем для группы а не пользователей, даже если в группе будет только один пользователь!

Третье - Смотри два предыдущих правила!

 

Итак у нас есть пользователь Лазарева Светлана - давайте создадим ей личный каталог и убедимся что другие пользователи не могут туда зайти. Я находясь на сервере DC01 в сеансе доменного администратора, захожу через проводник в каталог Public\Personal на диске “D” и создаю каталог “lazareva.svetlana” для Светланы Лазаревой исходя из названия учётной записи:

 

 

Теперь перехожу в оснастку “Active Directory Users and Computers” и создаю группу “lazareva_svetlana”.

 

И конечно же включим в эту группу учётную запись Светланы:

 

Теперь возвращаемся к каталогу “lazareva.svetlana” - жмём правой кнопкой и выходим на свойства каталога. Далее вкладка “Sharing” и затем кнопка “Share”:

 

В выпадающем списке выбираем “Find people”

 


 

В списке находим группу “lazareva_svetlana” и даём ей доступ на запись “Read/Write”. А также доступ для всех “Everyone” - убираем:

Я зашел на второй сервер DC02 и в свойствах каталога увидел что данные доступа незамедлительно отреплецировались:

 

Проведём эксперимент - заходим на рабочую станцию под пользователем “lazareva.svetlana” - проходим на сетевой путь “\\brn.mrstudio22.ru\Public” заходим в каталог Personal\lazareva.svetlana - создаём каталог или файл. Всё успешно. А теперь заходим на рабочую станцию под другим пользователем Елисеевой Анной - и мы даже не видим каталог Светланы. Это то чего мы и добивались. 

Не забудьте самое важное в такой настройке DFS - нужно сначала просто в проводнике создать каталоги, затем дать им нужные права - а затем при добавлении каталогов в пространстве имён просто выбрать их из списка. НЕ СОЗДАВАТЬ их в процессе добавления каталога в пространство имён а именного выбрать уже настроенные шары. Иначе вы просто не сможете разграничивать права в подкаталогах.

Мы уже много достигли, но для того чтобы пользователям было проще обращаться к общим каталогам давайте подключим сетевой диск на все рабочие станции при помощи GPO.

Создаём объект групповой политики с названием “Map_drive_N”:

Пристыкуем наш объект групповой политики к главному подразделению “Barnaul” чтобы действовало на весь филиал:

 

Теперь настроим политику:

 

User Configuration - Preferences - Windows Settings - Drive Maps - далее справа New - Mapped Drive:

 

На вкладке General - Action оставляем “Update”. Location - тут выставляем путь нашего пространства имён “\\brn.mrstudio22.ru\Public”. Ставим галку Reconnect. И букву диска меняем на “N”.

 

На вкладке Common - галочку на “Run in logged-on user’s security context”.

 

Ждём когда политика приминится и проверяем:

 

На этом всё. Переходите в следующие статьи.