В первую очередь определитесь с тем, какие компоненты и ресурсы потребуются. Вам нужен будет один главный узел, минимум десяток идентичных вычислительных узлов, свитч Ethernet, блок распределения питания и стойка. Определите мощность проводки и охлаждения, а также площадь пространства, которые вам потребуются. Также определитесь, какие IP адреса вы хотите использовать для узлов, какое ПО вы поставите и какие технологии потребуются для создания параллельных вычислительных мощностей (подробнее об этом ниже).
Смонтируйте ноды. Вам нужно будет собрать узлы сети или приобрести предварительно собранные серверы.
Установите серверы в стойку. Начинайте снизу, чтобы стойка не была перегружена сверху. Вам понадобится помощь друга - собранные серверы могут быть очень тяжелыми, и ставить их в ячейки, на которых они держатся в стойке, довольно сложно.
Установите свитч Ethernet рядом со стойкой. Стоит сразу же сконфигурировать свитч: установите размер джамбо-кадров 9000 байт, установите статический IP адрес, который вы выбрали на шаге 1 и выключите ненужные протоколы, такие как SMTP.
Установите распределитель питания (PDU, или Power Distribution Unit). В зависимости от того, какую максимальную нагрузку выдают ноды в вашей сети, вам может потребоваться 220 вольт для высокопроизводительного компьютера.
Когда все установлено, переходите к конфигурированию. Linux по факту является основной системой для высокопроизводительных (HPC) кластеров – он не только идеально подходит в качестве окружения для научных вычислений, но вам еще и не придется платить за установку системы на сотни и даже тысячи узлов. Представьте, во сколько обошлась бы установка Windows на все ноды!
Установите интерфейс передачи сообщений, менеджер ресурсов и другие необходимые библиотеки. Если вы не поставили Rocks на предыдущем шаге, вам придется вручную устанавливать необходимое программное обеспечение, чтобы настроить логику параллельных вычислений.
Соедините компьютеры в сеть. Главная нода посылает задачи для вычисления на подчиненные ноды, которые в свою очередь должны вернуть результат обратно, а также отправлять сообщения друг другу. И чем быстрее все это происходит, тем лучше.
Протестируйте кластер. Последнее, что вам стоит сделать перед тем, как дать доступ пользователям к компьютерным мощностям - протестировать производительность. HPL (High Performance Lynpack) benchmark - популярный вариант для измерения скорости вычислений в кластере. Вам нужно скомпилировать ПО из исходников с самой высокой степенью оптимизации, которую позволяет ваш компилятор для той архитектуры, которую вы выбрали.
Свой первый “кластер” из одноплатных компьютеров я построил почти сразу после того, как микрокомпьютер Orange Pi PC начал набирать популярность. “Кластером” это можно было назвать с большой натяжкой, ибо с формальной точки зрения это была всего лишь локальная сеть из четырёх плат, которые “видели” друг друга и могли выходить в Интернет.
Устройство участвовало в проекте SETI@home и даже успело что-то насчитать. Но, к сожалению, никто не прилетел забрать меня с этой планеты.
Однако, за всё время возни с проводами, разъёмами и microSD-картами я многому научился. Так, например, я выяснил, что не стоит доверять заявленной мощности блока питания, что было бы неплохо распределять нагрузку в плане потребления, да и сечение провода имеет значение.
И да, пришлось “колхозить” систему управления питанием, ибо одновременный старт пяти одноплатников может потребовать стартовый ток порядка 8-10а (5*2)! Это немало, особенно для БП, сделанных в подвалах страны, где мы так любим заказывать всякие… интересные гаджеты.
Начну, пожалуй, с неё. Задача свелась к относительно простым действиям - через заданный промежуток времени последовательно включить 4 канала, по которым подаётся 5 вольт. Самый простой способ реализовать задуманное - Arduino (коих у каждого уважающего себя гика в избытке) и вот такая чудо-плата с Али с 4мя реле.
И знаете, оно даже заработало.
Однако, “холодильник-style” щелчки при старте вызывали некоторое отторжение. Во-первых при щелчке пробегала помеха по питанию и нужно было ставить конденсаторы, а во вторых вся конструкция была довольно крупной.
Так что в один прекрасный день я просто заменил блок реле на транзисторные ключи на основе IRL520.
Это решило вопрос с помехами, но поскольку mosfet управляет “нулём”, пришлось отказаться от латунных ножек в стойке, дабы не соединить случайно землю плат.
И вот, решение отлично тиражируется и уже два кластера работают стабильно без всяких сюрпризов. Just as planned.
Но, вернёмся к тиражируемости. Зачем покупать блоки питания за ощутимую сумму, когда буквально под ногами есть много доступных ATX ?
Мало того, на них есть все напряжения (5,12,3.3), зачатки самодиагностики и возможность программного управления.
Ну тут я особо распинаться не буду - статья про управление ATX через Ардуино .
Ну что, все таблетки подъедены, марки тоже наклеены? Пора объединить это всё воедино.
Будет один головной узел, который соединяется с внешним миром по WiFi и отдаёт " интернеты" в кластер. Он будет питаться от дежурного напряжения ATX.
Фактически, за раздачу инета отвечает TBNG .
Так что при желании узлы кластера можно спрятать за TOR.
Также, будет хитрая плата, подключенная по i2c к этому головному узлу. Она сможет включать-выключать каждый из 10 рабочих узлов. Плюс, будет уметь управлять тремя вентиляторами 12в для охлаждения всей системы.
Сценарий работы такой - при включении ATX в 220в стартует головной узел. Когда система готова к работе - он последовательно включает все 10 узлов и вентиляторы.
Когда процесс включения закончен - головной узел будет обходить каждый рабочий узел и спрашивать мол, как мы себя чувствуем, какая мол температура. Если одна из стоек греется - увеличим обдув.
Ну и при команде отключения каждый из узлов будет аккуратно погашен и обесточен.
Схему платы я рисовал сам, поэтому выглядит она жутко. Однако, за трассировку и изготовление взялся хорошо обученный человек, за что ему большое спасибо.
Вот она в процессе сборки
Вот один из первых эскизов расположения компонент кластера. Сделан на листке в клетку и увековечен через Office Lens телефоном.
Вся конструкция помещается на листе текстолита, купленного по случаю.
Примерно так выглядит расположение узлов внутри. Две стойки по пять плат.
Тут проглядывается управляющая Arduino. Она соединена с головной Orange Pi Pc по i2c через конвертер уровней.
Ну а вот финальный (текущий вариант).
Итак, все что нужно - это написать несколько утилит на Питоне, которые бы всей этой музыкой дирижировали - включали, включали, регулировали скорость вентилятора.
Не буду утомлять техническими подробностями - выглядит примерно так:
1
2 3 4 5 6 7 8 | #!/usr/bin/env sh
echo "Starting ATX board..." /home/zno/i2creobus/i2catx_tool.py --start echo "Setting initial fan values..." /home/zno/i2creobus/i2creobus_tool.py --fan 0 --set 60 /home/zno/i2creobus/i2creobus_tool.py --fan 1 --set 60 /home/zno/i2creobus/i2creobus_tool.py --fan 2 --set 60 |
Поскольку узлов у нас уже целых 10, берём на вооружение Ansible, который поможет, например, правильно выключить все узлы. Или запустить на каждом монитор температуры.
1
2 3 4 5 6 7 8 | ---
- hosts: workers roles: - webmon_stop - webmon_remove - webmon_install - webmon_start |
Меня часто в пренебрежительном тоне обвиняют, мол это просто локальная сеть одноплатников (как я уже упоминал в самом начале). Мне, в целом, насрать на чужое мнение, но пожалуй, добавим гламура и организуем docker swarm cluster.
Задача весьма простая и выполняется меньше чем за 10 минут. Потом запустим на головной ноде экземпляр Portainer , и вуаля!
Теперь можно реально масштабировать задачи. Так, в данный момент в кластере работает майнер криптовалюты Verium Reserve. И, довольно успешно. Надеюсь, ближайший туземун окупит съеденное электричество;) Ну или сократить количество вовлеченных узлов и майнить что-нибудь ещё типа Turtle Coin.
Если хочется полезной нагрузки - в кластер можно закинуть Hadoop или устроить балансировку веб-серверов. Готовых образов в интернете много, да и обучающего материала достаточно. Ну а если образ (docker image) отсутствует - всегда можно собрать свой.
Чему меня это научило? В целом, “стек” технологий очень широкий. Судите сами - Docker, Ansible, Python, прокачка Arduino (прости господи, ни к ночи будет сказано), ну и шелл конечно же. А так же KiCad и работа с подрядчиком:).
Что можно сделать лучше? Многое. По софтовой части было бы неплохо переписать управляющие утилиты на Go. По железной - make it more steampunkish - КДПВ в начале отлично задирает планку. Так что есть, над чем работать.
Роли исполняли:
В процессе экспериментов пострадала пара плат Orange Pi PC2 из-за перепутанного питания (очень красиво горят), ещё одна PC2 лишилась Ethernet (это отдельная история, в которой я не понимаю физики процесса).
Вот вроде бы и вся история “по верхам”. Если кто-то считает её интересной - задавайте вопросы в комментариях. И голосуйте там же за вопросы (плюсуйте - у каждого коммента есть кнопка для этого). Наиболее интересные вопросы будут освещены в новых заметках.
Спасибо, что дочитали до конца.
(К слову, говоря, при этом есть возможность собрать недорогой и эффективный кластер из xbox 360 или PS3, процессоры там примерно как Power, и на миллион можно купить не одну приставку.)
Исходя из этого отметим интересные по цене варианты построения высокопроизводительной системы. Разумеется, она должна быть многопроцессорной. У Intel для таких задач используются процессоры Xeon, у AMD – Opteron.
Для того, чтобы восемь процессоров уместились в корпусе, их размещают не сразу на материнской плате, а на отдельных платах, которые втыкаются в материнскую плату. На фотографии показаны установленные в материнскую плату четыре платы с процессорами (по два на каждой). Это решение Supermicro. В решении HP на каждый процессор приходится своя плата. Стоимость решения HP составляет два-три миллиона, в зависимости от наполнения процессорами, памятью и прочим. Шасси от Supermicro стоит $10 000, что привлекательнее. Кроме того в Supermicro можно поставить четыре сопроцессорных платы расширения в порты PCI-Express x16 (кстати, еще останется место для Infiniband-адаптера чтобы собирать кластер из таких), а в HP только две. Таким образом, для создания суперкомпьютера восьмипроцессорная платформа от Supermicro привлекательнее. На следующем фото с выставки представлен суперкомпьютер в сборе с четырьмя GPU платами.
Чтобы выбрать конкретную модель, я составил таблицу, в которой сосчитал для каждого процессора показатель цена/(число ядер*частота). Я отбросил из расчета процессоры частотой ниже 2 ГГц, и для Intel - с шиной ниже 6,4GT/s.
Модель
|
Кол-во ядер
|
Частота
|
Цена, $
|
Цена/ядро, $
|
Цена/Ядро/ГГц
|
AMD
|
|||||
6386 SE
|
16 |
2,8 |
1392 |
87 |
31 |
6380 |
16 |
2,5 |
1088 |
68 |
27 |
6378 |
16 |
2,4 |
867 |
54 |
23 |
6376 |
16 |
2,3 |
703 |
44 |
19 |
6348 |
12 |
2,8 |
575 |
48 |
17 |
6344
|
12 |
2,6 |
415 |
35 |
13 |
6328 |
8 |
3,2 |
575 |
72 |
22 |
6320 |
8 |
2,8 |
293 |
37 |
13 |
INTEL
|
|||||
E5-2690 |
8 |
2,9 |
2057 |
257 |
89 |
E5-2680 |
8 |
2,7 |
1723 |
215 |
80 |
E5-2670 |
8 |
2,6 |
1552 |
194 |
75 |
E5-2665 |
8 |
2,4 |
1440 |
180 |
75 |
E5-2660 |
8 |
2,2 |
1329 |
166 |
76 |
E5-2650 |
8 |
2 |
1107 |
138 |
69 |
E5-2687W
|
8 |
3,1 |
1885 |
236 |
76 |
E5-4650L |
8 |
2,6 |
3616 |
452 |
174 |
E5-4650 |
8 |
2,7 |
3616 |
452 |
167 |
E5-4640 |
8 |
2,4 |
2725 |
341 |
142 |
E5-4617 |
6 |
2,9 |
1611 |
269 |
93 |
E5-4610 |
6 |
2,4 |
1219 |
203 |
85 |
E5-2640 |
6 |
2,5 |
885 |
148 |
59 |
E5-2630
|
6 |
2,3 |
612 |
102 |
44 |
E5-2667 |
6 |
2,9 |
1552 |
259 |
89 |
X5690 |
6 |
3,46 |
1663 |
277 |
80 |
X5680 |
6 |
3,33 |
1663 |
277 |
83 |
X5675 |
6 |
3,06 |
1440 |
240 |
78 |
X5670 |
6 |
2,93 |
1440 |
240 |
82 |
X5660 |
6 |
2,8 |
1219 |
203 |
73 |
X5650 |
6 |
2,66 |
996 |
166 |
62 |
E5-4607 |
6 |
2,2 |
885 |
148 |
67 |
X5687 |
4 |
3,6 |
1663 |
416 |
115 |
X5677 |
4 |
3,46 |
1663 |
416 |
120 |
X5672 |
4 |
3,2 |
1440 |
360 |
113 |
X5667 |
4 |
3,06 |
1440 |
360 |
118 |
E5-2643 |
4 |
3,3 |
885 |
221 |
67 |
Таким, образом, мой выбор процессоров для суперкомпьютера – Opteron 6386 SE, Opteron 6344, Xeon E5-2687W и Xeon E5-2630.
Стоить такая система будет без GPU не меньше $5000.
Supermicro X9DRG-QF - эта плата специально разработана для сборки высокопроизводительных систем.
Особенностью таких сопроцессоров является наличие на борту большого объема оперативной памяти, быстрые расчеты с двойной точностью и энергоэффективность.
FP32, Tflops | FP64, Tflops | Цена | Память, Гб | |
Nvidia Tesla K20X | 3.95 | 1.31 | 5.5 | 6 |
AMD FirePro S10000 | 5.91 | 1.48 | 3.6 | 6 |
Intel Xeon Phi 5110P | 1 | 2.7 | 8 | |
Nvidia GTX Titan | 4.5 | 1.3 | 1.1 | 6 |
Nvidia GTX 680 | 3 | 0.13 | 0.5 | 2 |
AMD HD 7970 GHz Edition | 4 | 1 | 0.5 | 3 |
AMD HD 7990 Devil 13 | 2x3,7 | 2х0.92 | 1.6 | 2x3 |
Решение от Intel - Xeon Phi 5110P интересно тем, что все ядра в сопроцессоре выполнены на архитектуре x86 и не требуется особой оптимизации кода для запуска расчетов. Но мой фаворит среди сопроцессоров – относительно недорогая AMD HD 7970 GHz Edition. Теоретически эта видеокарта покажет максимальную производительность в расчете на стоимость.
Использовать в качестве сетевого интерфейса для связи компьютеров обычный гигабитный Ethernet слишком медленно. Для этих целей чаще всего используют Infiniband. Хост адаптер Infiniband относительно сервера стоит недорого. Например, на международном аукционе Ebay такие адаптеры продают по цене от $40. Например, адаптер X4 DDR (20Gb/s) обойдется с доставкой до России примерно в $100.
При этом коммутационное оборудование для Infiniband стоит довольно дорого. Да и как уже было сказано выше, классическая звезда в качестве топологии вычислительной сети – не лучший выбор.
Однако хосты InfiniBand можно подключать друг к другу напрямую, без свича. Тогда довольно интересным становится, например, такой вариант: кластер из двух компьютеров, соединенных по infiniband. Такой суперкомпьютер вполне можно собрать дома.
В Тяньхэ-1А – китайском суперкомпьютере на ксеонах отношение следующее. Два шестиядерных процессора к одной «видюшке» Nvidia M2050 (послабее, чем K20X).
Такое отношение мы и примем для наших сборок за оптимальное (ибо дешевле). То есть 12-16 ядер процессоров на один GPU. На таблице ниже жирным обозначены практически возможные варианты, подчеркиванием – наиболее удачные с моей точки зрения.
GPU | Cores | 6-core CPU | 8-core CPU | 12-core CPU | 16-core CPU | |||||
2 | 24 | 32 | 4
|
5 |
3
|
4
|
2
|
3
|
2
|
2
|
3 | 36 | 48 | 6 |
8 |
5 |
6 |
3
|
4
|
2
|
3
|
4 | 48 | 64 | 8 |
11 |
6 |
8 |
4
|
5 |
3
|
4
|
Материнская плата | Supermicro H8QGL-6F | 1 | 1200 | 1200 |
Процессор | AMD Opteron 6344 | 4 | 500 | 2000 |
Кулер Процессора | Thermaltake CLS0017 | 4 | 40 | 160 |
Корпус 1400Вт | SC748TQ-R1400B | 1 | 1000 | 1000 |
Графический ускоритель | AMD HD 7970 GHz Edition | 3 | 500 | 1500 |
5860 |
Количество | Цена | Сумма | ||
Материнская плата | TYAN S8232 | 1 | 790 | 790 |
Процессор | AMD Opteron 6282SE | 2 | 1000 | 2000 |
Кулер Процессора | Noctua NH-U12DO A3 | 2 | 60 | 120 |
Корпус | Antec Twelve Hundred Black | 1 | 200 | 200 |
Блок питания | FSP AURUM PRO 1200W | 2 | 200 | 400 |
Графический ускоритель | AMD HD 7970 GHz Edition | 2 | 500 | 1000 |
Графический ускоритель | AX7990 6GBD5-A2DHJ | 1 | 1000 | 1000 |
Infiniband адаптер | X4 DDR Infiniband | 1 | 140 | 140 |
Infiniband кабель | X4 DDR Infiniband | 1 | 30 | 30 |
5680 (за один блок) |
В данной статье будет показано, как построить отказоустойчивый кластер Server 2012 с двумя узлами. Сначала я перечислю обязательные условия и представлю обзор настроек аппаратной среды, сети и хранилища данных. Затем будет подробно описано, как дополнить Server 2012 функциями отказоустойчивой кластеризации и использовать диспетчер отказоустойчивого кластера для настройки кластера с двумя узлами
В Windows Server 2012 появилось так много новшеств, что за всеми уследить трудно. Часть наиболее важных строительных блоков новой ИТ-инфраструктуры связана с улучшениями в отказоустойчивой кластеризации. Отказоустойчивая кластеризация зародилась как технология для защиты важнейших приложений, необходимых для производственной деятельности, таких как Microsoft SQL Server и Microsoft Exchange. Но впоследствии отказоустойчивая кластеризация превратилась в платформу высокой доступности для ряда служб и приложений Windows. Отказоустойчивая кластеризация - часть фундамента Dynamic Datacenter и таких технологий, как динамическая миграция. Благодаря Server 2012 и усовершенствованиям нового протокола Server Message Block (SMB) 3.0 область действия отказоустойчивой кластеризации стала увеличиваться, обеспечивая непрерывно доступные файловые ресурсы с общим доступом. Обзор функциональности отказоустойчивой кластеризации в Server 2012 приведен в опубликованной в этом же номере журнала статье «Новые возможности отказоустойчивой кластеризации Windows Server 2012».
Для построения двухузлового отказоустойчивого кластера Server 2012 необходимы два компьютера, работающие с версиями Server 2012 Datacenter или Standard. Это могут быть физические компьютеры или виртуальные машины. Кластеры с виртуальными узлами можно построить с помощью Microsoft Hyper-V или VMware vSphere. В данной статье используются два физических сервера, но этапы настройки кластера для физических и виртуальных узлов одни и те же. Ключевая особенность заключается в том, что узлы должны быть настроены одинаково, чтобы резервный узел мог выполнять рабочие нагрузки в случае аварийного переключения или динамической миграции. Компоненты, использованные в тестовом отказоустойчивом кластере Server 2012 представлены на рисунке.
Для отказоустойчивого кластера Server 2012 необходимо общее хранилище данных типа iSCSI, Serially Attached SCSI или Fibre Channel SAN. В нашем примере используется iSCSI SAN. Следует помнить о следующих особенностях хранилищ этого типа.
Дополнительные сведения о настройке хранилища iSCSI для отказоустойчивого кластера приведены во врезке «Пример настройки хранилища iSCSI». Более подробно о требованиях к отказоустойчивой кластеризации рассказано в статье «Failover Clustering Hardware Requirements and Storage Options» (http://technet.microsoft.com/en-us/library/jj612869.aspx).
Первый шаг к созданию двухузлового отказоустойчивого кластера Server 2012 - добавление компонента отказоустойчивого кластера с использованием диспетчера сервера. Диспетчер сервера автоматически открывается при регистрации в Server 2012. Чтобы добавить компонент отказоустойчивого кластера, выберите Local Server («Локальный сервер») и прокрутите список вниз до раздела ROLES AND FEATURES. Из раскрывающегося списка TASKS выберите Add Roles and Features, как показано на экране 1. В результате будет запущен мастер добавления ролей и компонентов.
Первой после запуска мастера откроется страница приветствия Before you begin. Нажмите кнопку Next для перехода к странице выбора типа установки, на которой задается вопрос, нужно ли установить компонент на локальном компьютере или в службе Remote Desktop. Для данного примера выберите вариант Role-based or feature-based installation и нажмите кнопку Next.
На странице Select destination server выберите сервер, на котором следует установить функции отказоустойчивого кластера. В моем случае это локальный сервер с именем WS2012-N1. Выбрав локальный сервер, нажмите кнопку Next, чтобы перейти к странице Select server roles. В данном примере роль сервера не устанавливается, поэтому нажмите кнопку Next. Или можно щелкнуть ссылку Features в левом меню.
На странице Select features прокрутите список компонентов до пункта Failover Clustering. Щелкните в поле перед Failover Clustering и увидите диалоговое окно со списком различных компонентов, которые будут установлены как части этого компонента. Как показано на экране 2, по умолчанию мастер установит средства управления отказоустойчивыми кластерами и модуль отказоустойчивого кластера для Windows PowerShell. Нажмите кнопку Add Features, чтобы вернуться на страницу выбора компонентов. Щелкните Next.
На странице Confirm installation selections будет показана функция отказоустойчивого кластера наряду с инструментами управления и модулем PowerShell. С этой страницы можно вернуться и внести любые изменения. При нажатии кнопки Install начнется собственно установка компонентов. После завершения установки работа мастера будет завершена и функция отказоустойчивого кластера появится в разделе ROLES AND FEATURES диспетчера сервера. Этот процесс необходимо выполнить на обоих узлах.
Следующий шаг после добавления функции отказоустойчивого кластера - проверка настроек среды, в которой создан кластер. Здесь можно воспользоваться мастером проверки настроек в диспетчере отказоустойчивого кластера. Этот мастер проверяет параметры аппаратных средств и программного обеспечения всех узлов кластера и сообщает обо всех проблемах, которые могут помешать организации кластера.
Чтобы открыть диспетчер отказоустойчивого кластера, выберите параметр Failover Cluster Manager в меню Tools в диспетчере сервера. В области Management щелкните ссылку Validate Configuration, как показано на экране 3, чтобы запустить мастер проверки настроек.
|
Экран 3. Запуск мастера проверки конфигурации |
Сначала выводится страница приветствия мастера. Нажмите кнопку Next, чтобы перейти к выбору серверов или странице Cluster. На этой странице введите имена узлов кластера, который необходимо проверить. Я указал WS2012-N1 и WS2012-N2. Нажмите кнопку Next, чтобы показать страницу Testing Options, на которой можно выбрать конкретные наборы тестов или запустить все тесты. По крайней мере в первый раз я рекомендую запустить все тесты. Нажмите кнопку Next, чтобы перейти на страницу подтверждения, на которой показаны выполняемые тесты. Нажмите кнопку Next, чтобы начать процесс тестирования кластера. В ходе тестирования проверяется версия операционной системы, настройки сети и хранилища всех узлов кластера. Сводка результатов отображается после завершения теста.
Если тесты проверки выполнены успешно, можно создать кластер. На экране 4 показан экран сводки для успешно проверенного кластера. Если при проверке обнаружены ошибки, то отчет будет отмечен желтым треугольником (предупреждения) или красным значком "X" в случае серьезных ошибок. С предупреждениями следует ознакомиться, но их можно игнорировать. Серьезные ошибки необходимо исправить перед созданием кластера.
В результате будет запущен мастер создания кластера, работа которого начинается со страницы приветствия. Нажмите кнопку Next, чтобы перейти на страницу выбора серверов, показанную на экране 6. На этой странице введите имена всех узлов кластера, затем нажмите кнопку Next.
На странице Access Point for Administering the Cluster следует указать имя и IP-адрес кластера, которые должны быть уникальными в сети. На экране 7 видно, что имя моего кластера WS2012-CL01, а IP-адрес - 192.168.100.200. При использовании Server 2012 IP-адрес кластера может быть назначен через DHCP, но я предпочитаю для своих серверов статически назначаемый IP-адрес.
После ввода имени и IP-адреса нажмите кнопку Next, чтобы увидеть страницу подтверждения (экран 8). На этой странице можно проверить настройки, сделанные при создании кластера. При необходимости можно вернуться и внести изменения.
После нажатия кнопки Next на странице подтверждения формируется кластер на всех выбранных узлах. На странице хода выполнения показаны шаги мастера в процессе создания нового кластера. По завершении мастер покажет страницу сводки с настройками нового кластера.
Мастер создания кластера автоматически выбирает хранилище для кворума, но часто он выбирает не тот диск кворума, который хотелось бы администратору. Чтобы проверить, какой диск используется для кворума, откройте диспетчер отказоустойчивого кластера и разверните кластер. Затем откройте узел Storage и щелкните узел Disks. Диски, доступные в кластере, будут показаны на панели Disks. Диск, выбранный мастером для кворума кластера, будет указан в разделе Disk Witness in Quorum.
В данном примере для кворума был использован Cluster Disk 4. Его размер 520 Мбайт, чуть больше минимального значения для кворума 512 Мбайт. Если нужно использовать другой диск для кворума кластера, можно изменить настройки кластера, щелкнув правой кнопкой мыши имя кластера в диспетчере отказоустойчивого кластера, выбрав пункт More Actions и Configure Cluster Quorum Settings. В результате появится мастер выбора конфигурации кворума, с помощью которого можно изменить параметры кворума кластера.
Оба узла в моем кластере имеют роль Hyper-V, так как кластер предназначен для виртуальных машин с высокой доступностью, обеспечивающих динамическую миграцию. Чтобы упростить динамическую миграцию, далее требуется настроить общие тома кластера Cluster Shared Volumes (CSV). В отличие от Server 2008 R2, в Server 2012 общие тома кластера включены по умолчанию. Однако все же требуется указать, какое хранилище следует использовать для общих томов кластера. Чтобы включить CSV на доступном диске, разверните узел Storage и выберите узел Disks. Затем выберите диск кластера, который нужно использовать как CSV, и щелкните ссылку Add to Cluster Shared Volumes на панели Actions диспетчера отказоустойчивого кластера (экран 9). Поле Assigned To этого диска кластера изменится с Available Storage на Cluster Shared Volume (общий том кластера), как показано на экране 9.
В это время диспетчер отказоустойчивого кластера настраивает хранилище диска кластера для CSV, в частности добавляет точку подключения в системном диске. В данном примере общие тома кластера включаются как на Cluster Disk 1, так и на Cluster Disk 3 с добавлением следующих точек подключения:
* C:ClusterStorageVolume1 * C:ClusterStorageVolume2
На данном этапе построен двухузловой кластер Server 2012 и включены общие тома кластера. Затем можно установить кластеризованные приложения или добавить в кластер роли. В данном случае кластер создан для виртуализации, поэтому добавляем роль виртуальной машины в кластер.
Чтобы добавить новую роль, выберите имя кластера на панели навигации диспетчера отказоустойчивого кластера и щелкните ссылку Configure Roles на панели Actions, чтобы запустить мастер высокой готовности. Нажмите кнопку Next на странице приветствия, чтобы перейти на страницу выбора роли. Прокрутите список ролей, пока не увидите роль виртуальной машины, как показано на экране 10. Выберите роль и нажмите кнопку Next.
На странице выбора виртуальной машины будут перечислены все VM на всех узлах кластера, как показано на экране 11. Прокрутите список и выберите виртуальные машины, которым необходимо обеспечить высокую готовность. Нажмите кнопку Next. Подтвердив свой выбор, нажмите Next, чтобы добавить роли виртуальной машины в диспетчер отказоустойчивого кластера.
Для отказоустойчивого кластера Windows Server 2012 требуется общее хранилище, которое может быть типа iSCSI, Serially Attached SCSI или Fibre Channel SAN. В данном отказоустойчивом кластере используется Channel SAN.
Сначала в сети iSCSI SAN были созданы три логических устройства LUN. Один LUN был создан для диска кворума кластера (520 Мбайт). Другой LUN предназначен для 10 виртуальных машин и имеет размер 375 Гбайт. Третий LUN выделен для небольшой тестовой виртуальной машины. Все три LUN представлены в формате NTFS.
После того, как были созданы LUN, была выполнена настройка iSCSI Initiator на обоих узлах Server 2012. Чтобы добавить цели iSCSI, был выбран iSCSI Initiator в меню Tools в диспетчере сервера. На вкладке Discovery я нажал кнопку Discover Portal. В результате появилось диалоговое окно Discover Portal, куда были введены IP-адрес (192.168.0.1) и порт iSCSI (3260) сети SAN.
Затем я перешел на вкладку Targets и нажал кнопку Connect. В диалоговом окне Connect To Target («Подключение к целевому серверу») я ввел целевое имя iSCSI SAN. Оно было получено из свойств SAN. Имя зависит от поставщика SAN, имени домена и имен созданных LUN. Помимо целевого имени я установил режим Add this connection to the list of Favorite Targets.
По завершении настройки iSCSI эти LUN появились на вкладке Targets iSCSI Initiator. Чтобы автоматически подключать LUN при запуске Server 2012, я убедился, что они перечислены на вкладке Favorite Targets, как показано на экране A.
Экран A. Настройка iSCSI Initiator |
Наконец, были назначены буквенные обозначения устройствам LUN с помощью оснастки Disk Management консоли управления Microsoft (MMC). Я выбрал Q для диска кворума и W для диска, используемого для виртуальных машин и общих томов кластера (CSV). При назначении буквенных обозначений необходимо сначала назначить их на одном узле. Затем нужно перевести диски в автономный режим и сделать аналогичные назначения на втором узле. Результаты назначения букв дискам для одного узла приведены на экране B. При создании кластера диски будут показаны как доступное хранилище.