top
logo


Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN. PDF Печать E-mail
14.02.18 06:50
Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Автор: Александр Самойленко
Дата: 14/02/2018

Многие из вас слышали о решении для построения отказоустойчивой инфраструктуры хранилищ StarWind Virtual SAN. Этот продукт позволяет всего на базе двух серверов построить инфраструктуру хранения и исполнения виртуальных машин Hyper-V, что является отличным решением для небольших предприятий и филиалов. Помимо этого, с помощью StarWind можно строить и гибридные облака на базе публичного облака Azure (об этом мы очень подробно писали вот тут).

Ну а сегодня мы рассмотрим полноценную масштабируемую онпремизную архитектуру StarWind Virtual SAN, которая позволяет расширять как набор вычислительных узлов Hyper-V, так и множество серверов хранения, где работает ПО StarWind в синхронном режиме обеспечения отказоустойчивости.

Ниже будет рассмотрена вот такая архитектура:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Серверные узлы хост-серверов Hyper-V объединены в Failover Cluster, что позволяет гибко масштабировать его и защититься от отказов оборудования, а узлы StarWind обеспечивают надежное хранение, при этом диски StarWind добавлены в тома CSV (Cluster Shared Volumes - на картинке это CSV1, CSV2 и Witness), что позволяет эффективно управлять хранилищами и обеспечить их надежность.

Хранилище Witness необходимо для обмена хартбитами через сеть хранения и исключения ситуации Split Brain для кластера Failover Cluster (при этом хранилище Witness также будет защищено от отказов средствами StarWind).

Обратите внимание, что для обеспечения полного комплекса мер по отказоустойчивости, вам потребуется не менее трех сетевых интерфейсов на сервере виртуализации и не менее 5 на серверах хранения StarWind (их назначение понятно из картинки выше).

Для начала конфигурации такой инфраструктуры потребуется сделать следующее:

  1. Убедиться, что серверные узлы добавлены в домен.
  2. Включить фичи Failover Clustering и Multipath I/O, а также роль Hyper-V на всех серверных узлах.
  3. Настроить сетевые интерфейсы на каждом узле таким образом, чтобы канал синхронизации и канал трафика сигналов доступности (heartbeat) были в разных подсетях, как показано на диграмме (например, подсети 172.16.10.x и 172.16.20.x - для хартбитов, а подсети 172.16.30.x и 172.16.40.x - для канала синхронизации).
  4. Чтобы iSCSI-инициатор смог обнаружить все интерфейсы StarWind Virtual SAN, файл конфигурации StarWind.cfg должен быть изменен после остановки службы StarWind. Он находится по адресу: C:\Program Files\StarWind Software\StarWind\StarWind.cfg. Нужно найти строку <iScsiDiscoveryListInterfaces value=”0”/> и изменить значение с 0 на 1, после чего снова запустить службу.

Далее нужно включить доступ по нескольким путям на узлах StarWind, для этого нужно запустить MPIO manager: Start->Administrative Tools>MPIO. Далее идем в Discover Multi-Path, ставим галку Add support for iSCSI device и нажимаем Add, после чего перезагружаем сервер.

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Теперь скачиваем продукт StarWind Virtual SAN по этой ссылке и устанавливаем его на обоих узлах:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Минимально вам потребуется установить следующие компоненты:

  • StarWind Virtual SAN service - это основные службы StarWind.
  • StarWind Management Console - это графическая консоль, позволяющая выполнять все операции с хранилищами.

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

В процессе установки можно запросить полнофункциональный бесплатный ключ, который позволит в течение пробного периода использовать все возможности StarWind Virtual SAN:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

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

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Если консоль установлена там же, где и основной сервис StarWind, то этот сервер будет сразу же добавлен, если же консоль размещена на отдельном сервере - нужно будет добавить оба узла StarWind, нажав на иконку Add Server.

Затем нажмите на иконку Add Device, и далее StarWind попросит вас создать новый пул хранения (сначала сделаем это для хранилища Witness, а для томов CSV1 и CSV2 процедура выглядит полностью аналогично):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Выбираем размещение виртуального диска:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Для хранилища StarWind должно быть выполнено 3 условия:

  • Диск инициализирован как GPT.
  • Раздел отформатирован как NTFS.
  • Разделу назначена буква диска.

Создаем диск как Thick-provisioned (то есть место резервируется сразу):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Далее определяем политику кэширования L1 (то есть в RAM, подробнее у нас тут). Вообще, StarWind рекомендует иметь 1 ГБ такого кэша на 1 ТБ сырой емкости дисков хранения:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Затем указываем, есть ли у нас флэш-кэш для наших хранилищ (это уровень L2, иметь его рекомендуется в размере 10% от емкости хранилища):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Затем создаем новый iSCSI таргет:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

После этого добавляем второй HA-узел StarWind в консоль:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

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

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

В нем выбираем пункт Add Replica и затем вариант Synchronous two-way replication:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Этот тип репликации позволяет поддерживать оба узла в полностью синхронном состоянии, что обеспечит RPO=0 в случае сбоя на одном из узлов хранения.

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

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

В качестве стратегии восстановления (Failover Strategy) выбираем Heartbeat:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Затем создаем устройство на втором узле:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Указываем его размещение:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Далее мы переходим к настройке канала репликации:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Тут нажимаем Change Network Settings и переходим в матрицу настройки каналов репликации:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Рекомендуется вешать канал синхронизации и канал хартбитов на одни интерфейсы, чтобы у вас не возникло ситуации Split Brain в кластере хранения (хартибиты не идут, а канал синхронизации работает, и оба узла считают себя главными).

Далее выбираем режим синхронизации с уже существующим HA-устройством (Synchronize from existing Device):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

После нажатия кнопки Create Replica новое устройство должно появиться в консоли StarWind:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Witness-девайсы теперь сконфигурированы. Теперь нужно настроить тома CSV, где вы будете хранить виртуальные машины. Процесс их настройки аналогичен, и после него тома появятся в консоли StarWind (на картинке том CSV1):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Теперь надо на каждом из узлов Hyper-V настроить обнаружение узлов StarWind. Для этого запускаем оснастку Start > Administrative Tools > iSCSI Initiator (это также можно сделать командой iscsicpl). Появятся настройки iSCSI Initiator. Там на вкладке Discovery нужно нажать кнопку Discover Portal:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Указываем адрес первого узла StarWind, после чего нажимаем Advanced:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Тут выбираем Microsoft iSCSI Initiator как Local adapter и выбираем IP-адрес первого узла серверного кластера из той же подсети.

Затем опять идем в Discover Target Portal и вбиваем второй IP-адрес первого узла StarWind:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Опять идем в Advanced Settings и там вводим второй Initiator IP по аналогии с первым адресом (из той же подсети, что и Target Portal):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

В итоге настройки iSCSI инициатора на первом узле у вас будут выглядеть вот так:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Мы добавили Target Portals от первого узла хранения StarWind. Теперь нужно проделать все то же самое для второго узла.

Идем в Discover Target Portal и там указываем первый интерфейс второго узла StarWind:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Далем все по аналогии в Advanced Settings:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Добавляем второй интерфейс второго узла StarWind:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

И так же, аналогично, вводим IP инициатора в той же подсети:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

После всех манипуляций картина у вас будет такая:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Все описанные выше шаги повторяем и на втором серверном узле кластера серверов Hyper-V. Там картина будет такова:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

После того, как таргеты были добавлены, нам надо соединиться с ними. Для этого запускаем Microsoft iSCSI Initiator на первом вычислительном узле Hyper-V и переходим на вкладку Targets. Созданные таргеты должны быть в разделе Discovered Targets (4 штуки в нашем случае).

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Если таргеты не видны, возможно проблема в сетевом экране. В этом случае на узле хранения нужно пойти в настройки фаервола, а также посмотреть видимость сетей в разделе StarWind Management Console -> Configuration -> Network.

Нажимаем кнопку Connect для таргета iSCSI и отмечаем оба предложенных чекбокса:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Жмем Advanced Settings и выбираем локальный адаптер, IP инициатора и IP-адрес таргет портала первого узла из этой же подсети:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Аналогично настраиваем соединение к тому же таргету через другую подсеть (для этого нужно второй раз нажать Connect для того же таргета):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Здесь аналогично жмем Advanced Settings и уже настраиваем вторую подсеть для первого узла StarWind:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Таким образом мы настроили два пути к одному таргету первого узла StarWind с первого узла Hyper-V.

Далее таким же точно образом настраиваем подключение на первом узле Hyper-V ко второму узлу StarWind (Partner HA Device):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

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

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

И настраиваем второй путь через другую подсеть для второго узла StarWind, второй раз нажав Connect для этого таргета:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Указанные шаги нужно повторить для всех HA-устройств обоих узлов StarWind. В итоге вы увидите подобную картинку (помните, что для каждого таргета используется 2 пути):

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

После того, как вы все это сделаете на первом узле Hyper-V, всю эту муторную процедуру нужно будет повторить и на втором вычислительном узле для обоих узлов хранения StarWind Virtual SAN.

Только после этого можно инициализировать диски, созданные в StarWind, с помощью оснастки Disk Management (помните, что нужно проделать это на обоих узлах Hyper-V).

Затем нужно создать кластер из серверов Hyper-V (Failover Cluster). Для этого идем в Server Manager и там выбираем пункт Failover Cluster Manager из меню Tools.

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Нажимаем Create Cluster из меню действий в правой панели, после чего добавляем оба вычислительных узла:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Проводим валидацию кластера и создаем его:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Вбиваем имя кластера:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Убеждаемся, что все указано правильно:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

И запускаем процесс создания Failover Cluster:

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Теперь нужно добавить Cluster Shared Volumes, которые нужны, чтобы создавать на них виртуальные машины. Запускаем Failover Cluster Manager и:

  • Идем в Cluster->Storage -> Disks.
  • Нажимаем Add Disk из панели действий и выбираем инициализированные нами диски из списка.
  • Чтобы настроить диск Witness выбираем из контекстного меню Cluster->More Actions->Configure Cluster Quorum Settings и следуем указаниям мастера.
  • Нажимаем правой кнопкой на диске и выбираем пункт Add to Cluster Shared Volumes.

Как построить масштабируемый продакшен-кластер небольшой инфраструктуры хранилищ StarWind Virtual SAN.

Вот и все - настройка конфигурации, описанной в начале статьи, завершена. Можно создавать виртуальные машины и наслаждаться отказоустойчивым хранилищем StarWind Virtual SAN, а также добавлять в Failover-кластер новые вычислительные узлы.

 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика