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

С выходом Windows Server 2012 R2 настало время обсудить новые возможности кластеризации с обходом отказа, упрощающие управление и повышающие масштабируемость и гибкость. Далее описаны новшества, которые в наибольшей степени заслуживают внимания.

Общие файлы.vhdx

Большой интерес специалистов вызвала возможность использования общих файлов VHD (.vhdx) для кластеров Hyper-V на базе гостевых систем, что означает устранение необходимости в присоединении фактического хранилища к гостевым виртуальным машинам. Общие файлы.vhdx должны находиться на локальных общих томах кластера (CSV) или на удаленном масштабируемом файловом сервере.

Создаваемый файл.vhdx для виртуальной машины теперь можно маркировать как общий. Для этого в диспетчере Hyper-V поставьте флажок Enable virtual hard disk sharing в разделе установки дополнительных функций (Advanced Features) окна настройки параметров виртуальной машины.

Если используется диспетчер виртуальных машин VMM Microsoft System Center, то на странице настройки оборудования установите параметр Share the disk across the service tie. Затем этот же файл.vhdx добавьте к каждой виртуальной машине и установите тот же флажок. Общие VHD, прикрепляемые к гостевым виртуальным машинам, выглядят как диски Serial Attached SCSI (SAS). При необходимости для выполнения настройки файлов, vhdx можно воспользоваться средствами Windows PowerShell. В качестве примера предположим, что нам требуется создать файл.vhdx размером 30 Гбайт и назначить его общим VHD для двух виртуальных машин. Сначала создадим файл.vhdx с помощью следующей команды:

New-VHD -Path C:\ClusterStorage\Volume1\ Shared.VHDX"

Fixed -SizeBytes 30 GB

Затем назначим его общим файлом.vhdx для каждой из двух виртуальных машин:

Add-VMHardDiskDrive -VMName Nodel" -Path C:\ClusterStorage\Volume1\ Shared.VHDX"

ShareVirtualDisk Add-VMHardDiskDrive -VMName Node2" -Path C:\ClusterStorageWolume1\Shared. VHDX4-ShareVirtualDisk

Применение общих файлов.vhdx оптимально для: файловых служб, работающих внутри виртуальных машин; баз данных SQL Server; файлов других баз данных, находящихся в кластерах из гостевых систем.

Более подробную информацию о настройках общих файлов.vhdx можно найти на веб-странице Virtual Hard Disk Sharing Overview (http://technet.Microsoft. com/en-us/library/dn281956.aspx).

Новый процесс выключения узла

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

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

В Server 2012 R2 процесс выключения узла дополнен новой функцией - очисткой при выключении и размещением на наиболее доступном узле.

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

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

Новый процесс включен по умолчанию. При необходимости администратор может его включать и выключать вручную с помощью общего свойства кластера DrainOnShutdown. Для включения введите следующую команду PowerShell:

(Get-Cluster).DrainOnShutdown = 1 Для выключения: (Get-Cluster).DrainOnShutdown = О

Определение состояния работоспособности для сетей виртуальных машин

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

Эта функция включена по умолчанию для всех сетей, доступных для виртуальных машин. При необходимости ее можно выключить для некоторых сетей с помощью диспетчера Hyper-V. Для этого достаточно снять флажок Protected network в разделе установки дополнительных функций Advanced Features окна настройки параметров виртуальных машин.

Новая панель мониторинга кластеров

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

Новая панель облегчает управление средами с большим количеством кластеров, позволяя быстро проверять состояние ролей и узлов (включен, выключен, вышел из строя) и отслеживать события, требующие анализа. Все отображаемые элементы представляют собой гиперссылки, позволяющие щелчком открывать нужную информацию. Например, щелчком на Critical: 3, Error: 1, Warning: 2 открывается список отфильтрованных событий, которые можно проанализировать для выявления проблемы.

Усовершенствования для CSV

В Server 2012 R2 реализован ряд усовершенствований для общих томов кластера cluster shared volume (CSV), которые включают оптимизацию политики размещения CSV и добавление проверки зависимостей. Политика размещения CSV теперь предусматривает равномерное распределение принадлежности дисков CSV между узлами. Для примера предположим, что в системе функционируют три узла и четыре диска CSV, каждый из которых используется пятью виртуальными машинами. Когда все узлы функционируют, два из них имеют один диск CSV и пять виртуальных машин. На третьем узле располагаются два диска CSV, каждый из которых используется пятью виртуальными машинами. В случае добавления четвертого узла кластер сразу же автоматически передает ему один из дисков CSV. При этом все виртуальные машины, использующие этот диск CSV, переносятся на новый узел в режиме динамической миграции. Таким образом, кластер реализует более равномерное распределение нагрузки между узлами.

Еще одним новшеством является добавление проверки зависимостей. Узел, не являющийся владельцем (или координатором) диска CSV, должен подключаться к координатору по протоколу Server Message Block (SMB) для пересылки обновлений метаданных, необходимых для данного диска. Для этой цели узел-координатор имеет внутренний общий ресурс, к которому подключаются другие узлы. Однако для работы такой модели нужно, чтобы функционировала служба сервера. Если служба по какой-либо причине не работает, узлы не могут устанавливать SMB-соединение с узлом-координатором. При этом все обновления метаданных кэшируются, но не отсылаются из-за отсутствия способа их передачи. Чтобы разрешить эту ситуацию, приходится вручную передавать владение диском CSV другому узлу.

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

Усовершенствование тестов для проверки сетевых настроек

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

В Server 2012 R2 тест проверки работоспособности сетевых подключений предусматривает контроль возможности установления соединения через порт 3343. Ранее в ходе диагностики проблем связи проверка этого порта не всегда выполнялась первой. С появлением нового теста такая проверка может осуществляться в первую очередь. Если этот порт является источником проблемы, вы сэкономите массу времени, затрачиваемого на поиск причин возникновения ошибок.

Усовершенствование динамического кворума

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

При включенной функции динамического свидетеля кластер динамически изменяет голос ресурса-свидетеля (диска или файлового ресурса общего доступа). При наличии большинства (то есть нечетного числа) узлов ресурс-свидетель лишается голоса. При отсутствии большинства (то есть в случае четного числа узлов) ресурс-свидетель динамически вновь обретает свой голос.

С появлением динамического свидетеля изменены рекомендации, касающиеся ресурса-свидетеля. Ранее эти рекомендации основывались на числе узлов. При наличии четного числа узлов рекомендовалось добавление ресурса-свидетеля для получения нечетного числа. Если число узлов было нечетным, то рекомендовалось не добавлять ресурс-свидетель.

В Server 2012 R2 добавление ресурса-свидетеля предпочтительно в любом случае. Благодаря новой функции динамического свидетеля кластер дает ресурсу-свидетелю голос или лишает его голоса в зависимости от конкретной ситуации. Кластер также по мере необходимости динамически изменяет веса узлов при выходе их из строя или при добавлении в кластер. Диспетчер отказоустойчивого кластера позволяет сразу видеть эти изменения без необходимости выполнять специальные запросы к узлам. Чтобы увидеть веса, в диспетчере отказоустойчивости кластеров выберите элемент Nodes, как показано на экране 5. Заметим, что в настройках кворума по-прежнему существует возможность при желании лишить узел голоса.

Еще одно усовершенствование динамической модели кворума реализовано в части кластеров с несколькими сайтами. Если имеются узлы на двух сайтах и между этими сайтами прервано сетевое сообщение, то в работе остается только один сайт. В кластеризации с обходом отказа, реализованной в Server 2012 и более ранних версиях, в работе оставался сайт, узел которого получал ресурс-свидетель первым. Однако такой выбор сайта может не совпадать с вашим желанием. Другими словами, при раскладке «50 на 50», когда ни один из сайтов не имеет кворума, отсутствует возможность заранее выбрать сайт, который должен остаться в работе.

В Server 2012 R2 введено общее свойство кластера, позволяющее определить, какой из сайтов продолжит работу. С помощью свойства LowerQuorumPriorityNodelD можно указать узел, который утратит голос в случае раскладки «50 на 50».

Для примера рассмотрим систему, в которой есть три узла на главном сайте и еще три узла во внешнем расположении. На внешних узлах можно выполнить установку свойства LowerQuorumPriorityNodelD, согласно которой в ситуации «50 на 50» они остановят свою службу кластеров до восстановления сетевого соединения. Однако для этого необходимо узнать ID внешних узлов. Это можно сделать с помощью приведенного ниже запроса PowerShell, вводимого для каждого внешнего узла:

(Get-ClusterNode -Name "Имя узла“).И Предположим, что в результате выполнения этих запросов выяснилось, что внешние узлы имеют идентификаторы 4, 5 и 6. Чтобы вывести эти узлы из работы при раскладе «50 на 50», введем следующие команды:

(Get-Cluster).LowerQuorumPriorityNodelD = 4

(Get-Cluster).LowerQuorumPriorityNodelD = 5

(Get-Cluster).LowerQuorumPriorityNodelD = 6

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

Другие изменения

Кластеризация с обходом отказа в Server 2012 R2 пополнилась многими полезными новшествами. В этой статье мы рассказали лишь о некоторых из них.

Андрей Бирюков

Разворачиваем кластер на основе Windows Server 2003

Отказоустойчивые кластеры широко распространены в сетях средних и крупных компаний. Но у многих администраторов внедрение и обслуживание кластерных систем по-прежнему вызывает много вопросов. Рассмотрим реализацию отказоустойчивого кластера на основе Windows Server 2003.

Приступая к работе

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

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

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

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

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

В своей статье я рассмотрю программную реализацию двухузлового кластера на основе службы Microsoft Clustering Service. Такое решение является наиболее приемлемым для организаций средних размеров с небольшим IT-бюджетом.

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

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

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

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

О редакциях и лицензиях

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

При построении кластера следует запомнить, что наиболее распространенная редакция Windows Server 2003 Standard не поддерживает кластеризацию.

Таким образом, при построении отказоустойчивой системы следует использовать Windows Server 2003 Enterprise Edition.

Кстати, редакцию Enterprise нужно использовать и при построении кластеров для Microsoft Exchange и Microsoft SQL Server 2000. В противном случае вы не сможете кластеризовать почту и базы данных.

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

Поясню на примере. Если у вас в организации 250 пользователей и вы разворачиваете двухузловой кластер, то вам необходимо приобрести две серверные лицензии на Windows Server 2003 и 250 лицензий клиентского доступа.

Таким образом, количество узлов в кластере не влияет на число клиентских лицензий.

Новые понятия

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

Отказоустойчивый кластер, как правило, состоит из четырех узлов, использующих общий дисковый ресурс для обмена данными. Этот ресурс также именуется кворум-устройством (quorum).

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

Подобные решения предоставляют IBM, EMC и другие производители.

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

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

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

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

Следующим важным понятием кластеризации являются группы.

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

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

При устранении причины отказа исходного узла вся группа передается назад в исходный узел в соответствии с политикой возврата после восстановления (failback) для данной группы.

Ресурсы – наше все

Следующим понятием являются ресурсы – логические или физические элементы, которые можно подсоединять или отсоединять от сети.

В систему Windows Server 2003 Enterprise Edition включено несколько различных типов ресурсов:

  • Physical Disk;
  • DHCP;
  • WINS;
  • Print Spooler;
  • File Share;
  • Internet Protocol Address;
  • Local Quorum;
  • Majority Node Set;
  • Network Name;
  • Generic Application;
  • Generic Script;
  • Generic Service.

Несколько слов по каждому из видов ресурсов.

Physical Disk используется для кворум-ресурса. Требуется для всех серверов кластера.

DHCP и WINS используются в качестве ресурса кластера для обеспечения отказоустойчивости данных служб.

Print Spooler позволяет кластеризовать службы печати.

Тип ресурса File Share позволяет управлять разделяемыми файловыми системами тремя различными способами:

  • Стандартный разделяемый файловый ресурс , когда видна только папка верхнего уровня, представленная разделяемым именем.
  • С разделяемыми подпапками , когда папка верхнего уровня и каждая из ее непосредственных подпапок предоставляются для разделяемого доступа с различными именами.
  • Автономный корень распределенной файловой системы Dfs (Distributed File System). Но вы не можете использовать ресурс File Share кластерного сервера как часть отказоустойчивого корня Dfs.

Internet Protocol Address и Network Name используется для создания виртуального сервера, который позволяет клиентам использовать то же имя для доступа к кластеру даже после перехода по отключению failover.

Ресурс Local Quorum используется для управления системным диском в локальном узле кластера.

Majority Node Set применяется для управления конфигурацией данных кластера, которые могут располагаться на ЗУ кластера или вне этого устройства. Используется для согласования данных между географически разбросанными устройствами.

Тип ресурса Generic Application позволяет вам управлять в кластере обычными приложениями, не распознающими своего присутствия в кластере.

Generic Script – управление сценариями операционной системы как кластерным ресурсом.

Generic Service – позволяет управлять службами Windows Server 2003 как ресурсами кластера.

Важность планирования

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

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

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

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

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

Приведу небольшой пример построения дерева зависимостей для ресурса File Share.

Очевидно, что этот ресурс зависит от Physical Disk, так как это основной ресурс, используемый всеми узлами кластера. Далее для ресурсов общего доступа важно сетевое имя Network Name. Но в свою очередь Network Name не может использоваться без IP Address.

Таким образом, получаем следующие зависимости: ресурс File Share явно зависит от Physical Disk и Network Name и неявно – от IP Address.

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

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

Установка

Обсудив особенности реализации Microsoft Cluster Service, приступим непосредственно к развертыванию.

Первым делом на каждый из узлов устанавливаем Windows Server 2003 Enterprise Edition.

Сам процесс установки стандартный и описывать его в статье нет смысла. Единственное, о чем следует упомянуть, – это IP-адресация. Необходимо сразу выставить фиксированные адреса, чтобы впоследствии не возникло проблем с соединением.

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

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

Если проверка по всем пунктам закончилась успешно, то в следующем окне вам необходимо указать IP-адрес кластера.

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

Наконец, переходим к последней странице, в которой выводятся данные для подтверждения. Здесь можно указать кворум-устройство, как показано на рис. 3.

При нажатии «Next» запускается процесс установки кластера, внешне схожий с уже описанным анализом конфигурации.

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

Работа над ошибками

При установке кластера могут возникнуть различные проблемы. Я опишу решение некоторых из них. Как правило, большинство проблем выявляются на этапе анализа конфигурации кластера. На рис. 4 показано, как это может выглядеть.

Как видно, при анализе были обнаружены две ошибки, вернее, проблемы. Так как полоска Task Completed зеленого цвета, можно продолжать установку, но лучше сначала разрешить проблемы.

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

  • Не найдено кворум-устройство. Как уже обсуждалось ранее, оно представляет собой SCSI-диск, используемый всеми узлами кластера. Если вы получили такое сообщение, проверьте правильность подключения к SCSI-шине серверов. Также проверьте наличие данного диска в разделе «Administrative Tools -> Computer Management -> Disk Management».
  • На сервере найден только один сетевой адаптер. Большинство промышленных серверов имеют две сетевые карты, так что это довольно редкая ошибка. Но если она появилась, то необходимо проверить работоспособность второго адаптера. В случае, если вы хотите использовать только один интерфейс, воспользуйтесь описанием из раздела «Добавляем узлы».

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

Для идентификации более сложных ошибок можно воспользоваться кнопкой «View Log» для просмотра детального журнала событий.

Добавляем узлы

Теперь необходимо добавить узел в кластер. Но прежде сделаем несколько дополнительных настроек. В консоли Cluster Administration выбираем «Cluster Configuration», далее «Networks» (см. рис. 5).

У каждого узла кластера два сетевых интерфейса, при этом один подключен к локальной сети (LAN), а второй используется для взаимодействия между узлами кластера (Heartbeat).

Поочередно откройте закладку «Properties» для каждого из этих сетевых интерфейсов.

Для LAN в свойствах необходимо указать «Client Access Only (public only)», а для Heartbeat выбираем «Internal Cluster Communications Only (private network)».

Таким образом, теперь у нас интерфейс LAN будет использоваться только для внешнего взаимодействия, а Heartbeat – только для обмена информацией между узлами кластера. Это позволяет увеличить быстродействие системы вцелом.

Только не забудьте также разграничить сегменты на сетевом уровне. То есть сегмент, содержащий соединения Heartbeat, должен быть подключен в отдельный коммутатор или концентратор (не в ту же физическую сеть что и LAN!) из соображений безопасности и надежности.

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

Если вы хотите использовать только один интерфейс, то укажите Internal and Client Access в свойствах LAN и Heartbeat. При этом и LAN и Heartbeat будут содержать один физический интерфейс.

Итак, мы оптимизировали настройки сетевых интерфейсов узла кластера и теперь переходим к следующему этапу – добавлению второго узла. Для этого на втором сервере также запускаем «Administrative Tools -> Cluster Administrator».

Только теперь выбираем «Add nodes to cluster» и указываем имя кластера.

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

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

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

Настраиваем ресурсы

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

Как упоминалось в начале статьи, мы будем настраивать ресурсы для службы File Share.

Для этого мы сначала создадим новую группу на виртуальном сервере HOME.

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

Поэтому для создания нашего ресурса типа File Share нужно сделать следующее:

  • создать группу, которая будет содержать нужные ресурсы;
  • создать ресурс типа Physical Disk;
  • создать ресурс типа IP Address;
  • создать ресурс типа Network Name;
  • создать ресурс типа File Share.

Начнем с создания кластерной группы.

Для этого в консоли «Cluster Administrator» щелкните на папке «Active Groups» для сервера, на котором будет находиться ресурс типа File Share, и выберите пункт «Group» в меню «New». Появится окно мастера создания группы «New Group Wizard» (см. рис. 7).

В следующем окне необходимо указать предпочтительных владельцев ресурса Preffered Owners. Здесь можно указать несколько узлов в зависимости от их предпочтительности.

К примеру, вполне логично в начале списка указать наиболее мощные и менее загруженные узлы кластера.

В нашем случае необходимо выбрать узел и нажать «Add», затем аналогично добавить Node 2. После нажатия кнопки «Finish» группа будет создана.

Но обратите внимание на то, что сейчас она находится в автономном состоянии, так как с ней не связаны никакие активные ресурсы.

Теперь пришло время создать ресурс типа Physical Disk. Для этого щелкните правой кнопкой мыши на только что созданной группе и выберите пункт «Resource».

Заполните поля Name и Description и выберите в раскрывающемся списке «Resource Type» вариант «Physical Disk».

На следующем шаге укажите возможных владельцев ресурса Possible Owners. Тут нужно указать те машины, которые могут содержать этот ресурс (Node1, Node2).

На следующем этапе указываем параметры диска (Disk Parameters). В раскрывшемся списке будут представлены все ресурсы типа Physical Disk, которыми может управлять служба кластера.

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

После указания диска нажмите на кнопку «Finish», чтобы создать этот ресурс.

Третьим по списку мы должны создать ресурс типа IP Address.

По аналогии с предыдущим разделом выбираем пункт «Resources» в нашей группе, далее – «New». Указываем тип ресурса – IP Address, затем – возможные владельцы.

В следующем окне, Dependencies, должен появиться уже созданный нами ресурс Physical Disk. Но выбирать его не нужно, так как в данном случае никакой зависимости нет.

На следующей странице необходимо указать настройки для IP-адреса. Затем нажимаем «Finish».

Создадим ресурс типа Network Name. Для этого необходимо еще раз проделать все те действия, которые мы выполняли ранее для других типов ресурсов.

Но в разделе Dependencies теперь необходимо указать зависимость от ресурса IP Address.

Приступаем к завершающему этапу в создании кластерного ресурса File Share.

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

В разделе Advanced можно указать скрывать ли разделяемые ресурсы-поддиректории.

Разделяемый ресурс создан.

Обратите внимание на то, что по умолчанию для ресурса File Share будут заданы полномочия Read Only. Изменить эту установку можно в окне File Share Parameters.

Итак, мы получили отказоустойчивый ресурс в кластере и тем самым повысили доступность файловых ресурсов с помощью кластеров Microsoft.

Кластеры в виртуальной реальности

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

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

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

К примеру, для того чтобы развернуть двухузловой кластер на основе VMware, мне достаточно было рабочей станции с 1 Гб оперативной памяти. И никаких внешних SCSI-дисков, шумных серверов и прочей аппаратуры.

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

Заключение

Итак, мы развернули отказоустойчивый двухузловой кластер и установили разделяемый ресурс File Share.

Однако одним из наиболее распространенных применений службы Microsoft Cluster Services является организация кластеров почтовых серверов MS Exchange.

В следующей статье я подробно рассмотрю процесс установки и настройки отказоустойчивой почтовой системы Microsoft Exchange.

  1. Рассел Ч. Microsoft Windows Server 2003. Справочник администратора.
  2. Бережной А. Строим сетевую инфраструктуру на основе VMware Server. //Системный администратор, №3, 2007 г. – С. 14-18.
  3. Статья о развертывании кластера на VMware – http://www.rootpermissions.net/Files/MS_Windows_2003_Cluster_on_VMware_GFX_3.rar .

Вконтакте

Основная задача статьи наглядно показать, как развернуть отказоустойчивый кластер MS SQL Server 2012 . Материал написан и будет интересен для новичков. Бывалые гуру и все, кто уже знаком с этим вопросом, вряд ли найдут что-то новое и полезное для себя лично.

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

Этап 1 - Подготовка

Основные требования к аппаратному и программному обеспечению:

  • Наличие минимум 2-х узлов(физических/виртуальных), СХД
  • MS Windows Server, MS SQL ServerСХД
  • СХД
    1. Доступный iSCSI диск для баз данных
    2. Доступный iSCSI диск для MSDTC
    3. Quorum диск

Тестовый стенд:

  • Windows Server 2012R2 с ролями AD DS, DNS, DHCP(WS2012R2AD)
  • Хранилище iSCSI*
  • 2xWindows Server 2012R2(для кластера WS2012R2C1 и WS2012R2C2)
  • Windows Server 2012R2 с поднятой службой сервера 1С (WS2012R2AC)

*как вариант можно использовать Роль хранилища на Windows Server 2012R2 , софтверное решение от StarWind или реальное сетевое устройство iSCSI

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

Вначале вводим в домен сервера WS2012R2C1 и WS2012R2C2 на каждом из них устанавливаем роль "Отказоустойчивая кластеризация"
После установки роли запускаем оснастку "Диспетчер отказоустойчивости кластеров" и переходим в Мастер создания кластеров где конфигурируем наш отказоустойчивый кластер: создаем Quorum (общий ресурс) и MSDTC(iSCSI).

Этап 2 - Установка MS SQL Server

Для установки нам понадобится установочный дистрибутив MS SQL Server. Запустим мастер установки и выберем вариант установки нового экземпляра кластера:

Внимательно читаем и принимаем лицензионное соглашение:

Получаем доступные обновления:

Проходим проверку конфигурации (Warning MSCS пропускаем):

Выбираем вариант целевого назначения установки:

Выбираем компоненты которые нам необходимы (для поставленной задачи достаточно основных):

Еще одна проверка установочной конфигурации:

Проверка доступного пространства:

Выбираем диск для расположения баз данных кластера:

Конфигурация сетевого интерфейса кластера (рекомендуется указать адрес вручную):

Указываем данные администратора (можно завести отдельного пользователя для MSSQL):

Один из важных этапов - эта выбор порядка сортировки (Collation) после инсталляции изменить крайне проблематично:

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

Выбор директорий хранения общих файлов кластера (в версиях MS SQL Server 2012 и старше TempDB можно хранить на каждой ноде и не выносить в общее хранилище):

Еще пару проверок:



Наконец приступаем к установке (процесс может занять длительное время):

Настройка и установка базовой ноды закончена, о чем нам сообщает "зеленый" рапорт

Этап 3 - добавление второй ноды в кластер MSSQL

Дальше необходимо добавить в кластер вторую ноду, т.к. без нее об отказоустойчивости говорить не приходится.
Настройка и установка в разы проще. На втором сервере (ВМ) запускаем мастер установки MS SQL Server:

  • Проходим стартовый тест
  • Вводим лицензионный ключ:
  • Читаем и принимаем лицензионное соглашение:
  • Получаем обновления:
  • Проходим тесты по выполнению требований для установки ноды (MSCS warning - пропускаем):

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

Просматриваем и принимаем сетевые настройки экземпляра кластера:

Указываем пользователя и пароль (тоже что и на первом этапе):

Опять тесты и процесс установки:

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

Поздравляю установка закончена.

Этап 4 - проверка работоспособности

Удостоверимся, что все работает как надо. Для этого перейдем в оснастку "Диспетчер отказоустойчивого кластера":

На данный момент у нас используется вторая нода(WS2012R2C2) в случае сбоя произойдет переключение на первую ноду(WS2012R2C1).
Попробуем подключиться непосредственно к кластеру сервера MSSQL, для этого нам понадобится любой компьютер в доменной сети с установленной Management Studio MSSQL. При запуске указываем имя нашего кластера и пользователя (либо оставляем доменную авторизацию).

Всем привет сегодня расскажу как настроить отказоустойчивый кластер Hyper-V в Windows Server 2012 R2. Напомню, что тоже саое мы с вами уже рассматривали для Hyper-V в Windows Server 2012 R2 .

Уже на этапе планирования будущей виртуальной инфраструктуры следует задуматься об обеспечении высокой доступности ваших виртуальных машин. Если в обычной ситуации временная недоступность одного из серверов еще может быть приемлема, то в случае остановки хоста 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 потребует перезагрузку, после чего аналогичным образом настраиваем второй узел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Затем щелкнем правой кнопкой мыши на объекте кластера в дереве слева и выберем Дополнительные действия - Настроить параметры кворума в кластере .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разработка вычислительных кластеров не является сильной стороной Microsoft. Об этом свидетельствует, в том числе, тот факт, что разработки компании не попали в список Top-500 суперкомпьютеров. Поэтому совершенно логично, что в линейке Windows Server 2012 отсутствует редакция HPC (High-performance computing -высокопроизводительные вычисления).

Кроме того, учитывая особенности высокопроизводительных вычислений, платформа Windows Azure кажется более перспективной. Поэтому компания Microsoft сосредоточила свое внимание на кластерах высокой доступности.

Кластеры в Windows.

Впервые поддержка кластеров была реализована компанией Microsoft еще в операционной системе в Windows NT 4 Server Enterprise Edition в виде технологии Microsoft Cluster Service (MSCS). В операционной системе Windows Server 2008 она превратилась в компонент Failover Clustering. По сути это кластеры с обработкой отказа или высокодоступные кластеры, хотя иногда их не вполне корректно называют отказоустойчивыми.

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

Кластер высокой доступности на Windows включает в себя как минимум два узла с установленными операционными системами и соответствующими ролями. Узлы должны быть подключены к внешней сети и внутренней сети, необходимой для обмена служебными сообщениями, к общему хранилищу служебных ресурсов (например, диск-свидетель для кворума). Кроме того, в систему входят и данные кластеризуемых приложений. В ситуации, когда сервисы исполняются только на одном из узлов, реализуется схема Active-Passive, то есть сервисы выполняются на одном узле, а второй работает в дежурном режиме. Когда оба узла несут полезную нагрузку, реализуется схема Active-Active.

С момента первой реализации, поддержка кластеров в Windows существенно изменилась. Была реализована поддержка файловых и сетевых служб, позже SQL Server (в операционной системе Windows Server 2000), Exchange Server (в Windows Server 2003), и другие стандартные службы и роли, включая Hyper-V (в операционной системе Windows Server 2008). Была улучшена масштабируемость (до 64 узлов в Windows Server 2012), список кластеризуемых сервисов был расширен.

Поддержка виртуализации, а также позиционирование Windows Server как облачной операционной системы, стали поводом для дальнейшего развития поддержки кластеров, поскольку высокая плотность вычислений предъявляет высокие требования к надежности и доступности инфраструктуры. Поэтому, начиная с операционной системы Windows Server 2008, именно в этой области сосредоточена основная масса усовершенствований.

В операционной системе Windows Server 2008 R2 реализованы общие тома кластера Hyper-V (CSV), позволяющие узлам одновременно обращаться к одной файловой системе NTFS. В результате несколько кластерных виртуальных машин могут использовать один адрес LUN и мигрировать с узла на узел независимо.

В Windows Server 2012 кластерная поддержка Hyper-V была усовершенствована. Была добавлена возможность управления на уровне целого кластера приоритетами виртуальных машин, определяющих порядок перераспределения памяти, восстановления вирутальных машин в случае выхода из строя узлов или запланированной массовой миграции. Были расширены возможности мониторинга - в случае сбоя контролируемой службы появилась возможность перезапуска не только самой службы, но и всей виртуальной машины. Есть возможность осуществления миграции на другой, менее загруженный узел. Реализованы и другие, не менее интересные нововведения, касающиеся кластеризации.

Кластеры в Windows Server 2012.

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

SMB 3.0

Новая версия протокола SMB 3.0 используется для сетевого обмена данными. Этот протокол востребован при выполнении чтения, записи и других файловых операций на удаленных ресурсах. В новой версии реализовано большое количество усовершенствований, которые позволяют оптимизировать работу SQL Server, Hyper-V и файловых кластеров. Обратим внимание на следующие обновления:

  • прозрачная отказоустойчивость . Это новшество обеспечивает непрерывность выполнения операций. При сбое одного из узлов файлового кластера текущие операции автоматически передаются другому узлу. Благодаря этому нововведению стала возможной реализация схемы Active-Active с поддержкой до 8 узлов.
  • масштабирование. Благодаря новой реализации общих томов кластера (версия 2.0) существует возможность одновременного доступа к файлам через все узлы кластера, за счет чего достигается агрегация пропускной способности и осуществляется балансировка нагрузки.
  • SMB Direct. Реализована поддержка сетевых адаптеров с технологией RDMA. Технология RDMA (удаленный прямой доступ к памяти) позволяет передавать данные непосредственно в память приложения, существенно освобождая центральный процессор.
  • SMB Multichannel. Позволяет агрегировать пропускную способность и повышает отказоустойчивость при наличии нескольких сетевых путей между сервером с поддержкой SMB 3.0 и клиентом.

Необходимо сказать, что для использования этих возможностей поддержка SMB 3.0 должна присутствовать на обоих концах соединения. Компания Microsoft рекомендует использование серверов и клиентов одного поколения (в случае с Windows Server 2012 такой клиентской платформой является Windows 8). К сожалению, на сегодня Windows 7 поддерживает только SMB версии 2.1.

Storage Spaces.

Технология Storage Spaces реализована впервые в операционных системах Windows Server 2012 и Windows 8. Реализована поддержка новой файловой системы ReFS, которая обеспечивает функции повышения отказоустойчивости. Есть возможность назначения дисков в пуле для горячей замены (в случае отказа других носителей или для быстрой замены исчерпавшего свой ресурс SSD). Кроме того, расширены возможности тонкой настройки с использованием PowerShell.

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

  • простой (является аналогом RAID 0);
  • зеркало (двухстороннее зеркало является аналогом RAID1, трехстороннее зеркало представляет собой более сложную схему наподобие RAID 1E)
  • с контролем четности (является аналогом RAID 5. Данный вариант обеспечивает минимальный перерасход пространства при минимальной отказоустойчивости).

Технология Storage Spaces не является абсолютным новшеством. Похожие возможности были давно реализованы в Windows Server, например в форме динамических дисков. Технология Storage Spaces позволяет сделать использование всех этих возможностей более удобными и обеспечить новый уровень использования. Среди прочих преимуществ Storage Spaces необходимо отметить тонкую инициализацию (thin provisioning), которая дает возможность назначать виртуальным дискам размеры сверх доступных в реальности из расчета на добавление в соответствующий пул новых накопителей впоследствии.

Один из наиболее непростых вопросов, связанных с технологией Storage Spaces - это производительность. Как правило, программные реализации RAID уступают по производительности аппаратным вариантам. Однако, если речь идет о файловом сервере, то Storage Spaces получает в свое распоряжение большой объем оперативной памяти и мощный процессор, поэтому необходимо тестирование с учетом различных видов нагрузки. С этой точки зрения особую ценность приобретают возможности тонкой настройки с использованием PowerShell.

Технология Storage Spaces предлагает отказ от RAID-контроллеров и дорогих систем хранения, перенеся из логику на уровень операционной системы. Эта идея раскрывает все свои достоинства и оказывается достаточно привлекательной вместе с еще одним новшеством.

Scale-Out File Server (SOFS).

Еще одним новшеством является режим кластеризуемой роли File Server в Windows Server 2012, который получил название Scale-Out File Server. Теперь реализована поддержка двух типов кластеризации, названия которых полностью звучат как File Sever for General Use и Scale-Out File Server (SOFS) for application data. Каждая из технологий имеет свои сферы применения, а также свои достоинства и недостатки.

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

Помимо отличных характеристик отказоустойчивости это обеспечивает повышение пропускной способности при условии рационального проектирования сетевой архитектуры. Проксирующая файловая система CSV 2.0 (CSVFS) позволяет уменьшить влияние CHKDSK, позволяя утилите выполнять необходимые операции, сохраняя при этом возможность работы с томом активных приложений. Реализовано кэширование чтения с CSV. Использование CSV обеспечивает простоту и удобство развертывания и управления. Пользователю нужно создать обычный кластер, настроить том CSV и активировать роль файлового сервера в режиме Scale-Out File Server for application data.

Благодаря простоте и функциональности предложенного решения сформировался новый класс оборудования «кластер-в-коробке» (Сluster-in-a-Box, CiB). Как правило, это шасси с двумя блейд-серверами и дисковым массивом SAS JBOD с поддержкой Storage Spaces. Здесь важно, чтобы SAS JBOD были двухпортовыми, и имелся SAS HBA для реализации перекрестного подключения.

Такая организация системы ориентирована именно на поддержку SOFS. Учитывая, что iSCSI target стандартно интегрирован в Windows Server 2012 и также может быть кластеризована, таким образом может реализовать «самодельную» систему хранения данных на базе всецелевой операционной системы.

Однако следует иметь ввиду, что владельцем CSV по-прежнему является один из узлов, который отвечает за все операции с метаданными. При большом количестве метаданных может наблюдаться снижение производительности, поэтому для SOFS не рекомендуется использовать сценарий Information Worker, тогда как Hyper-V и SQL Server идеально подходят для этого, в том числе благодаря функциям агрегации пропускной способности.

Другие новшества технологий кластеризации Windows.

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

Была расширена поддержка виртуализации за счет существенного упрощения создания гостевых кластеров (из виртуальных машин). В отличие от Windows Server 2008 R2, где для этого нужно было предоставить iSCSI Target в общее пользование виртуальных машин, в операционной системе Windows Server 2012 появилась функция, позволяющая виртуализировать FC-контроллер (по аналогии с сетевыми адаптерами), за счет чего виртуальные машины получают возможность непосредственного доступ к LUN. Реализован и более простой вариант с использованием общей сетевой папки SMB 3.0 для гостевых Windows Server 2012.

Одной из важных, но нетривиальных задач является установка программных обновлений в кластере. При этом может потребоваться перезагрузка узлов, поэтому процедура должна контролироваться. В операционной системе Windows Server 2012 предлагается инструмент Cluster-Aware Updating, который работает следующим образом: один из узлов назначается координатором и следит за наличием обновлений, загружает их на остальные узлы и выполняет поочередное обновление узлов, начиная с тех, которые загружены меньше всего. Благодаря этому доступность кластера сохраняется на максимально возможном уровне в течение всего процесса обновления.

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

Новшества в Windows Server 2012 R2.

Операционная система Windows Server 2012 R2 не является простым обновлением Windows Server 2012, а представляет собой полноценную новую операционную систему. Новшества, реализованные в Windows Server 2012 R2 переводят некоторые возможности серверной платформы на качественно новый уровень. В первую очередь это касается SOFC и Hyper-V.

Высокодоступные виртуальные машины.

Упрощена процедура создания гостевых кластеров, поскольку теперь появилась возможность использовать в качестве общего хранилища обычные VHDX, которые внутри виртуальной машины будут представлены как Shared SAS-диски. При этом сами VHDX должны быть размещены на CSV или в общих папках SMB 3.0. При этом в виртуальных машинах могут использоваться как Windows Server 2012 R2, так и Windows Server 2012 (с обновленными интеграционными компонентами).

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

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

Кворум.

Кроме динамического кворума в Windows Server 2012 R2 реализован еще и динамический диск-свидетель (witness). При изменении числа узлов его голос может быть автоматически учтен, так, чтобы общее число голосов оставалось нечетным. В случае, если сам диск окажется недоступным, его голос будет просто обнулен. Такая схема позволяет полностью положиться на автоматические механизмы, отказавшись от моделей кворума.

Увеличена надежность работы кластеров, размещенных на двух площадках. Часто при такой реализации на каждой площадке находится ровно половина узлов, поэтому нарушения коммуникации между площадками может возникнуть проблема с формированием кворума. Хотя с большинством подобных ситуаций успешно справляется механизм динамического кворума, в Windows Server 2012 R2 существует возможность назначить одной из площадок низкий приоритет, для того, чтобы в случае сбоя кластер всегда функционировал на основной площадке. В случае, если кластер был запущен с принудительным кворумом, то при восстановлении связи с удаленной площадкой службы кластера будут перезапущены в автоматическом режиме и весь кластер будет вновь объединен.

CSV 2.1

Существенные изменения коснулись и реализации CSV. Теперь роли владельцев томов равномерно распределяются по узлам в автоматическом режиме, в соответствии с изменением их числа. Увеличена отказоустойчивость CSV благодаря тому, что на каждом узле кластера запускается по два экземпляра серверной службы. Один используется для обслуживания клиентского SMB-трафика, другой обеспечивает коммуникацию между узлами. При этом обязательно производится мониторинг службы и в случае сбоя роль владельца CSV мигрирует на другой узел.

Целый ряд новшеств в CSV обеспечивает более эффективное использование SOFC и Storage Spaces. Добавлена поддержка файловой системы ReFS, которая обладает более совершенной, чем NTFS внутренней организацией. Скорее всего постепенно эта файловая система займет ведущее положение в продуктах компании Microsoft. Также в Windows Server 2012 R2 реализован механизм дедупликации, который ранее был прерогативой всецелевого файлового сервера. Активация дедупликации приводит к отключению CSV Block Cache, однако в некоторых случаях она может быть достаточно эффективной. Тома CSV могут создаваться на дисковых пространствах с контролем четности.

В Windows Server 2012 R2 возможность комбинировать накопители различных типов приобрела особый смысл с многоуровневыми пространствами. Появилась возможность формировать два уровня быстрый (на основе SSD) и емкий (на основе жестких дисках) и при создании виртуального диска выделять определенный объем из каждого из них. Далее в соответствии с некоторым расписанием содержимое виртуального диска будет анализироваться и размещаться блоками по 1 МБ на более быстрых или медленных носителях в зависимости от востребованности. Другим применением многоуровневых пространств является реализация кэша с обратной записью на SSD. В моменты пиковых нагрузок запись осуществляется на быстрые твердотельные накопители, а позже холодные данные перемещаются на более медленные жесткие диски.

Новшества, касающиеся CSV и Storage Spaces, являются наиболее существенными в Windows Server 2012 R2. На их основе можно разворачивать не просто надежные файловые серверы, а мощные и гибкие системы хранения данных с прекрасными возможностями масштабирования и отличной отказоустойчивостью, предоставляющие в распоряжение пользователя широкий спектр современных инструментов.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: