July 11, 2016

(RU) Часть 3: Создание и настройка Scale-Out File Server

 

6. Создание и настройка отказоустойчивый кластер

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

Для выполнения операции создания отказоустойчивого кластера у учетной записи должны быть права для создания учетных записей типа «компьютер» в Active Directory.

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

Команда для предварительной проверки узлов кластера:

Test-Cluster -Node sofsnano01,sofsnano02

Службы Windows Server Failover Clustering проведут необходимый набор тестов для проверки готовности узлов кластера. Если в процессе проверки будут найдены ошибки, то все они будут записаны в журнал. Так же отобразится адрес, пройдя по которому можно ознакомится с найденными ошибками и предупреждениями.

Для непосредственного создания кластера выполняем команду:

New-Cluster -Name nanocluster -Node sofsnano01,sofsnano02 -StaticAddress 192.168.10.238

Указанная выше команда создаст кластер и добавит все доступные диски.

Если при выполнении команды получили ошибку «The specified domain either does not exist or could not be contacted», то её причиной является отсутствие дефолтного маршрута на серверах.

image

Добавляем его:

route add 0.0.0.0 mask 0.0.0.0 192.168.10.1

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

После добавления маршрута кластер будет создан:

image

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

Запускаем оснастку и подключаемся к кластеру:

image

После подключения к кластеру необходимо убедиться, что для кластера выбрана кворумная модель «большинство узлов и диск-свидетель»:

image

image

Для добавления роли Scale-Out File Server потребуется общее кластерное хранилище (Cluster Shared Volume - CSV). Получить более подробную информацию про назначение и работу CSV можно по ссылке - https://technet.microsoft.com/en-us/library/jj612868(v=ws.11).aspx. Добавляем наш второй диск в общее кластерное хранилище:

image

Большая часть пути пройдена – переходим к последнему этапу настройки – добавление роли Scale-Out File Server.

7. Добавление роли отказоустойчивого кластера Scale-Out File Server

Последним этапом в настройке Scale-Out File Server на базе Nano Server является этап добавления роли Scale-Out File Server в отказоустойчивый кластер.

Но перед этим, необходимо включить компоненты файлового сервера на обоих узлах кластера:

Enable-WindowsOptionalFeature -FeatureName File-Services -Online

Для добавления роли Scale-Out File Server в отказоустойчивый кластер выполняем следующие действия:

image

image

image

image

На странице подтверждения мастера добавления ролей отказоустойчивого кластера нажимаем кнопку «Next». После окончания работы мастера добавления ролей отказоустойчивого нажимаем кнопку «Finish».

Если все было сделано верно, то в оснастке «Failover Cluster Manager» должна отобразиться роль Scale-Out File Server:

image

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

Для этого выполняем следующие действия:

image

image

image

image

image

image

На странице подтверждения нажимаем кнопку «Create».

Если при попытке добавления сетевой папки появляется окно с предупреждением о том, что Client Access Point еще не готова, то необходимо немного подождать – службы Windows Server Failover Clustering еще выполняют настройку роли Scale-Out File Server.

image

Процесс создания Scale-Out File Server на базе Nano Server завершен. Теперь мы можем получить доступ к нашему файловому серверу по следующему пути - \\nanosofs

image

image

При этом потребление ресурсов узлами кластера минимально:

image

На этом знакомство с тестовой установкой Nano Server завершено. Если возникли вопросы, то оставляйте комментарии к данной статье.

July 10, 2016

(RU) Часть 2: Настройка общего кластерного хранилища

 

4. Настройка общего хранилища.

Для настройки кластера Scale-Out File Server предварительно необходимо подготовить общее хранилище, которое будет использоваться обоими узлами кластера.

В качестве общего хранилища будем использовать iSCSI Target сервера (DC01). На нем создадим два Logical Unit Number (LUN). Один будет использоваться для использования в качестве диска свидетеля, второй будет использоваться непосредственно для хранения данных кластера.

Сначала необходимо установить необходимые роли сервера на сервер DC01:

image

Следующим шагом необходимо добавить LUN’ы. Для этого в консоли Server Manager, в секции управления iSCSI targets выбираем пункт «New iSCSI Virtual Disk».

image

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

image

image

image

image

image

На странице настройки доступа к iSCSI Target указываем FQDN имена для серверов Nano Server:

image

image

image

На странице подтверждения нажимаем кнопку «Create».

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

image

image

image

На странице подтверждения нажимаем кнопку «Create». Подготовка общего хранилища завершена.

5. Настройка подключения узлов кластера к общему хранилищу.

После создания необходимых LUN на общем хранилище необходимо подключить оба будущих узла кластера к общему хранилищу.

Поскольку общее хранилище работает на базе протокола iSCSI, то со стороны клиента необходимо использовать инициатор iSCSI. Начиная с 2008 версии серверной ОС имеется встроенный инициатор iSCSI. Однако, по умолчанию его службы выключены. Включаем их:

Set-Service –Name MSiSCSI –StartupType Automatic

Start-Service MSiSCSI

Указанная выше команда настроит автоматический запуск инициатора iSCSI. Необходимо её выполнить на обоих серверах.

Затем необходимо подключить оба сервера к порталу iSCSI:

New-IscsiTargetPortal –TargetPortalAddress 192.168.10.1

$target = Get-IscsiTarget

Connect-IscsiTarget –NodeAddress $target.NodeAddress

image

После того, как было выполнено подключение обоих серверов к iSCSI target подключение будет в списке:

Get-IscsiConnection

image

Обращаю внимание на то, что свойство «IsPersistent» имеет значение «false». Это значит, что подключение не будет восстановлено после перезагрузки.

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

Get-IscsiSession | Register-IscsiSession

После выполнения этой команды свойство «IsPersistent» должно имеет иметь значение «true».

Проверим, что будущие узлы кластера видят оба диска, находящихся на общем сетевом хранилище:

Get-Disk | Where-Object BusType –eq ‘iSCSI’

image

Следующую команду необходимо выполнить на одном из серверов Nano Server. Выполняем её на первом сервере:

Initialize-Disk –Number 1,2 –PartitionStyle GPT –PassThru | New-Partition –AssignDriveLetter –UseMaximumSize | Format-Volume

image

Указанная выше команда выполнит инициализацию дисков в операционной системе, создаст новый раздел использую все доступное дисковое пространство и выполнит форматирование нового раздела в файловой системе NTFS.

Стоит отметить, что при подключении сервера к общему хранилищу в производственной среде необходимо обеспечить избыточность связей до вашего хранилища. Начиная с Windows Server 2012 в ОС имеется компонент (который по умолчанию отключен) именуемый MPIO (Multipath IO), его задачей и является обеспечение избыточности связей до iSCSI target. Например, имея два сетевых адаптера на сервере и два сетевых адаптера на общем хранилище в сочетании с технологией MPIO позволит пережить потерю сетевого соединения на одном из адаптеров.

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

(RU) Часть 1: Подготовка Windows Server 2016 Nano Server

Начиная с 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

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