Добавить диск в кластер

Обновлено: 04.07.2024

В данной статье речь пойдет о подготовке и конфигурации отказоустойчивого кластера (Failover Cluster) на базе сервера Netberg Demos R420 M2. Программно-аппаратный комплекс Netberg Demos R420 M2 специально сконструирован для построения решений класса «кластер-в-коробке» (Cluster-in-a-box) на основе Microsoft Windows Server 2012.

Аналогичную процедуру можно применять и к кластерам с внешними устройствами хранения. Например для дисковых полок Aeon J424 M3 и Aeon J470 M3, используемых совместно со стандартными серверами.

Настройку разделим на 3 этапа:

  1. Подготовительные работы, которые будут включать подготовку дисковой подсистемы сервера для работы в кластере и настройку сети между узлами.
  2. Установка и настройка компоненты Failover Cluster.
  3. Настройка роли отказоустойчивого файлового сервера в кластере.

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

  • установить все доступные обновления операционной системы (обратите особое внимание на то, что на узлах должен быть установлен абсолютно одинаковый набор обновлений);
  • обновить до последней версии драйверы и прошивки устройств, драйверы должны иметь подпись Microsoft;
  • узлы кластера должны быть добавлены в домен Active Directory;
  • иcпользуйте в одном массиве идентичные SAS-диски вплоть до версии прошивки.
Подготовка к установке кластера

Подготовка дисковой подсистемы

Каждый узел сервера имеет доступ к общему дисковому хранилищу, которое позволяет разместить до 12 дисков. Для установки операционной системы используются внутренние посадочные места для 2.5” SATA/SSD дисков.

Диски в сервере подключены одновреммено к двум узлам системы с использованием дублированной системы ввода/вывода Multipath I/O, таким образом, в диспетчере устройств будет отображаться удвоенное
количество дисков находящихся в хранилище. В нашем случае, мы установили 12 SAS-дисков, в результате чего в диспетчере устройств отображается 24. Для операционной системы установлен SSD диск.

Диспетчер устройств без настроенного MPIO

Для настройки Multipath I/O запустите мастер установки ролей и компонентов и установите компоненту Multipath I/O.

Добавление компоненты MPIO

На рабочем столе откройте ярлык MPIO. На вкладке Discover Multi-Paths установите галку Add support for SAS devices и нажмите Add. Перезагрузите сервер.

Свойства MPIO

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

Диспетчер устройств с настроенным MPIO

Данную процедуру необходимо выполнить на двух узлах.

Инициализация дисков

Управление дисками в консоли Server Manager

Подготовка сетевых интерфейсов

В настройках интерфейса для подключения к локальной сети рекомендуется задать статические IP-адреса. Информация об IP-адресах и именах узлов кластера обязательно должна содержаться в прямой и обратной зоне DNS сервера. Убедитесь в работоспособности прямого и обратного разрешения имен. Для настройки сети между узлами кластера в Netberg Demos R420 M2 используется внутренний сетевой интерфейс Intel® I350 Gigabit Backplane Connection, в настройках которого вы можете выставить свою конфигурацию протокола TCP/IPv4. Неиспользуемые сетевые адаптеры рекомендуется поставить в состояние Disabled.

Network Connections

Установка и настройка компоненты Failover Cluster

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

Добавление компоненты Failover Cluster

Проверка конфигурации узлов кластера

Прежде чем приступить к настройке кластера необходимо выполнить проверку конфигурации узлов кластера. Для этого в Failover Cluster Manager запустим мастер проверки конфигурации (Validate a Configuration Wizard).

Запуск мастера проверки конфигурации

Для корректной работы кластера важно успешное прохождение всех тестов.

На шаге Select Servers or a Cluster укажите имена узлов кластера, которые, как было сказано выше, должны являться членами домена Active Directory.

Select Servers or a Cluster

На шаге Testing Options выберем прохождение всех тестов(Run all tests).

Testing Options

По завершении работы Validate a Configuration Wizard откроется окно с результатами проверки. Нажав View Report можно ознакомиться с детальной информацией о пройденных тестах.

Summary

Установка кластера

Теперь можно приступить к установке кластера. Для этого в Failover Cluster Manager запустим Create Cluster Wizard.

На шаге Select Servers укажите имена узлов кластера.

Select Servers

На следующем шаге введите имя кластера и его IP- адрес.

Access Point for Administering the Cluster

На шаге Confirmation снимем галку Add all eligible storage to the cluster. Диски настроим позже с использованием новой компоненты Storage Spaces, которая стала доступна в Windows 2012.

Confirmation

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

Summary

В результате работы мастера будет создан объект Active Directory с именем CLUSTER1. Объект будет располагаться в том же контейнере, где и узлы кластера, в нашем случае в контейнере Experiment.

Контейнер Active Directory

Далее необходимо дать разрешение на создание объектов в контейнере Experiment для компьютера CLUSTER1. Это будет необходимо для успешного добавления роли кластера.

Свойства контейнера Experiment

Настройка дисков для кластера

Приступим к настройке общего дискового ресурса для узлов кластера с использованием компоненты Storage Spaces. Подробно о настройке Storage Spaces.

Как видно следующем на рисунке, было добавлено 2 виртуальных диска quorum и file-storage.

Storage Pols в консоли Server Manager

Диск quorum настроим в качестве диска кворума для кластера, диск file-storage – для хранения данных.

Добавим вновь созданные диски в кластер. Для этого в Failover Cluster Manager в правой панели правой кнопкой мыши выберите Disks и нажмите Add Disk.

Добавление диска в кластер

Для настройки диска кворума в Failover Cluster Manager нажмите правой кнопкой на имени кластера и выберете меню More Actions – Configure Cluster Quorum Settings.

Установка диска кворума в консоли Failover Cluster Manager

Рис. 20. Установка диска кворума в консоли Failover Cluster Manager

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

На шаге Select Quorum Configuration Option используем рекомендуемые параметры.

Quorum Configuration Option

На шаге Confirmation подтверждаем конфигурацию.

Confirmation

На последнем шаге можно ознакомиться с детальным отчетом.

Summary

Настройка роли отказоустойчивого файлового сервера в кластере

Добавим роль файлового сервера для кластера. В Failover Cluster Manager нажмите правой кнопкой на имени кластера и выберите пункт Configure Role.

На шаге Select Role выберем File Server.

Select Role

На следующем шаге предлагается выбрать тип файлового сервера. Выберем File Server for general use.

File Server Type

На шаге Client Access Point необходимо ввести имя и IP-адрес для доступа клиентов к файловому серверу.

Client Access Point Type

Далее выберем диск для данных файлового сервера. В нашем случае доступен Cluster Disk 2.

Select Storage Point Type

Confirmation

На последнем шаге можно ознакомиться с детальным отчетом.

Summary

В результате работы мастера будет создан объект Active Directory с именем FILESTORAGE. Объект будет располагаться в том же контейнере, где и узлы кластера, а также созданный ранее объект CLUSTER1. Как было описано выше, объект CLUSTER1 должен иметь права на создание объектов в контейнере, иначе объект FILESTORAGE создан не будет.

Контейнер Active Directory

В консоли Failover Cluster Manager можно убедиться, что роль успешно добавлена и функционирует.

В этом разделе описывается добавление серверов или дисков в локальные дисковые пространства.

Добавление серверов

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

Запустите мастер проверки кластера с помощью оснастки отказоустойчивого кластера или командлета Test-Cluster в PowerShell (запустите его от имени администратора). Включите новый сервер <NewNode> , который вы хотите добавить.

Это позволит убедиться в том, что новый сервер работает под управлением Windows Server 2016 Datacenter Edition, присоединен к тому же домену доменных служб Active Directory, что и существующие серверы, имеет все необходимые роли и компоненты и для него правильно настроено сетевое взаимодействие.

Если вы повторно используете диски, содержащие старые данные или метаданные, которые вам больше не нужны, очистите их с помощью оснастки Управление дисками или командлета Reset-PhysicalDisk. При обнаружении старых данных или метаданных диски не объединяются в пул.

Чтобы завершить добавление сервера, выполните следующую команду в кластере:

Автоматическое добавление в пул возможно только в том случае, если имеется только один пул. Если вы обработали стандартную конфигурацию для создания нескольких пулов, вам потребуется вручную добавить новые диски в предпочтительный пул с помощью Add- Drive.

От двух до трех серверов: разблокирование трехстороннего зеркального отображения

Добавление третьего сервера в кластер с двумя узлами

При наличии двух серверов можно создать только тома с двухсторонним зеркалированием (сопоставимо с распределенными массивами RAID-1). При наличии трех серверов вы можете создать трехсторонние зеркальные тома для улучшенной отказоустойчивости. Мы рекомендуем по возможности использовать трехстороннее зеркалирование.

Двусторонние зеркальные тома невозможно обновить на месте до трехстороннего зеркального отображения. Вместо этого вы можете создать новый том и перенести (скопировать, например с помощью реплики хранения) в него свои данные, а затем удалить старый том.

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

Вариант 1

Укажите значение PhysicalDiskRedundancy= 2 для каждого создаваемого тома.

Вариант 2

Вместо этого можно указать значение PhysicalDiskRedundancyDefault = 2 для объекта ResiliencySetting пула с именем Mirror. После этого все новые зеркальные тома будут автоматически использовать трехстороннее зеркальное отображение, даже если это не указано.

Предложение 3

Задайте значение PhysicalDiskRedundancy= 2 для шаблона StorageTier под названием Capacity, а затем создайте тома, указав уровень.

От трех до четырех серверов: разблокирование двойной четности

Добавление четвертого сервера в кластер с тремя узлами

При наличии четырех серверов можно использовать двойную четность, также часто называемую помехоустойчивым кодированием (сопоставимо с распределенными массивами RAID-6). При этом обеспечивается та же двойная отказоустойчивость, что и при трехстороннем зеркалировании, но с повышенным уровнем эффективности. Дополнительные сведения см. в разделе Отказоустойчивость и экономичность хранения.

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

Вариант 1

Укажите значения PhysicalDiskRedundancy = 2 и ResiliencySettingName = Parity при создании каждого нового тома.

Вариант 2

Установите значение PhysicalDiskRedundancy = 2 для объекта ResiliencySetting пула с именем Parity. После этого для всех новых томов будет использоваться двойная четность, даже если это не указано.

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

Для этого необходимо изменить шаблоны StorageTier так, чтобы она включала уровни Performance и Capacity, которые были бы созданы, если бы вы предварительно выполнили командлет Enable-ClusterS2D на четырех серверах. В частности, должны иметь тип MediaType устройств хранения (например, твердотельные или жесткие диски) и значение PhysicalDiskRedundancy= 2. Уровень Performance должен иметь значение ResiliencySettingName = Mirror, а уровень Capacity — значение ResiliencySettingName = Parity.

Предложение 3

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

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

Пример

Больше четырех серверов: повышение эффективности контроля четности

При использовании более чем четырех серверов с контролем четности эффективность новых томов может быть еще выше. Например, при количестве серверов от шести до семи эффективность повышается с 50,0 % до 66,7 %, так становится возможным использовать код Рида-Соломона 4+2 (а не 2+2). Чтобы получить такую эффективность, не нужно предпринимать дополнительных действий. Оптимальное кодирование определяется автоматически при каждом создании тома.

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

Добавление серверов при использовании отказоустойчивости на уровне шасси или стоек

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

Создайте временный домен сбоя для узла, открыв сеанс PowerShell с повышенными привилегиями, а затем используя следующую команду, где <NewNode> — это имя нового узла кластера:

Переместите этот временный домен сбоя в корпус или стойку, где новый сервер находится в реальном мире, как указано в <ParentName> :

Добавьте сервер в кластер, как описано в разделе Добавление серверов. Когда новый сервер присоединяется к кластеру, он автоматически связывается (по имени) с доменом-заполнителем сбоя.

Добавление дисков

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

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

Чтобы произвести вертикальное масштабирование, подключите диски и проверьте, обнаруживает ли их система Windows. Они должны отображаться в выходных данных командлета Get-PhysicalDisk в PowerShell со свойством CanPool, имеющим значение True. Если они отображаются как CanPool = False, вы можете узнать, почему, изучив свойство CannotPoolReason.

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

Если диски не отображаются, вручную проверьте наличие изменений в оборудовании. Это можно сделать с помощью диспетчера устройств в меню Действие. Если диски содержат старые данные или метаданные, рекомендуем переформатировать их. Это можно сделать с помощью оснастки Управление дисками или командлета Reset-PhysicalDisk.

Автоматическое добавление в пул возможно только в том случае, если имеется только один пул. Если вы обработали стандартную конфигурацию для создания нескольких пулов, вам потребуется вручную добавить новые диски в предпочтительный пул с помощью Add- Drive.

Оптимизация использования диска после добавления дисков или серверов

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

для обеспечения равномерного выделения места на диске в пуле дисковые пространства Direct автоматически оптимизирует использование диска после добавления дисков или серверов в пул (это процесс вручную для дисковые пространства систем, использующих общие корпусы SAS). Оптимизация начинается через 15 минут после добавления нового диска в пул. Оптимизация пула выполняется как фоновая операция с низким приоритетом, поэтому ее выполнение может занять несколько часов или дней, особенно если вы используете большие жесткие диски.

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

Пул носителей можно оптимизировать вручную с помощью командлета optimize-StoragePool . Ниже приведен пример.

Хранилище в отказоустойчивый кластер можно добавить после предоставления всем узлам кластера доступа к этому хранилищу (изменяя маскирование или зонирование LUN). Необязательно добавлять хранилище в кластер, если хранилище уже перечислено для этого кластера в списке Хранилище оснастки «Диспетчер отказоустойчивости кластеров».

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

Если кластер, который нужно настроить, не отображается, в дереве консоли оснастки «Диспетчер отказоустойчивости кластеров» щелкните правой кнопкой мыши Диспетчер отказоустойчивости кластеров, Управлять кластером, а затем выберите или укажите требуемый кластер.

Если дерево консоли свернуто, разверните дерево кластера, который требуется настроить.

Щелкните правой кнопкой мыши Хранилище, а затем выберите Добавить диск.

Выберите диск или диски, которые нужно добавить.

Дополнительная информация

    Список дисков, отображаемый при щелчке Хранилище в оснастке «Диспетчер отказоустойчивости кластеров». Если диск уже находится в этом списке, добавлять его в кластер не нужно.

Если добавляемый диск вообще не появляется в программе «Управление дисками» (ни для одного узла), проблема может быть связана с конфигурацией хранилища, которая мешает операционной системе распознать или подключить диск. Обратите внимание, что диски, используемые в этот момент кластером, появятся в программе «Управление дисками» только одного узла (узла, который является текущим владельцем этого диска).

Если добавляемый диск появляется в программе «Управление дисками», но не появляется при выборе Добавить диск, убедитесь, что диск настроен как базовый, а не как динамический диск. В отказоустойчивом кластере могут быть использованы только базовые диски.

Чтобы открыть программу «Управление дисками», нажмите кнопку Пуск, выберите Администрирование, выберите Управление компьютером, а затем выберите Управления дисками. (Если появится диалоговое окно Управление учетными записями пользователей, убедитесь, что в окне указано нужное действие, и выберите ответ Да.)

Настраиваем отказоустойчивый кластер Hyper-V на базе Windows Server 2012

Уже на этапе планирования будущей виртуальной инфраструктуры следует задуматься об обеспечении высокой доступности ваших виртуальных машин. Если в обычной ситуации временная недоступность одного из серверов еще может быть приемлема, то в случае остановки хоста Hyper-V недоступной окажется значительная часть инфраструктуры. В связи с чем резко вырастает сложность администрирования - остановить или перезагрузить хост в рабочее время практически невозможно, а в случае отказа оборудования или программного сбоя получим ЧП уровня предприятия.

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

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

В данном материале мы будем рассматривать наиболее простую конфигурацию отказоустойчивого кластера, состоящего из двух узлов (нод) SRV12R2-NODE1 и SRV12R2-NODE2, каждый из которых работает под управлением Windows Server 2012 R2. Обязательным условием для этих серверов является применение процессоров одного производителя, только Intel или только AMD, в противном случае миграция виртуальных машин между узлами будет невозможна. Каждый узел должен быть подключен к двум сетям: сети предприятия LAN и сети хранения данных SAN.

Вторым обязательным условием для создания кластера является наличие развернутой Active Directory, в нашей схеме она представлена контроллером домена SRV12R2-DC1.

Хранилище выполнено по технологии iSCSI и может быть реализовано на любой подходящей платформе, в данном случае это еще один сервер на Windows Server 2012 R2 - SRV12R2-STOR. Сервер хранилища может быть подключен к сети предприятия и являться членом домена, но это необязательное условие. Пропускная способность сети хранения данных должна быть не ниже 1 Гбит/с.

Hyper-V-HA-cluster-001.jpg

Будем считать, что на оба узла уже установлена операционная система, они введены в домен и сетевые подключения настроены. Откроем Мастер добавления ролей и компонентов и добавим роль Hyper-V.

Hyper-V-HA-cluster-002.jpg

Следующим шагом добавим компоненту Отказоустойчивая кластеризация.

Hyper-V-HA-cluster-003.jpg

На странице настройки виртуальных коммутаторов выбираем тот сетевой адаптер, который подключен к сети предприятия.

Hyper-V-HA-cluster-004.jpg

Миграцию виртуальных машин оставляем выключенной.

Hyper-V-HA-cluster-005.jpg

Остальные параметры оставляем без изменения. Установка роли Hyper-V потребует перезагрузку, после чего аналогичным образом настраиваем второй узел.

Затем перейдем к серверу хранилища, как настроить iSCSI-хранилище на базе Windows Server 2012 мы рассказывали в данной статье, но это непринципиально, вы можете использовать любой сервер цели iSCSI. Для нормальной работы кластера нам потребуется создать минимум два виртуальных диска: диск свидетеля кворума и диск для хранения виртуальных машин. Диск-свидетель - это служебный ресурс кластера, в рамках данной статьи мы не будем касаться его роли и механизма работы, для него достаточно выделить минимальный размер, в нашем случае 1ГБ.

Создайте новую цель iSCSI и разрешите доступ к ней двум инициаторам, в качестве которых будут выступать узлы кластера.

Hyper-V-HA-cluster-006.jpg

И сопоставьте данной цели созданные виртуальные диски.

Hyper-V-HA-cluster-007.jpg

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

Подключенные диски инициализируем и форматируем.

После чего откроем Диспетчер Hyper-V и перейдем к настройке виртуальных коммутаторов. Их название на обоих узлах должно полностью совпадать.

Hyper-V-HA-cluster-009.jpg

Теперь у нас все готово к созданию кластера. Запустим оснастку Диспетчер отказоустойчивых кластеров и выберем действие Проверить конфигурацию.

Hyper-V-HA-cluster-010.jpg

В настройках мастера добавим настроенные нами узлы и выберем выполнение всех тестов.

Hyper-V-HA-cluster-012.jpg

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

Hyper-V-HA-cluster-014.jpg

При создании кластера для него создается виртуальный объект, обладающий сетевым именем и адресом. Укажем их в открывшемся Мастере создания кластеров.

Hyper-V-HA-cluster-015.jpg

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

Hyper-V-HA-cluster-016.jpg

Больше вопросов не последует и мастер сообщит нам, что кластер создан, выдав при этом предупреждение об отсутствии диска-свидетеля.

Hyper-V-HA-cluster-017.jpg

Закроем мастер и развернем дерево слева до уровня Хранилище - Диски, в доступных действиях справа выберем Добавить диск и укажем подключаемые диски в открывшемся окне, в нашем случае их два.

Hyper-V-HA-cluster-019.jpg

Далее последовательно выбираем: Выбрать свидетель кворума - Настроить диск-свидетель и указываем созданный для этих целей диск.

Hyper-V-HA-cluster-020.jpg

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

Hyper-V-HA-cluster-021.jpg

Для того, чтобы диск мог использоваться сразу несколькими участниками кластера на нем создается CSVFS - реализуемая поверх NTFS кластерная файловая система, впервые появившаяся в Windows Server 2008 R2 и позволяющая использовать такие функции как Динамическая (Живая) миграция, т.е. передачу виртуальной машины между узлами кластера без остановки ее работы.

Общие хранилища становятся доступны на всех узлах кластера в расположении C:\ClusterStorage\VolumeN. Обратите внимание, что это не просто папки на системном диске, а точки монтирования общих томов кластера.

Hyper-V-HA-cluster-022.jpg

Закончив с дисками, перейдем к настройкам сети, для этого перейдем в раздел Сети. Для сети, которая подключена к сети предприятия указываем Разрешить кластеру использовать эту сеть и Разрешить клиентам подключаться через эту сеть. Для сети хранения данных просто оставим Разрешить кластеру использовать эту сеть, таким образом обеспечив необходимую избыточность сетевых соединений.

Hyper-V-HA-cluster-023.jpg

На этом настройка кластера закончена. Для работы с кластеризованными виртуальными машинами следует использовать Диспетчер отказоустойчивости кластеров, а не Диспетчер Hyper-V, который предназначен для управления виртуалками расположенными локально.

Чтобы создать виртуальную машину перейдите в раздел Роли в меню правой кнопки мыши выберите Виртуальные машины - Создать виртуальную машину, это же можно сделать и через панель Действия справа.

Hyper-V-HA-cluster-024.jpg

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

Hyper-V-HA-cluster-025.jpg

После выбора узла откроется стандартный Мастер создания виртуальной машины, работа с ним не представляет сложности, поэтому остановимся только на значимых моментах. В качестве расположения виртуальной машины обязательно укажите один из общих томов кластера C:\ClusterStorage\VolumeN.

Hyper-V-HA-cluster-026.jpg

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

Hyper-V-HA-cluster-027.jpg

После создания виртуальной машины перейдите в ее Параметры и в пункте Процессоры - Совместимость установите флажок Выполнить перенос на физический компьютер с другой версией процессора, это позволит выполнять миграцию между узлами с разными моделями процессоров одного производителя. Миграция с Intel на AMD или наоборот невозможна.

Hyper-V-HA-cluster-029.jpg

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

Hyper-V-HA-cluster-030.jpg

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

Hyper-V-HA-cluster-031.jpg

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

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

Hyper-V-HA-cluster-032.jpg

На этом настройка виртуальной машины закончена, можем запускать и работать с ней.

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

Каким образом происходит миграция в рабочей обстановке? Допустим нам надо выключить или перезагрузить первый узел, на котором в данный момент выполняется виртуальная машина. Получив команду на завершение работы узел инициирует передачу виртуальных машин:

Hyper-V-HA-cluster-035.jpg

Завершение работы приостанавливается до тех пор, пока не будут переданы все виртуальные машины.

Hyper-V-HA-cluster-036.jpg

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

Hyper-V-HA-cluster-037.jpg

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

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

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

Во многих дата-центрах и серверных фермах для хранения данных используются HDD и SSD. Статистика, однако, сообщает о том, что после трёх лет работы 10% дисков становятся негодными.

Конечно, те организации, которые заботятся о целостности и сохранности своих данных, держат руку на пульсе, а также отслеживают и другие факторы риска - будь то человеческий фактор, железо или софт. И тут тем, кто работает с Windows-инфраструктурой, могут помочь Windows Storage Spaces. Ведь их RAID-подобная функциональность (то, что мы видим в File Explorer как виртуальные диски) весьма полезна в деле обеспечения резерва мощностей хранения.


Гибкие возможности масштабирования тоже привлекательны: можно объединить 3 и более драйвов в единый сторадж-пул и затем формировать на его основе “стораджики” нужного размера. А поскольку при работе с пулом формируются и сохраняются дополнительные копии для ваших данных, то проблемы с одним из дисков не приведут к потере всего и вся. А если понадобилось больше места? Просто добавь воды еще дисков в пул.

Storage Spaces для Windows 10

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

- Ага, простите, что планирует?

- Он прыгает и планирует.

(“День радио”)

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

Если вы используете дисковые пространства Storage Spaces на машине с Windows 10, то рекомендуется обеспечить наличие минимум 2 дисков помимо системного. Эти диски могут быть как встроенными, так и внешними. Поддерживаются SSD; можно комбинировать SATA, USB и SAS.

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

Simple (простой) - требует наличия минимум двух дисков. Хоть этот метод и дает хорошую производительность, но ничем вам не поможет в случае отказа. Его можно использовать, например, если вы настраиваете storage space для хранения временных данных (например, файлов видео-рендеринга, файлов-черновиков в графических редакторах, и так далее).

Mirror (зеркальный) - позволяет сохранять несколько копий данных на случай отказа. Так, Two-way mirror spaces хранят две копии данных, и с ними вы переживете отказ одного из дисков. Для их организации потребуется минимум два диска. Three-way mirror spaces позволят пережить отказ двух дисков, а для их организации потребуется минимум пять. Зато хранить в таких storage spaces можно самые разнообразные данные.

Parity (с контролем четности) - рекомендуется для хранения архивных и стриминговых данных. Хранят несколько копий на случай отказа. Если вы хотите обеспечить отказоустойчивость в случае проблемы с одним диском, то в сценарии с Parity spaces вам понадобится минимум три диска, а на случай проблемы с двумя - минимум семь дисков.

После того, как вы все рассчитали и подготовили, можно организовать собственно Storage Spaces. Для этого в Windows 10 нужно выполнить вот такие шаги:

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

Важно! Если вы укажете, что в сторадж-пул хотите включить размеченный диск, имейте в виду, что Windows безвозвратно удалит все разделы и файлы на нём. До начала работы сделайте резервную копию всего, что вам дорого на этом диске!

Для простоты в поле поиска в панели задач вводим Storage Spaces и из полученного списка выбираем Storage Spaces.

Кликаем Create a new pool and storage space.

Выберем нужные нам диски и затем кликнем Сreate new storage pool.

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

На случай сбоя рекомендуется выбрать метод обеспечения отказоустойчивости (Resiliency) как одну из следующих опций: Two-way mirror, Three-way mirror или Parity.

Важно! Помните про количество дисков, которые потребуются в каждом из указанных вариантов, о чем мы говорили выше. Если, допустим, вы предпочтете Two-way mirror, то для нового storage space будет создаваться две копии данных. Так что для такого сценария понадобится минимум два диска (помимо системного).

Затем задайте максимальный размер стораджа для Storage Spaces.

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

Когда с настройками покончено, нажимаем Create storage space.

Оптимизация работы

Рекомендуется своевременно оптимизировать работу с дисками. Вот что советует делать Microsoft:

При добавлении новых дисков в существующий пул рекомендуется оптимизировать использование диска. При этом некоторые данные будут перемещены на новый диск, чтобы оптимизировать использование емкости пула. Это стандартное действие при добавлении нового диска в обновленный пул в Windows 10: флажок Optimize to spread existing data across all drives будет установлен по умолчанию.

Однако если вы сняли этот флажок или добавили диски до обновления пула, вам нужно вручную оптимизировать использование диска. Для этого в поле поиска на панели задач введите Storage Spaces, выберите Storage Spaces из списка результатов поиска, а затем щелкните Optimize drive usage.

Автономный сервер

Если у вас один отдельно взятый сервер, то для настройки на нем дисковых пространств Storage Spaces есть подробная инструкция от Microsoft, на русском языке и даже с картинкой. Storage Spaces поддерживаются для Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012.

Обратите внимание: до начала настройки нужно обеспечить наличие одного или нескольких пулов, а также проверить конфигурацию на соответствие ряду требований (они перечислены в разделе "Предварительные условия").

На базе сторадж-пула можно создать несколько виртуальных дисков. (Windows идентифицирует их как обычные диски, которые могут быть отформатированы.)

Для их создания можно использовать File and Storage Services; в настройках можно указать thin provisioning либо fixed provisioning, а также размер. Дополнительные настройки можно задать с помощью команд PowerShell.

Кластеры и Storage Spaces Direct

Если вы работаете с кластером и используете для каждой его ноды СХД с прямым подключением (DAS), то Storage Spaces Direct могут оказаться вполне разумным и эффективным вариантом по сравнению с NAS и SAN. Storage Spaces Direct отличаются хорошей масштабируемостью и возможностями управления. Технология Storage Spaces работает наряду с кэшированием, RDMA и поддержкой СХД для разных уровней (tiers). Помимо этого, поддерживаются диски NVMe.

Storage Spaces Direct поддерживаются для Windows Server 2019 Datacenter, 2016 Datacenter и Insider Preview Builds. Можно создать конвергентное или гипер-конвергентное пространство.

Вкратце, основные этапы развертывания Storage Spaces Direct - это:

Развертывание Windows Server - установка и настройка ОС, добавление доменных учеток, настройка ролей и необходимых фич.

Настройка сети (этот этап не относится к сценарию развертывания Storage Spaces Direct на виртуальных машинах).

Конфигурация собственно Storage Spaces Direct - очистка дисков и разделов, настройка кластеров, настройка Storage Spaces Direct, создание томов, развертывание необходимых виртуальных машин.

Для конвергентной инфраструктуры - развертывание масштабируемых файловых серверов, настройка ролей, создание шар, настройка ограниченного делегирования Kerberos.

Все эти этапы очень подробно описаны здесь (на русском языке).

Возможен сценарий, при котором все физические диски содержатся в enclosures с общим доступом - это т.н. JBOD enclosure. Такая инфраструктура должна соответствовать требованиям Windows Certification, а также включать в себя идентичные SAS HBA (имеющие сертификацию Storage Spaces). Такие диски в кластере не должны иметь встроенную функциональность RAID.

Storage Spaces vs. RAID

Как водится, у Windows Storage Spaces и RAID есть свои преимущества и свои недостатки. Об этом уже написана не одна сотня строк (например, здесь). Вкратце:

У RAID есть два аспекта: аппаратный и программный - а Windows Storage Spaces, так сказать, является software-driven, настраивается целиком через графический интерфейс или командную строку.

Для программных RAID, как и для Storage Spaces отсутствуют ограничения по числу сокетов (у традиционных RAID они есть).

ОС по-разному “видит” диски в RAID и в Storage Spaces - диски RAID предстают как цельный юнит (даже если у физических дисков разная емкость), что может приводить к неоптимальному использованию свободного пространства. Для Storage Spaces такой проблемы нет, так как есть доступ к отдельным дискам.

Если говорить о производительности, то RAID 0 превосходит Storage Spaces с режимом simple mode примерно вдвое. Однако на скоростях 4K они уже сравнимы. RAID 1 быстрее выполняет последовательные операции чтения, зато Storage Spaces в режиме two-way mirror mode вдвое быстрее выполняет операции записи, нежели RAID 1. Что касается hardware RAID, то операции чтения и записи для них гораздо быстрее, чем Storage Spaces в режиме parity mode.

Читайте также: