Кластеры (Clusters)

Обучение без учителя: 4 метода кластеризации данных на Python

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

Обучение без учителя

Обучение без учителя (unsupervised learning, неконтролируемое обучение) – класс методов машинного обучения для поиска шаблонов в наборе данных. Данные, получаемые на вход таких алгоритмов обычно не размечены, то есть передаются только входные переменные X без соответствующих меток y. Если в контролируемом обучении (обучении с учителем, supervised learning) система пытается извлечь уроки из предыдущих примеров, то в обучении без учителя – система старается самостоятельно найти шаблоны непосредственно из приведенного примера.

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

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

Важная терминология

  • Feature (Особенности): входная переменная, используемая для создания прогнозов.
  • Predictions (Прогнозы): выходные данные модели при наличии входного примера.
  • Example (Пример): строка набора данных. Пример обычно содержит один или несколько объектов.
  • Label (Метки): результат функции.

Подготовка выборки для кластеризации данных

Для составления прогнозов воспользуемся классическим набором данных ирисов Фишера. Датасет представляет набор из 150 записей с пятью атрибутами в следующем порядке: длина чашелистика (sepal length), ширина чашелистика (sepal width), длина лепестка (petal length), ширина лепестка (petal width) и класс, соответствующий одному из трех видов: Iris Setosa, Iris Versicolor или Iris Virginica, обозначенных соответственно 0, 1, 2. Наш алгоритм должен принимать четыре свойства одного конкретного цветка и предсказывать, к какому классу (виду ириса) он принадлежит. Имеющиеся в наборе данных метки можно использовать для оценки качества предсказания.

Для решения задач кластеризации данных в этой статье мы используем Python, библиотеку scikit-learn для загрузки и обработки набора данных и matplotlib для визуализации. Ниже представлен программный код для исследования исходного набора данных.

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

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

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

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

Метод k-средних

Наиболее популярным алгоритмом кластеризации данных является метод k-средних. Это итеративный алгоритм кластеризации, основанный на минимизации суммарных квадратичных отклонений точек кластеров от центроидов (средних координат) этих кластеров.

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

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

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

При выводе данных нужно понимать, что алгоритм не знает ничего о нумерации классов, и числа 0, 1, 2 – это лишь номера кластеров, определенных в результате работы алгоритма. Так как исходные точки выбираются случайным образом, вывод будет несколько меняться от одного запуска к другому.

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

Иерархическая кластеризация

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

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

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

Сравнение метода k-средних с иерархической кластеризацией данных

  • Иерархическая кластеризация хуже подходит для кластеризации больших объемов данных в сравнении с методом k-средних. Это объясняется тем, что временная сложность алгоритма линейна для метода k-средних (O(n)) и квадратична для метода иерархической кластеризации (O(n 2 ))
  • В кластеризации при помощи метода k-средних алгоритм начинает построение с произвольного выбора начальных точек, поэтому, результаты, генерируемые при многократном запуске алгоритма, могут отличаться. В то же время в случае иерархической кластеризации результаты воспроизводимы.
  • Из центроидной геометрии построения метода k-средних следует, что метод хорошо работает, когда форма кластеров является гиперсферической (например, круг в 2D или сфера в 3D).
  • Метод k-средних более чувствителен к зашумленным данным, чем иерархический метод.

Понижение размерности с методом t-SNE

Метод t-SNE (t-distributed stochastic neighbor embedding) представляет собой один из методов обучения без учителя, используемых для визуализации, например, отображения пространства высокой размерности в двух- или трехмерное пространство. t-SNE расшифровывается как распределенное стохастическое соседнее вложение.

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

Вернемся к примеру с ирисами и посмотрим, как произвести моделирование по этому методу при помощи библиотеки sklearn.

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

Метод кластеризации на основе плотности DBSCAN

DBSCAN (Density-Based Spatial Clustering of Applications with Noise, плотностной алгоритм пространственной кластеризации с присутствием шума) – популярный алгоритм кластеризации, используемый в анализе данных в качестве одной из замен метода k-средних.

Метод не требует предварительных предположений о числе кластеров, но нужно настроить два других параметра: eps и min_samples. Данные параметры – это соответственно максимальное расстояние между соседними точками и минимальное число точек в окрестности (количество соседей), когда можно говорить, что эти экземпляры данных образуют один кластер. В scikit-learn есть соответствующие значения параметров по умолчанию, но, как правило, их приходится настраивать самостоятельно.

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

Кластер серверов

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

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

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

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

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

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

Принято считать, что кластеры серверов делятся на две модели:

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

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

Смотрите также:

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

Отказоустойчивый кластер Windows Server 2012

В Windows Server 2008 службы кластеризации Майкрософт (Microsoft® Cluster Services – MSCS) подверглись полному обновлению и теперь носят название отказоустойчивой кластеризации. Кластер Майкрософт представляет собой группу независимых серверов работающих совместно, на которых запущена служба Windows Server Failover Clustering (WSFC). Тем самым обеспечивается высокая надежность, быстрое восстановление после сбоев и масштабируемость, упрощается управление ресурсами и приложениями.

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

Приложения, использующие кластеризацию

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

  • Серверы с постоянным или продолжительным доступом для хранения файлов для таких приложений как Microsoft SQL Server и виртуальные машины Hyper-V
  • Серверы с высокой доступностью в кластере, которые запущены на физических серверах или на виртуальных машинах, которые установлены на сервера с Hyper-V

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

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

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

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

Следует использовать следующую логику:

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

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

Рисунок 1 – Общая схема работы отказоустойчивого кластера

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

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

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

Требования к отказоустойчивому кластеру:

Оборудование, необходимое для отказоустойчивого кластера

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

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

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

Контроллеры устройств или соответствующие адаптеры для хранилища:

Для SCSI с последовательным подключением или для интерфейса Fibre Channel.

При использовании SCSI с последовательным подключением или интерфейса Fibre Channel все компоненты стека хранилища на всех серверах в кластере должны быть одинаковыми. Компания ОЛЛИ рекомендует подключать к хранилищу кластера идентичные контроллеры запоминающих устройств, то есть адаптер шины (HBA), драйверы HBA и программное обеспечение HBA.

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

Хранилище:

Необходимо использовать общее хранилище, совместимое с Windows Server 2012.

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

Рекомендуется использовать при форматировании разделов файловую систему NTFS (для диска-свидетеля использование файловой системы NTFS является обязательным).

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

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

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

Роль в домене. Все серверы кластера должны находиться в одном домене Active Directory. Рекомендуется назначать всем серверам в кластере одинаковые роли в домене (рядовой сервер или контроллер домена). Рекомендуемая роль — рядовой сервер.

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

Позвоните нам +7 812 703-30-60
получите консультацию и расчет внедрения

Поднимаем кластер на базе Windows Server 2008 R2

Сейчас я подробно разберу все моменты по разворачиванию тестового кластера в системе Virtualbox с использование операционной системы WindowsServer 2008 R2 Enterprise, системы FreeNAS, которая будет выступать хранилищем с поднятым сервисом по предоставлению iSCSI сервиса столь необходимого по развёртыванию кластера.

  • Два сервера Windows Server 2008 R2 Enterprise введённые в домен
  • Домен polygon.local
  • Доменная учётная запись с правами Администратора
  • Пять выделенных IP адрес
  • Система FreeNAS установленная в VirtualBox
  • Отключён энергосберегающий режим
  • Часовой пояс GMT + 4
  • Установлены все обновления через WSUS

Четыре сетевые карточки по две на каждую систему.

Login: ekzorchik (Учётная запись состоит в группе — Domain Admins)

Eth0: 10.0.2.19 – внешняя сеть для домена polygon.local

Subnet Mask: 255.255.255.0

Eth1: 192.168.117.2 – внутренняя сеть, т.е. cluster 1 смотрит на cluster 2 и никуда более.

Subnet Mask: 255.255.255.0 (255.255.255.252 на два адреса)

Шлюза и DNS нет.

Eth0: 10.0.2.21 — внешняя сеть для домена polygon.local

Subnet Mask: 255.255.255.0

Eth1: 192.168.117.3 — внутренняя сеть, т.е. cluster 2 смотрит на cluster 1 и никуда более

Subnet Mask: 255.255.255.0

Шлюза и DNS нет.

Подготовим хосты Cluster1 и Cluster2 установив, в них компонент «FailoverClustering».

Настройки на хосте Cluster 1

Запускаем оснастку для добавления компонента «Средство отказоустойчивости кластеров»

«Start» – «Control Panel» – «Administrative Tools» – «Server Manager» – «Features» и добавляем

Компонент «Failover Clustering»

Проходим через Next и Install и ожидаем, пока компонент установится.

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

Чтобы заработал кластер нам нужен общий диск подключённый к нашим системам Cluster1 и Cluster2 для этого задействуем встроенную оснастку «iSCSIInitiator». Как настроить подключение я уже расписывал, делаем согласно инструкции.

После переходим на систему Cluster1, далее открываем оснастку «Start» – «ControlPanel» – «AdministrativeTools» – «Server Manager» – «Storage» – «Disk Management» (Управление дисковой системой)

И обращаем внимание, что у нас появился подключённый через оснастку «iSCSIInitiator» диск:

Сейчас нужно его перевести в «Online» режим:

Создаём том (New Simple Volume…):

Нажимаем Next,

указываем размер тома в мегабайтах (я оставлю по умолчанию 2045), и присвоим букву для логического диска, к примеру «Q», укажем файловую систему (NTFS) и метку тома (к примеру «Quorum»).

Далее нужно зайти на второй узел Cluster2, также открыть оснастку «Start» – «Control Panel» – «Administrative Tools» – «Server Manager» – «Storage» – «Disk Management» (Управление дисковой системой) и по такому же принципу, как выше активируем диск, размечаем, но после переводим в состояние «Offline».

Подготовительная часть закончена.

Теперь можно перейти к объединению узлов Cluster 1 и Cluster 2 в кластер .

Данную процедуру выполняем только единожды

Для этого зайдём на первый хост Cluster1 и открываем оснастку «Failover Cluster Manager» для конфигурирования.

«Start» – «Control Panels» – «Administrative Tools» – «Failover Cluster Manager».

В появившейся оснастки следует запустить мастер проверки конфигурации – «Validatea Configuration…»

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

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

Вводим имя сервера, в моём случае Сluster1 и нажимаем Add (Добавить).

Нажимаем снова Next и на следующем шаге отмечаем пункт – «Run All Tests (recommended)» (Провести все тесты).

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

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

В моём случае все хорошо, проблем нет.

Обзываем кластер именем: service.polygon.local и IP адресом 10.0.2.39

Нажимаем

, указываем узлы из которых строим кластер, это Cluster1 & Cluster2, Указываем имя для него service.polygon.local, и адресом 10.0.2.39, см. скриншот ниже, что у Вас должно получиться:

Нажимаем Next

На этом все подготовительные шаги завершены, нажимаем Next, собственно и происходит установка. По окончании развернув оснастку «Failover Cluster Manager» видим имя кластера, ноды из которых он состоит и общий диск.

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

Создание кластера Hyper-V 2016 на двух хостах

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

Предварительные требования к отказоустойчивому кластеру Hyper-V

  • Два сервера с установленной ОС Windows Server 2016 (желательно чтобы количество памяти и CPU на обоих серверах было одинаково)
  • Установленная роль Hyper-V с компонентами Failover Cluster и MPIO ( iSCSI по необходимости)
  • Как минимум по 2 сетевых карты на каждом сервере (одна сетевая карта будет использоваться для управления и через нее будет идти трафик ВМ, вторая – для взаимодействия хостов между собой – трафик CSV и Heartbeat)
  • Общее дисковое хранилище, подключенное к обоим серверам (в этом примере дисковый массив подключается к каждому серверу через 2 порта Fiber Channel, при этом компонент MPIO нужен для того, чтобы каждый сервер видел только одно подключение к диску, а не два)
  • Как минимум один диск (LUN) с общего хранилища презентован обоим сервера, инициализирован и отформатирован.

Настройки сети Hyper V

В нашем примере мы настроим следующую IP адресацию для компонентов кластера:

Общее имя кластера: HVCLUSTER2016 (IP адрес 10.0.0.10)
Первый сервер: имя HOST01, с двумя интерфейсами
10.0.0.11 – интерфейс управления, и трафика виртуальных машин
10.0.1.11 – интерфейс для трафика Cluster Shared Volume и Heartbeat
Второй сервер: имя HOST02, с двумя интерфейсами
10.0.0.12 — интерфейс управления, и трафика виртуальных машин
10.0.1.12 – интерфейс для трафика Cluster Shared Volume и Heartbeat

Установка кластера Hyper-V

Итак, на любом из серверов запускаем оснастку Failover Cluster Manager и запускаем мастер создания кластера (Create Cluster).

На странице выбора серверов кластера добавляем обе наших ноды.

На странице Validation Warning соглашаемся с запуском встроенных тестов валидации кластерной конфигурации.

Выберите, что нужно прогнать все тесты.

Нужно дождаться окончания валидации. Если будут найдены ошибки – их нужно исправить. После этого нажать на Finish.


Далее на странице настройки Access Point for Administering the Cluster нужно указать имя кластера и его IP адрес и подсеть.

Осталось нажать 2 раза кнопку Next и мастер создаст новый кластер.

Настройка кластера Hyper-V

Теперь в кластер нужно добавить диски. Для этого откройте консоль Failover Cluster Management и в разделе Storage -> Disks добавьте общие в кластер общие диски (они должны быть инициализированы и отформатированы)

Задайте содержательные имена дискам. В нашем примере один кластерный диск будет использоваться как том Cluster Shared Volumes (CSV) для хранения файлов ВМ, а второй использоваться для кворума (диск небольшого размера).

Далее нужно настроить кластерный кворум. Для этого щелкните ПКМ по имени кластера и выберите пункт меню More Actions-> Configure Cluster Quorum Settings.

Выберите вариант настройки кворума для кластера Select the quorum witness.

В качестве типа кворума выберите Quorum Witness Select Disk Witness (кворум с использованием диска свидетеля).

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

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

Теперь можно в консоли управления кластером создать новую виртуальную машину: Roles -> Virtual Machines -> New Virtual Machine.

Затем с помощью обычного мастера Hyper-V нужно создать новую виртуальную машину. С помощью Live Migration в дальнейшем можно убедится, что ВМ на легко перемещается между узлами кластера Hyper-V.

Кластеры (Clusters)

Кластер высокой доступности с использованием виртуальных машин

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

В зависимости от ваших пожеланий решение может быть построено:

Эффект от внедрения

Помимо преимуществ, предоставляемых традиционной кластерной архитектурой, применение технологий виртуализации:

Кластер высокой доступности с использованием Hyper-V

Решение высокой доступности с помощью Hyper-V можно развернуть в двух принципиально различных вариантах:

Кластеры узлов (Host Clustering)

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

Архитектура решения:

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

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

Программная платформа:

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

Кластеры гостевых систем (Guest Clustering)

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

Архитектура решения:

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

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

Программная платформа:

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

Кластер высокой доступности с использованием Red Hat Cluster Suite

Данное решение представляет собой двухуровневый кластер, построенный с использованием Red Hat Cluster Suite. На первом уровне обеспечивается виртуализация оборудования, на втором – виртуализация приложений. По ряду критериев Red Hat Cluster Suite оценивает состояние аппаратных и виртуализированных систем и приложений, обеспечивая непрерывный доступ к данным и приложениям даже в случае отказа виртуальной машины или аппаратного узла кластера. В таких случаях Red Hat Cluster Suite перезапускает приложения на другом узле кластера виртуальных машин, а также пытается перезагрузить виртуальную машину. В случае отказа физической машины производится ее отключение от кластера с последующей перезагрузкой. При этом виртуальные машины, выполнявшиеся на сбойном узле, мигрируют на другой узел в пределах своей группы (failover domain). Все перечисленные действия оказывают незначительное влияние на работу критических приложений и практически не заметны для пользователей.

Архитектура решения:

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

Программная платформа:

В качестве программной платформы используется Red Hat Enterprise Linux Advanced Platform. Эта редакция Red Hat Enterprise Linux поддерживает неограниченное количество физических процессоров и оперативной памяти, включает в себя кластерное ПО Red Hat Cluster Suite и кластерную файловую систему GFS. Кроме того, в рамках действующей подписки на Red Hat Enterprise Linux Advanced Platform допускается установка неограниченного количества виртуализированных систем RHEL AP.

Ссылка на основную публикацию