GrabDuck

Infoplex Blog

:

Начиная с Windows Server 2008 компания Microsoft выпустила вариант серверной операционной системы с минимальным графическим интерфейсом. Именовался он Server Core. Аналогичный вариант был и для Windows Server 2008 R2. Это был шаг вперед после многих лет выпуска серверных операционных систем только с полным графическим интерфейсом, который «отъедал» часть ресурсов системы. Вариант Server Core поддерживал не все серверные роли, но после установки занимал меньше места на жестком диске, обладал меньшем полем для атаки, требовал меньше обновлений и перезагрузок. Однако, после установки варианта Server Core не было возможности переключиться обратно на полный графический интерфейс. Вариант был только один – полная переустановка операционной системы. Эта неприятная особенность была исправлена с выходом Windows Server 2012 и 2012 R2. После установки сервера с полным графическим интерфейсом его можно было переключить в Server Core и наоборот. Windows Server 2012 привнес и еще один вариант – MinShell. Это что-то среднее между вариантом с полным графическим интерфейсом и минимальным графическим интерфейсом.

С появлением новой версии серверной операционной системы Windows Server 2016 компания Microsoft представила еще один вариант – Nano Server. Nano Server – это дальнейшее развитие варианта Server Core. Данный вариант серверной операционной системы позиционируется, как ОС для центров обработки данных и частного облака.

Подробно ознакомится с назначением и сценариями применения Nano Server можно на всеми любимым TechNet - https://technet.microsoft.com/library/mt126167.aspx?wt.mc_id=DX_836392

Нашей целью является на примере рассмотреть Nano Server при развертывании двухузлового Scale-Out File Server.

Подробно ознакомится с описанием и назначением Scale-Out File Server можно по следующей ссылке - https://technet.microsoft.com/en-us/library/hh831349(v=ws.11).aspx

Что же, давайте приступим: Используемый гипервизор – Windows Server 2012 R2.

Первым шагом необходимо определить архитектуру решения – мы будем использовать кластер из двух узлов. В качестве общего хранилища применим роль iSCSI target, развернутую на контроллере домена (АХТУНГ! использовать такой вариант только в демонстрационной среде). Добавляем в наш кластер диск-свидетель. Дополнительно добавим диск для хранения данных. Кворумная модель кластера – большинство узлов и диск-свидетель. Можно, конечно, не добавлять диск-свидетель, поскольку динамический кворум включен по умолчанию. Однако, при двух узлах в кластере мы очень не рекомендуем это делать, т.к. выход из строя единственного узла кластера, который обладает правом голоса равносильно выходу из строя всего кластера.

В таблице представлен необходимый набор серверов:

Имя сервера

Назначение сервера

Версия ОС

DC01.sandbox.local

Контроллер домена

DNS-сервер

DHCP-сервер

iSCSI target

Windows Server 2012 R2 Full GUI

SOFSNANO01.sandbox.local

Узел кластера

Windows Server 2016 Nano Server

SOFSNANO02.sandbox.local

Узел кластера

Windows Server 2016 Nano Server

Все сервера, перечисленные в таблице 1, являются виртуальными машинами второго поколения, развернутые на Windows Server 2012 R2.

Схема архитектуры приведена на рисунке:

image

"План работ" выглядит следующим образом:

  1. Создать образы Nano Server для двух узлов кластера.
  2. Создать виртуальные машины и присоединить готовы VHDX диски.
  3. Первоначальная настройка Nano Server.
  4. Присоединить будущие узлы кластера к тестовому домену sandbox.local.
  5. Настроить общее хранилище.
  6. Настроить подключение узлов кластера к общему хранилищу.
  7. Создать и настроить отказоустойчивый кластер.
  8. Добавить в отказоустойчивый кластер роль Scale-Out File Server.

1. Создание образов Nano Server для двух узлов кластера

Поскольку отдельного готового дистрибутива для Nano Server не существует, то самым первым шагом на пути к реализации нашего решения будет создание VHDX диска для двух узлов кластера.
Для этого нам понадобятся:
−    Образ дистрибутива Windows Server 2016 TP5 (последний на момент написания статьи).
−    Рабочая станция, на которой мы будем выполнять операции по созданию образов. В нашем случае это Windows Server 2016 TP5 Full GUI
Копируем папку «NanoServerImageGenerator» с образ дистрибутива Windows Server 2016 TP5. Например, в корень локального диска C:
image

Затем, запускаем консоль PowerShell от имени администратора и импортируем из папки «NanoServerImageGenerator» модуль для генерации образа NanoServer:

Import-Module .\NanoServerImageGenerator -Verbose

image

После того, как импортировали модель для создания образа Nano Server необходимо выполнить создание нужного образа. Выполняем команду:

New-NanoServerImage -Edition Standard -DeploymentType Guest -MediaPath d:\ -TargetPath .\NanoServerVM\SOFSNANO01.vhdx -ComputerName SOFSNANO01 -Clustering -Storage

, где:
−    Edition. Выбор редакции Windows Server 2016 Nano Server (Standard, Datacenter).
−    DeploymentType. Указание, что образ будет использоваться для виртуальной машины (Guest), либо физического сервера (Host).
−    MediaPath. Путь к корню образа с дистрибутивом Windows Server 2016.
−     TargetPath. Путь для сохранения готового VHDX файла. При указании расширения VHD или WIM будут созданы соответствующие образы.
−     ComputerName. Имя, которое будет присвоено операционной системе.
−    Clustering. Параметр указывает, что будут добавлены компоненты «Failover Clustering».
−    Storage. Параметр указывает, что будут добавлены компоненты «File Server».

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

После завершения работы командлета получаем готовый VHDX файл, который подключим к виртуальной машине и начнем загрузку с него.

image

Готовый образ, даже после установки всех необходимых компонентов, занимает чуть более 700 МБ.

Аналогичную процедуру по созданию образа необходимо повторить для второго узла кластера.

2. Создать виртуальные машины и присоединить готовы VHDX диски. Первоначальная настройка Nano Server.

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

Процесс создания виртуальной машины для Nano Server ничем не отличается от создания пустой виртуальной машины. Только на этапе выбора жесткого диска для ВМ необходимо указать сгенерированные нами VHDX файлы.

image

После подключения жестких дисков запускам виртуальные машины с Nano Server и подключаемся к ним через консоль Hyper-V. После окончания процесса первого запуска открывается консоль восстановления (Recovery Console) Nano Server.

image

Для управления Nano Server используются следующие инструменты:

1. Консоль восстановления (Recovery Console) Nano Server. Позволяет выполнить минимальный перечень настроек, необходимых для подключения Nano Server к сети и настройки удаленного управления.

2. Удаленная PowerShell сессия. Основной инструмент в настройке и администрировании Nano Server. Поддерживается большая часть командлетов. Полный список командлетов, которые не доступны в Nano Server, доступен последующей ссылке - https://technet.microsoft.com/en-us/library/mt671124.aspx.

После авторизации перед нами предстает стартовый экран.

image

Проверяем сетевые настройки нашего сервера. Для этого последовательно выбираем пункты «Networking» - «сетевой адаптер».

image

Как мы видим, сервер успешно получил IPv4 адрес от DHCP-сервера в локальной сети.

После того, как мы убедились в корректности сетевых настроек, выполняем небольшую настройку правил брандмауэра. Для этого переходим на начальный экран консоли восстановления Nano Server и выбираем пункт «Inbound Firewall Rules».

В списке правил брандмауэра находим правило «File and Printer Sharing (Echo Request – ICMPv4-In)». После выбора нажимаем «F4». Статус «Enabled» должен измениться на значение «Yes». Это правило позволит определять доступность сервера через инструменты, использующие ICMP протокол (ping, tracert).

image

Так же, включаем правило «File and Printer Sharing (SMB-In)». Это позволит удаленно подключаться к административным сетевым ресурсам на сервере.

Указанные выше правила необходимо включить на каждом сервере.

3. Присоедините серверов Nano Server к домену

Инструментов для присоединения Nano Server к домену непосредственно из консоли восстановления нет. В нашем примере мы будем использовать функцию offline domain join.

Для этого необходимо зайти на рабочую станцию с Windows Server 2016 TP5 под учетной записью, обладающей правами присоединения рабочих станций к домену.

В консоли PowerShell, запущенной от имени администратора, выполняем следующие команды:

New-Item -ItemType directory -Path c:\ofd

djoin.exe /provision /domain sandbox.local /machine sofsnano01 /savefile c:\ofd\sofsnano01

djoin.exe /provision /domain sandbox.local /machine sofsnano02 /savefile c:\ofd\sofsnano02

image

image

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

Для «доставки» файлов на соответствующие сервера мы будем использовать подключение к административным сетевым ресурсам.

В адресной строке Проводника набираем \\192.168.1.22\с$ и вводим логин и пароль локального администратора.

image

Создаем на сервере sofsnano02 папку «ofd» в корне диска C и копируем туда файл для оффлайн присоединения к домену. Аналогичные операции для сервера sofsnano01.

Для выполнения оставшихся действий по присоединению серверов к домену sandbox подключаемся к серверам Nano Server через удаленную PowerShell сессию.

Предварительно необходимо добавить в доверенные узлы Windows Remote Management (WinRM) сервера Nano Server, т.к. на данные момент они не являются членами домена:

Set-Item WSMan:\localhost\Client\TrustedHosts "192.168.10.25" -Concatenate

Set-Item WSMan:\localhost\Client\TrustedHosts "192.168.10.22" -Concatenate

После выполнения вышеуказанных команд проводим удаленное подключение к серверам Nano Server через PowerShell сессию:

Enter-PSSession -ComputerName "192.168.10.25" -Credential sofsnano01\administrator

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

image

Переходим в папку c:\ofd и выполняем команду:

djoin /requestodj /loadfile c:\ofd\sofsnano01 /windowspath c:\windows /localos

shutdown /r /t 0

image

Аналогичные шаги для второго сервера Nano Server (sofsnano02).

После успешного присоединения сервера к домену авторизацию в консоли восстановления можно производить через доменную учетную запись:

image

На стартовом экране консоли восстановления должны увидеть информацию о том, что сервер присоединен к домену (секция «Domain»):

image

Продолжение следует…