Добавление резервного сервера DFS

21.01.2010

Итак, описываю процесс создания резервного файл-сервера на DFS (Distributed File System). Сразу оговорюсь необходима Windows R2 на обычной windows server репликация делается совершенно другим способом (при необходимости могу поведать). Еще у меня русский интерфейс ,поэтому вам придется переводить названия команд и консолей если у вас ENG интерфейс.
Основную теоретическую информацию можно почерпнуть на следующих ресурсах:
http://ru.wikipedia.org/wiki/Distributed_File_System
http://www.osp.ru/win2000/2005/04/177684/
Вкратце. Данная технология позволяет использовать сетевые ресурсы в более простой и прозрачной для пользователя форме. К примеру, собрать кучу расшареных ресурсов с серверов в одном месте или сделать отказоустойчивые реплицируемые расшаренные ресурсы в удаленных офисах. Или как в моем случае для того что бы добиться территориально разнесенного резервирования данных с отказоустойчивостью.
У меня есть две серверных (назовем их А и Б), одна их которых (А) основная с правильным питание и пожаротушением. Вторая (Б) просто небольшая комнатка в офисе с минимальным количеством серверов. В соответствии со всеми служебными регламентами по отказоустойчивости и резервированию я должен обеспечить два основных момента:


1. Данные должны быть территориально разнесены (т.е. в случае форс-мажорной ситуации – пожар, теракт и т.п. всегда должна быть вторая доступная копия). В основном форс-мажор на территории РФ это обычный блэкаут по питанию. Если основная серверная будет обесточена, то резервированием дизельгенератора будет обеспечиваться только сетевая инфраструктура, файл сервер в данном случае отключится. В идеале пользователи не должны даже этого заметить, и тут как раз на помощь приходит DFS. При недоступности контроллеров AD и основного сервера DFS их роль примут на себя резервный контроллер в серверной Б. На них уже будет реплицированная копия на текущий момент времени и пользователи смогут править свои данные. После включения основного сервера все обратно переключится на него и пройдет реплика данных.
2. Данные всегда должны иметь резервную копию. Как я уже написал, само наличие второго резервного сервера DFS позволит мне иметь актуальную копию данных файл-сервера на текущий момент времени.

Переходим от теории к практике. Создание основного сервера DFS я пропущу, т.к. в интернете полно подробной информации. Скажу только что при создании как основного, так и резервного сервера необходимо учитывать наличие дискового пространства как для служебных данных DFS, так и для роста объемов в дальнейшем. Будем считать, что у нас уже есть основной сервер server-1 с корнем DFS DATA, общий объем данных на диске под DFS 300 гб, всего объем 500 гб. Минимальный размер диска для второго сервера будет в пределах 400 гб, желательно 500 гб.
Для того что бы создать копию корня DFS на втором сервере (server-2), необходимо на нем запустить службу DFS

После этого на server-1 запускаем оснастку «Распределенная файловая система DFS» или пуск-выполнить: dfsgui.msc /s

На данном этапе мы видим «знакомую» консоль с уже созданным корнем DFS. Оставим ее пока открытой, она нам пригодится в дальнейшем
Далее для того что бы иметь возможность использовать DFS на втором сервере необходимо запустить на нем службу «Распределенная файловая система DFS»


Возвращаемся на главный сервер
В консоли «Распределенная файловая система DFS» вызываем контекстное меню для корня DFS и выбираем пункт Создать корневую целевую папку

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


В результате мы имеем в консоли Распределенная файловая система DFS две корневых папки

Теперь эту консоль можно закрывать и открывать другую
Запускаем оснастку “Управление DFS” или dfsmgmt.msc
Мы видим на вкладке Серверы пространства имен наш второй сервер.

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

Заходим в свойства сервера 1 на вкладке дополнительно ставим галочку «Перезаписать приоритет ссылок» и ставим параметр «Первый из всех конечных объектов»
Для сервера 2 тоже самое, но ставим «Последний из всех конечных объектов».

Однако данные настройки все равно будут играть минимальную роль т.к. помимо приоритетов большую роль играет так называемый ранг. Тот у кого ранг наибольший (в настройке это наоборот наименьшее числовое значение) тот и будет выбираться первым.
Данную настройку нельзя изменять через оснастку и для этого необходимо будет использовать консольную программу dfsutil.exe. dfsutil — входит в состав windows support tools, а сам support tools находится на дистрибутивном диске windows.
Устанавливаем этот полезный во всех отношениях tools/

Смотрим текущий ранг у сервера 2
dfsutil /targetpriority /path:\\domainname\data /server:server-2 /share:data /display
Затем расставляем ранги командой
dfsutil /targetpriority /path:\\domainname\data /server:server-2 /share:data /Set /PriorityRank:31

31 это наименьший ранг из возможных, с ним данный сервер будет выбираться в последнюю очередь или при недоступности сервера 1

Можно посмотреть какой ранг у server-1 и желательно поставить ему ранг 0
что бы было «PriorityClass = GlobalHigh, PriorityRank = 0»

Теперь необходимо синхронизовать (реплицировать) данные с первого сервера на 2

Для настройки репликации на втором сервера необходимо установить и запустить службу репликации DFS
Для того что бы ее установить необходимо в Установке и удалении программ перейти в компоненты windows выбрать компонент Распределенная файловая система
Далее процесс стандартной установки компонент. Необходимо только будет скормить системе второй диск с компонентами R2 или указать альтернативное размещение.

После того как служба будет запущена на втором сервере необходимо на сервере 1 настроить репликацию.
В оснастке “Управление DFS“ переходим в ветку Репликация и на вкладке Членства добавляем новый член репликации выбрав одноименную ссылку в панели Действия

В запустившемся мастере необходимо будет выбрать server-2. Указать куда на сервере будут реплицироваться данные (путь к шаре, в нашем случае это e:\data). Выбрать членов репликации и расписание. После окончания работы мастера у нас на вкладке Членства будет два члена репликации. Собственно после этого репликация начнется в автоматическом режиме и спустя время, необходимо для копирования данных у вас будет полностью реплицированная копия данных.

еще мне сильно помогли вот эти ссылки и весь ресурс в частности
http://social.technet.microsoft.com/Forums/en-US/winserverfiles/thread/de5487c6-bafa-4e20-8294-c4e16c8fcbaf
http://social.technet.microsoft.com/Forums/ru-RU/windowsserverru/thread/0f13e6fa-33e8-4575-8707-11f2a536b4f0

Комментариев нет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *