Пресс-центр
Кластер - это группа из двух или более серверов, действующих совместно для обеспечения безотказной работы набора приложений или служб и воспринимаемых клиентом как единый элемент. Узлы кластера объединяются между собой с помощью аппаратных сетевых средств, совместно используемых разделяемых ресурсов и серверного программного обеспечения.
Microsoft Windows 2000/2003 поддерживает две технологии кластеризации: кластеры с балансировкой нагрузки (Network Load Balancing) и кластеры серверов.
В первом случае (кластеры с балансировкой нагрузки) служба Network Load Balancing придает службам и приложениям свойства высокого уровня надежности и масштабируемости за счет объединения до 32 серверов в единый кластер. Запросы от клиентов в данном случае распределяются среди узлов кластера прозрачным образом. При отказе узла кластер автоматически изменяет свою конфигурацию и переключает клиента на любой из доступных узлов. Этот режим конфигурации кластера также называется active-active режимом, когда одно приложение работает на нескольких узлах.
Кластер серверов распределяет свою нагрузку среди серверов кластера, причем каждый сервер несет свою собственную нагрузку. Если происходит отказ узла в кластере, то приложения и службы, настроенные на работу в кластере, прозрачным образом перезапускаются на любом из свободных узлов. Кластеры серверов используют разделяемые диски для обмена данными внутри кластера и для обеспечения прозрачного доступа к приложениям и службам кластера. Для них требуется специальное оборудование, но данная технология обеспечивает очень высокий уровень надежности, поскольку сам кластер не имеет какой-либо единственной точки отказа. Этот режим конфигурации кластера также называется active-passive режимом. Приложение в кластере работает на одном узле с общими данными, расположенными на внешнем хранилище.
Кластерный подход к организации внутренней сети дает следующие преимущества:
Высокий уровень готовности То есть, если происходит сбой службы или приложения на каком-то узле кластера, настроенного на совместную работу в кластере, кластерное программное обеспечение позволяет перезапустить это приложение на другом узле. Пользователи при этом ощутят кратковременную задержку при проведении какой-то операции либо вообще не заметят серверного сбоя. Масштабируемость Для приложений, работающих в кластере, добавление серверов к кластеру означает увеличение возможностей: отказоустойчивости, распределение нагрузки и т. д. Управляемость Администраторы, используя единый интерфейс, могут управлять приложениями и службами, устанавливать реакцию на сбой в узле кластера, распределять нагрузку среди узлов кластера и снимать нагрузку с узлов для проведения профилактических работ.
В этой статье я попытаюсь собрать свой опыт по созданию кластерных систем на базе Windows и дать небольшое пошаговое руководство по созданию двухузлового кластера серверов с разделяемым хранилищем данных.
Замечание: для создания двухузлового кластера совсем не обязательно иметь два абсолютно одинаковых сервера. После сбоя на первом сервере у вас будет немного времени, чтобы проанализировать и восстановить работу основного узла. Второй же узел будет работать на безотказность системы в целом. Однако это не означает, что второй сервер будет простаивать. Оба узла кластера могут спокойно заниматься своими делами, решать разные задачи. А вот некий критический ресурс мы и можем настроить на работу в кластере, увеличив его (этого ресурса) отказоустойчивость.
Замечание: по рекомендациям Microsoft ваш сервер должен иметь два сетевых адаптера, один для общей сети, второй для обмена данными внутри кластера. Можно ли строить кластер на одном интерфейсе - наверное, да, но я не пробовал.
При проектировании кластера вы должны понимать, что, используя одну физическую сеть как для кластерного обмена, так и для локальной сети, вы увеличиваете процент отказа всей системы. Поэтому крайне желательно для кластерного обмена данными использовать одну подсеть, выделенную в отдельный физический элемент сети. А для локальной сети стоит использовать другую подсеть. Тем самым вы увеличиваете надежность всей системы в целом.
В случае построения двухузлового кластера один коммутатор используется общей сетью. Два сервера кластера можно связать между собой кросс-кабелем напрямую, как показано на рисунке.
Это пошаговое руководство позволит вам избежать ошибок во время установки и сэкономить массу времени. Итак, начнем.
Мы немного упростим задачу. Поскольку все узлы кластера должны быть либо участниками домена, либо контроллерами домена, то корневым держателем каталога AD (Active Directory) сделаем 1-й узел кластера, на нем же будет работать DNS-служба. 2-й узел кластера будет полноправным контроллером домена.
Установку операционной системы я готов пропустить, полагая, что в этом у вас не должно быть каких-то проблем. А вот конфигурацию сетевых устройств хочется пояснить.
Перед началом установки кластера и Active Directory необходимо выполнить сетевые настройки. Все сетевые настройки хочется разделить на 4 этапа. Для распознавания имен в сети желательно иметь DNS-сервер с уже существующими записями о серверах кластера.
Каждый сервер имеет по две сетевые карты. Одна сетевая карта будет служить для обмена данными между узлами кластера, вторая будет работать на клиентов в нашей сети. Соответственно первый назовем Private Cluster Connection, второй назовем Public Cluster Connection.
Настройки сетевых адаптеров для одного и для другого сервера идентичны. Соответственно я покажу, как настроить сетевой адаптер и дам табличку с сетевыми настройками всех 4 сетевых адаптеров на обоих узлах кластера. Для настройки сетевого адаптера необходимо выполнить следующие шаги:
Private Cluster Connection → Properties → Configure → Advanced
Этот пункт требует пояснений. Дело в том, что по настоятельным рекомендациям Microsoft на всех сетевых адаптерах узлов кластера должна быть установлена оптимальная скорость работы адаптера, как показано на следующем рисунке.
(Для второго узла используйте адрес 192.168.30.2). Введите маску подсети 255.255.255.252 . В качестве адреса DNS-сервера для обоих узлов используйте адрес 192.168.100.1 .
Для конфигурирования всех сетевых адаптеров на узлах кластера используйте следующую табличку:
Узел | Сетевое имя | IP address | MASK | DNS Server |
---|---|---|---|---|
1 | Public Cluster Connection | 192.168.100.1 | 255.255.255.0 | 192.168.100.1 |
1 | Private Cluster Connection | 192.168.30.1 | 255.255.255.252 | 192.168.100.1 |
2 | Public Cluster Connection | 192.168.100.2 | 255.255.255.0 | 192.168.100.1 |
3 | Private Cluster Connection | 192.168.30.2 | 255.255.255.252 | 192.168.100.1 |
Поскольку моя статья не преследует цель рассказать об установке Active Directory, то этот пункт я опущу. Всевозможных рекомендаций, книг об этом написано достаточно много. Выберете доменное имя, вроде mycompany.ru, установите Active Directory на первом узле, добавьте второй узел в домен в качестве контроллера домена. Когда все сделаете, проверьте конфигурации серверов, Active Directory.
Для настройки внешнего массива данных в кластере необходимо помнить, что перед установкой Cluster Service на узлах вы должны сначала сконфигурировать диски на внешнем массиве, только потом устанавливать службу кластера сначала на первом узле, только потом на втором. В случае нарушения порядка установки у вас произойдет сбой, и вы не достигнете цели. Можно ли будет исправить - наверное, да. Когда появится ошибка, у вас будет время, чтобы поправить настройки. Но Microsoft столь загадочная штука, что совсем не знаешь, на какие грабли наступишь. Проще иметь перед глазами пошаговую инструкцию и не забывать нажимать на кнопки. По шагам конфигурирование внешнего массива выглядит так:
На этом конфигурация внешнего массива завершена.
Перед началом установки Cluster Service Software все узлы кластера должны быть выключены, все внешние массивы должны быть включены. Перейдем к конфигурации первого узла. Внешний массив включен, первый сервер включен. Весь процесс установки происходит с использованием Cluster Service Configuration Wizard:
Для установки и конфигурирования второго узла кластера необходимо, чтобы первый узел был включен, все сетевые диски были включены. Процедура настройки второго узла очень напоминает ту, что я описал выше. Однако есть небольшие изменения. Для этого используйте следующую инструкцию:
Для установки дополнительных узлов кластера используйте эту же инструкцию.
Чтобы вам не запутаться со всеми этапами установки кластера, приведу небольшую табличку, в которой отражены все основные этапы.
Шаг | Узел 1 | Узел 2 | Внешний массив |
---|
Введение
Кластер серверов – это группа независимых серверов под управлением службы кластеров, работающих совместно как единая система. Кластеры серверов создаются путем объединения нескольких серверов на базе Windows® 2000 Advanced Server и Windows 2000 Datacenter Server для совместной работы, обеспечивая тем самым высокий уровень доступности, масштабируемости и управляемости для ресурсов и приложений.
Задачей кластера серверов является обеспечение непрерывного доступа пользователей к приложениям и ресурсам в случаях аппаратных или программных сбоев или плановых остановках оборудования. Если один из серверов кластера оказывается недоступен по причине сбоя или его остановки для выполнения технического обслуживания, информационные ресурсы и приложения перераспределяются между остальными доступными узлами кластера.
Для кластерных систем использование термина «высокая доступность» является более предпочтительным, чем использование термина «отказоустойчивость» , поскольку технологии обеспечения отказоустойчивости предполагают более высокий уровень стойкости оборудования к внешним воздействиям и механизмов восстановления. Как правило, отказоустойчивые серверы используют высокую степень аппаратной избыточности, плюс в дополнение к этому специализированное программное обеспечение, позволяющее практически незамедлительно восстановить работу в случае любого отдельного сбоя программного или аппаратного обеспечения. Эти решения обходятся существенно дороже по сравнению с использованием кластерных технологий, поскольку организации вынуждены переплачивать за дополнительное аппаратное обеспечение, которое простаивает все основное время, и используется лишь в случае возникновения сбоев. Отказоустойчивые серверы используются для приложений, обслуживающих интенсивный поток дорогостоящих транзакций в таких сферах деятельности, как центры обработки платежных средств, банкоматы или фондовые биржи.
Хотя служба кластеров и не гарантирует безостановочной работы, она предоставляет высокий уровень доступности, достаточный для работы большинства критически важных приложений. Служба кластеров может отслеживать работу приложений и ресурсов, автоматически распознавая состояние сбоев и восстанавливая работу системы после их устранения. Это обеспечивает более гибкое управление рабочей нагрузкой внутри кластера, и повышает доступность системы в целом.
Основные преимущества, получаемые при использовании службы кластеров:
Этот документ содержит инструкции по установке службы кластеров на серверах, работающих под управлением Windows 2000 Advanced Server и Windows 2000 Datacenter Server, и описывает процесс установки службы кластеров на серверы кластерных узлов. Данное руководство не описывает установку и настройку кластерных приложений, а лишь помогает Вам пройти через весь процесс установки простого двухузлового кластера.
Следующие контрольные списки помогут Вам произвести подготовку к установке. Пошаговые инструкции по установке будут представлены далее после этих списков.
Два компьютера, удовлетворяющих требованиям списка HCL, каждый из которых имеет:
Крайне рекомендуется объединять все диски общего запоминающего устройства в аппаратные RAID-массивы. Хотя это и не является обязательным, создание отказоустойчивых конфигураций RAID является ключевым моментом в обеспечении защиты от дисковых сбоев.
Во время процесса установки некоторые узлы будут выключены, а некоторые перезагружены. Это необходимо для того, чтобы обеспечить целостность данных, расположенных на дисках, подключенных к общей шине внешнего запоминающего устройства. Повреждение данных может произойти в тот момент, когда несколько узлов одновременно попытаются произвести запись на один и тот же диск, не защищенный программным обеспечением кластера.
Таблица 1 поможет Вам определить, какие узлы и запоминающие устройства должны быть включены на каждом этапе установки.
Это руководство описывает создание двухузлового кластера. Тем не менее, если Вы устанавливаете кластер с более чем двумя узлами, Вы можете использовать значение столбца «Узел 2» для определения состояния остальных узлов.
Таблица 1. Последовательность включения устройств при установке кластера
Шаг | Узел 1 | Узел 2 | Устройство хранения | Комментарий |
Установка параметров сети | Вкл. | Вкл. | Выкл. | Убедитесь, что все устройства хранения, подключенные к общей шине, выключены. Включите все узлы. |
Настройка общих дисков | Вкл. | Выкл. | Вкл. | Выключите все узлы. Включите общее запоминающее устройство, затем включите первый узел. |
Проверка конфигурации общих дисков | Выкл. | Вкл. | Вкл. | Выключите первый узел, включите второй узел. При необходимости повторите для узлов 3 и 4. |
Конфигурирование первого узла | Вкл. | Выкл. | Вкл. | Выключите все узлы; включите первый узел. |
Конфигурирование второго узла | Вкл. | Вкл. | Вкл. | После успешной конфигурации первого узла включите второй узел. При необходимости повторите для узлов 3 и 4. |
Завершение установки | Вкл. | Вкл. | Вкл. | К этому моменту все узлы должны быть включены. |
Перед установкой программного обеспечения кластеров необходимо выполнить следующие шаги:
Выполните эти шаги на каждом узле кластера прежде, чем приступать к установке службы кластеров на первом узле.
Для конфигурирования службы кластеров на сервере под управлением Windows 2000 Ваша учетная запись должна иметь права администратора на каждом узле. Все узлы кластера должны быть одновременно либо рядовыми серверами, либо контроллерами одного и того же домена. Смешанное использование рядовых серверов и контроллеров домена в кластере недопустимо.
Для установки Windows 2000 на каждом узле кластера обратитесь к документации, которую Вы получили в комплекте с операционной системой.
В этом документе используется структура имен из руководства "Step-by-Step Guide to a Common Infrastructure for Windows 2000 Server Deployment" . Однако, Вы можете использовать любые имена.
Прежде, чем начинать установку службы кластеров, Вы должны выполнить вход систему под учетной записью администратора
Примечание: На этом этапе установки выключите все общие запоминающие устройства, а затем включите все узлы. Вы должны исключить возможность одновременного доступа нескольких узлов к общему запоминающему устройству до того момента, когда служба кластеров будет установлена, по крайней мере, на одном из узлов, и этот узел будет включен.
На каждом узле должно быть установлено как минимум два сетевых адаптера – один для подключения к публичной сети, и один для подключения к частной сети, состоящей из узлов кластера.
Сетевой адаптер частной сети обеспечивает взаимодействие между узлами, передачу сведений о текущем состоянии кластера и управление кластером. Сетевой адаптер публичной сети каждого узла соединяет кластер с публичной сетью, состоящей из клиентских компьютеров.
Убедитесь, что все сетевые адаптеры правильно подключены физически: адаптеры частной сети подключены только к другим адаптерам частной сети, и адаптеры публичной сети подключены к коммутаторам публичной сети. Схема подключения изображена на Рисунке 1. Выполните такую проверку на каждом узле кластера, прежде чем переходить к настройке дисков общего запоминающего устройства.
Рисунок 1: Пример двухузлового кластера
Конфигурирование сетевого адаптера частной сети
Выполните эти шаги на первом узле Вашего кластера.
Примечание: Какой сетевой адаптер будет обслуживать частную сеть, а какой публичную, зависит от физического подключения сетевых кабелей. В данном документе мы будем предполагать, что первый адаптер (Подключение по локальной сети) подключен к публичной сети, а второй адаптер (Подключение по локальной сети 2) подключен к частной сети кластера. В Вашем случае это может быть не так.
Рисунок 2: Дополнительные настройки сетевого адаптера
Все сетевые адаптеры кластера, подключенные к одной сети, должны быть одинаково настроены и использовать одинаковые значения параметров Дуплексный режим , Управление потоком , Тип подключения , и т. д. Даже если на разных узлах используется различное сетевое оборудование, значения этих параметров должны быть одинаковыми.
Ваше диалоговое окно должно выглядеть, как изображено на Рисунке 3.
Рисунок 3: IP-адрес подключения к частной сети
Конфигурирование сетевого адаптера публичной сети
Примечание: Если в публичной сети работает DHCP-сервер, IP-адрес для сетевого адаптера публичной сети может назначаться автоматически. Однако для адаптеров узлов кластера этот способ использовать не рекомендуется. Мы настоятельно рекомендуем назначать постоянные IP-адреса для всех публичных и частных сетевых адаптеров узлов. В противном случае при отказе DHCP-сервера доступ к узлам кластера может оказаться невозможным. Если же Вы вынуждены использовать DHCP для сетевых адаптеров публичной сети, используйте длительные сроки аренды адресов – это даст гарантию того, что динамически назначенный адрес останется действительным, даже если DHCP-сервер окажется временно недоступным. Адаптерам частной сети всегда назначайте постоянные IP-адреса. Помните, что служба кластеров может распознавать только один сетевой интерфейс в каждой подсети. Если Вам нужна помощь в вопросах назначения сетевых адресов в Windows 2000, обратитесь к встроенной справке операционной системы.
Переименование сетевых подключений
Для ясности мы рекомендуем изменить названия сетевых подключений. Например, Вы можете изменить название подключения Подключение по локальной сети 2 на . Такой метод поможет Вам проще идентифицировать сети и правильно назначать их роли.
Рисунок 4: Переименованные сетевые подключения
Проверка сетевых соединений и разрешений имен
Для проверки работы настроенного сетевого оборудования, выполните следующие шаги для всех сетевых адаптеров каждого узла. Для этого Вы должны знать IP-адреса всех сетевых адаптеров в кластере. Вы можете получить эту информацию, выполнив команду ipconfig на каждом узле:
Номер узла | Имя сетевого подключения | IP-адрес сетевого адаптера |
1 | Подключение к публичной сети | 172.16.12.12 |
1 | Подключение к частной сети кластера | 10.1.1.1 |
2 | Подключение к публичной сети | 172.16.12.14 |
2 | Подключение к частной сети кластера | 10.1.1.2 |
В этом примере Вам нужно выполнить команды ping 172.16.12.14 и ping 10.1.1.2 с узла 1, и выполнить команды ping 172.16.12.12 и ping 10.1.1.1 с узла 2.
Чтобы проверить разрешение имен, выполните команду ping , используя в качестве аргумента имя компьютера вместо его IP-адреса. Например, чтобы проверить разрешение имени для первого узла кластера с именем hq-res-dc01, выполните команду ping hq-res-dc01 с любого клиентского компьютера.
Проверка принадлежности к домену
Все узлы кластера должны являться членами одного домена и иметь возможности сетевого взаимодействия с контроллером домена и DNS-сервером. Узлы могут быть сконфигурированы как рядовые сервера домена или как контроллеры одного и того же домена. Если Вы решите сделать один из узлов контроллером домена, то все остальные узлы кластера также должны быть сконфигурированы как контроллеры этого же домена. В этом руководстве предполагается, что все узлы являются контроллерами домена.
Примечание: Для получения ссылок на дополнительную документацию по настройке доменов, служб DNS и DHCP в Windows 2000 смотрите раздел Связанные ресурсы в конце этого документа.
Создание учетной записи службы кластеров
Для службы кластеров необходимо создать отдельную доменную учетную запись, от имени которой она будет запускаться. Программа установки потребует ввода учетных данных для службы кластеров, поэтому учетная запись должна быть создана до начала установки службы. Учетная запись не должна принадлежать какому-либо пользователю домена, и должна использоваться исключительно для работы службы кластеров.
Рисунок 5: Добавление пользователя Cluster
Примечание: Если Ваша административная политика безопасности не позволяет использовать пароли с неограниченным сроком действия, Вы должны будете обновить пароль и произвести конфигурацию службы кластеров на каждом узле до истечения срока его действия.
Предупреждение: Убедитесь, что, по крайней мере, на одном из узлов кластера установлена операционная система Windows 2000 Advanced Server или Windows 2000 Datacenter Server, а также настроена и работает служба кластеров. Только после этого можно загружать операционную систему Windows 2000 на остальных узлах. Если эти условия не будут выполнены, диски кластера могут быть повреждены.
Чтобы приступить к настройке дисков общего запоминающего устройства, выключите все узлы. После этого включите общее запоминающее устройство, затем включите узел 1.
Диск кворума
Диск кворума используется для хранения контрольных точек и файлов журнала восстановления базы данных кластера, обеспечивая управление кластером. Мы даем следующие рекомендации для создания диска кворума:
В процессе установки службы кластеров Вы будете должны назначить букву диску кворума. В нашем примере мы будем использовать букву Q .
Конфигурирование дисков общего запоминающего устройства
Щелкните правой кнопкой мыши область Не распределен рядом с соответствующим диском.
Назначение букв дискам
После того, как шина данных, диски и разделы общего запоминающего устройства сконфигурированы, необходимо назначить буквы диска для всех разделов всех дисков кластера.
Примечание: Точки подключения – это функциональная возможность файловой системы, которая позволяет Вам устанавливать файловую систему, используя существующие каталоги, без назначения буквы диска. Точки подключения не поддерживаются кластерами. Любой внешний диск, используемый в качестве ресурса кластера, должен быть разбит на NTFS разделы, и этим разделам должны быть назначены буквы диска.
Рисунок 6: Разделы дисков с назначенными буквами
Повторите процедуру для всех дисков кластера, чтобы убедиться, что они доступны с первого узла.
Теперь выключите первый узел, включите второй узел и повторите шаги раздела Проверка работы и общего доступа к дискам . Выполните эти же шаги на всех дополнительных узлах. После того, как Вы убедитесь, что все узлы могут считывать и записывать информацию на диски общего запоминающего устройства, выключите все узлы, кроме первого, и переходите к следующему разделу.
тБВПФБФШ ОБ ПДОПК НБЫЙОЕ ХЦЕ ОЕ НПДОП
ЙМЙ ДЕМБЕН ЛМБУФЕТ Ч ДПНБЫОЙИ ХУМПЧЙСИ.
1 10.152.1.1
5
зДЕ РЕТЧЩК РБТБНЕФТ ПВПЪОБЮБЕФ ОПНЕТ ОБЮБМШОПЗП ХЪМБ, ЧФПТПК
- IP БДТЕУ РЕТЧПЗП ХЪМБ Й РПУМЕДОЙК - ЛПМЙЮЕУФЧП ХЪМПЧ У ФЕЛХЭЕЗП. ф.Е.
УЕКЮБУ Х ОБУ Ч ЛМБУФЕТЕ ПМХЮБЕФУС РСФШ ХЪМПЧ, IP БДТЕУБ ЛПФПТЩК ЪБЛБОЮЙЧБАФУС
ОБ 1, 2, 3, 4 Й 5.
йМЙ ДТХЗПК РТЙНЕТ:
оПНЕТ ХЪМБ IP
ЛПМЙЮЕУФЧП ХЪМПЧ У ФЕЛХЭЕЗП
______________________________________
1 10.152.1.1
1
2 10.150.1.55
2
4 10.150.1.223
1
ч ЬФПК ЛПОЖЙЗХТБГЙЙ НЩ РПМХЮЙН УМЕДХАЭЙК ТБУЛМБД:
IP 1-ПЗП ХЪМБ 10.150.1.1
IP 2-ПЗП ХЪМБ 10.150.1.55
IP 3-ПЗП ХЪМБ 10.150.1.56
IP 4-ПЗП ХЪМБ 10.150.1.223
фЕРЕТШ ОХЦОП ОБ ЧУЕИ НБЫЙОБИ ВХДХЭЕЗП ЛМБУФЕТБ ХУФБОПЧЙФШ MOSIX Й УПЪДБФШ
ЧЕЪДЕ ПДЙОБЛПЧЩК ЛПОЖЙЗХТБГЙПООЩК ЖБКМ /etc/mosix.map .
фЕРЕТШ РПУМЕ РЕТЕЪБРХУЛБ mosix ЧБЫБ НБЫЙОБ ХЦЕ ВХДЕФ ТБВПФБФШ Ч ЛМБУФЕТЕ,
ЮФП НПЦОП ХЧЙДЕФШ ЪБРХУФЙЧ НПОЙФПТ ЛПНБОДПК mon. ч УМХЮБЕ, ЕУМЙ ЧЩ ХЧЙДЙФЕ
Ч НПОЙФПТЕ ФПМШЛП УЧПА НБЫЙОХ ЙМЙ ЧППВЭЕ ОЕ ХЧЙДЙФЕ ОЙЛПЗП, ФП, ЛБЛ ЗПЧПТЙФУС
- ОБДП ТЩФШ. уЛПТЕЕ ЧУЕЗП Х ЧБУ ПЫЙВЛБ ЙНЕООП Ч /etc/mosix.map.
оХ ЧПФ, ХЧЙДЙМЙ, ОП ОЕ РПВЕДЙМЙ. юФП ДБМШЫЕ? б ДБМШЫЕ
ПЮЕОШ РТПУФП:-) - ОХЦОП УПВТБФШ ХФЙМЙФЩ ДМС ТБВПФЩ У ЙЪНЕОЕООЩН
/proc ЙЪ РБЛЕФБ mproc. ч ЮБУФОПУФЙ Ч ЬФПН РБЛЕФЕ ЙДЕФ ОЕРМПИБС НПДЙЖЙЛБГЙС
top - mtop, Ч ЛПФПТЩК ДПВБЧЙМЙ ЧПЪНПЦОПУФШ ПФПВТБЦЕОЙС ХЪМБ(node),
УПТФЙТПЧЛЙ РП ХЪМБН, РЕТЕОПУБ РТПГЕУУБ У ФЕЛХЭЕЗП ХЪМБ ОБ ДТХЗПК Й ХУФБОПЧМЕОЙС
НЙОЙНБМШОПК ЪБЗТХЪЛЙ РТПГЕУУПТБ ХЪМБ, РПУМЕ ЛПФПТПК РТПГЕУУЩ ОБЮЙОБАФ НЙЗТЙТПЧБФШ
ОБ ДТХЗЙЕ MOSIX - ХЪМЩ.
ъБРХУЛБЕН mtop, ЧЩВЙТБЕН РПОТБЧЙЧЫЙКУС ОЕ УРСЭЙК
РТПГЕУУ (ТЕЛПНЕОДХА ЪБРХУФЙФШ bzip) Й УНЕМП ДБЧЙН ЛМБЧЙЫХ "g" ОБ ЧБЫЕК
ЛМБЧЙБФХТЕ, РПУМЕ ЮЕЗП ЧЧПДЙН ОБ ЪБРТПУ PID ЧЩВТБООПЗП Ч ЛБЮЕУФЧЕ ЦЕТФЧЩ
РТПГЕУУБ Й ЪБФЕН - ОПНЕТ ХЪМБ, ЛХДБ НЩ ИПФЙН ЕЗП ПФРТБЧЙФШ. б ХЦЕ РПУМЕ
ЬФПЗП ЧОЙНБФЕМШОП РПУНПФТЙФЕ ОБ ТЕЪХМШФБФЩ, ПФПВТБЦБЕНЩЕ ЛПНБОДПК mon -
ФБ НБЫЙОБ ДПМЦОБ ОБЮБФШ ВТБФШ ОБ УЕВС ОБЗТХЪЛХ ЧЩВТБООПЗП РТПГЕУУБ.
б УПВУФЧЕООП mtop - Ч РПМЕ #N ПФПВТБЦБФШ ОПНЕТ ХЪМБ,
ЗДЕ ПО ЧЩРПМОСЕФУС.
оП ЬФП ЕЭЕ ОЕ ЧУЕ - ЧЕДШ ЧБН РТБЧДБ ОЕ ИПЮЕФУС ПФРТБЧМСФШ ОБ ДТХЗЙЕ
ХЪМЩ РТПГЕУУЩ ЧТХЮОХА? нОЕ ОЕ ЪБИПФЕМПУШ. х MOSIX ЕУФШ ОЕРМПИБС ЧУФТПЕООБС
ВБМБОУЙТПЧЛБ ЧОХФТЙ ЛМБУФЕТБ, ЛПФПТБС РПЪЧПМСЕФ ВПМЕЕ-НЕОЕЕ ТБЧОПНЕТОП
ТБУРТЕДЕМСФШ ОБЗТХЪЛХ ОБ ЧУЕ ХЪМЩ. оХ Б ЧПФ ЪДЕУШ ОБН РТЙДЕФУС РПФТХДЙФУС.
дМС ОБЮБМБ С ТБУУЛБЦХ, ЛБЛ УДЕМБФШ ФПОЛХА ОБУФТПКЛХ (tune) ДМС ДЧХИ ХЪМПЧ
ЛМБУФЕТБ? Ч РТПГЕУУЕ ЛПФПТПК MOSIX РПМХЮБЕФ ЙОЖПТНБГЙА П УЛПТПУФСИ РТПГЕУУПТПЧ
Й УЕФЙ:
ъБРПНОЙФЕ ТБЪ Й ОБЧУЕЗДБ - tune НПЦОП ЧЩРПМОСФШ
ФПМШЛП Ч single-mode. йОБЮЕ ЧЩ МЙВП РПМХЮЙФЕ ОЕ УПЧУЕН ЛПТТЕЛФОЩК ТЕЪХМШФБФ,
МЙВП ЧБЫБ НБЫЙОБ НПЦЕФ РТПУФП ЪБЧЙУОХФШ.
йФБЛ, ЧЩРПМОСЕН tune. рПУМЕ РЕТЕЧПДБ ПРЕТБГЙПООПК УЙУФЕНЩ Ч single
- mode ОБРТЙНЕТ ЛПНБОДПК init 1 ЙМЙ init S ЪБРХУЛБЕН УЛТЙРФ prep_tune,
ЛПФПТЩК РПДОЙНЕФ cЕФЕЧЩЕ
ЙОФЕТЖЕКУЩ Й ЪБРХУФЙФ MOSIX. рПУМЕ ЬФПЗП ОБ ПДОПК ЙЪ НБЫЙО ЪБРХУЛБЕН
tune, ЧЧПДЙН ЕНХ ОПНЕТ ДТХЗПЗП ХЪМБ ДМС ОБУФТПКЛЙ Й ЦДЕН ТЕЪХМШФБФБ - ХФЙМЙФБ
ДПМЦОБ ЧЩДБФШ ЪБРТПУ ОБ ЧЧПД ЫЕУФЙ ЮЙУЕМ, РПМХЮЕООЩИ ПФ ЧЩРПМОЕОЙС ЛПНБОДЩ
tune -a <ХЪЕМ> ОБ ДТХЗПН ХЪМЕ. уПВУФЧЕООП ПРЕТБГЙА РТЙДЕФУС РПЧФПТЙФШ
ОБ ДТХЗПН ХЪМЕ ЛПНБОДПК tune -a <ХЪЕМ>, Б ТЕЪХМШФБФ ЙЪ ЫЕУФЙ ЮЙУЕМ ЧЧЕУФЙ
ОБ РЕТЧЩК ХЪЕМ. рПУМЕ РПДПВОПЗП ФАОЙОЗБ Ч ЧБЫЕК УЙУФЕНЕ ДПМЦЕО РПСЧЙФУС
ЖБКМ /etc/overheads, УПДЕТЦБЭЙК ЙОЖПТНБГЙА ДМС MOSIX Ч ЧЙДЕ ОЕЛЙИ ЮЙУМПЧЩИ
ДБООЩИ. ч УМХЮБЕ, ЕУМЙ РП ЛБЛЙН-ФП РТЙЮЙОБН tune ОЕ УНПЗ УДЕМБФШ ЕЗП, РТПУФП
УЛПРЙТХКФЕ ЙЪ ФЕЛХЭЕЗП ЛБФБМПЗБ ЖБКМ mosix.cost Ч /etc/overheads. ьФП РПНПЦЕФ;-).
рТЙ ФАОЙОЗЕ ЛМБУФЕТБ ЙЪ ВПМЕЕ ЮЕН ДЧХИ НБЫЙО ОХЦОП
ЙУРПМШЪПЧБФШ ХФЙМЙФХ, ЛПФПТБС ФБЛЦЕ РПУФБЧМСЕФУС У MOSIX - tune_kernel.
дБООБС ХФЙМЙФБ РПЪЧПМСЕФ
ЧБН Ч ВПМЕЕ РТПУФПН Й РТЙЧЩЮОПН ЧЙДЕ ОБУФТПЙФШ ЛМБУФЕТ, ПФЧЕФЙЧ ОБ
ОЕУЛПМШЛП ЧПРТПУПЧ Й РТПЧЕДС ФАОЙОЗ У ДЧХНС НБЫЙОБНЙ ЛМБУФЕТБ.
лУФБФЙ, РП УПВУФЧЕООПНХ ПРЩФХ НПЗХ УЛБЪБФШ, ЮФП
РТЙ ОБУФТПКЛЕ ЛМБУФЕТБ С ТЕЛПНЕОДХА ЧБН ОЕ ЪБЗТХЦБФШ УЕФШ, Б ОБПВПТПФ -
РТЙПУФБОПЧЙФШ ЧУЕ БЛФЙЧОЩЕ ПРЕТБГЙЙ Ч МПЛБМШОПК УЕФЙ.
mosctl
- ЛПОФТПМШ ОБД ХЪМПН. рПЪЧПМСЕФ ЙЪНЕОСФШ РБТБНЕФТЩ
ХЪМБ - ФБЛЙЕ, ЛБЛ block, stay, lstay, delay Й Ф.Д
дБЧБКФЕ ТБУУНПФТЙН ОЕУЛПМШЛП РБТБНЕФТПЧ ЬФПК ХФЙМЙФЩ:
stay
- РПЪЧПМСЕФ ПУФБОБЧМЙЧБФШ НЙЗТБГЙА РТПГЕУУПЧ ОБ
ДТХЗЙЕ ХЪМЩ У ФЕЛХЭЕК НБЫЙОЩ. пФНЕОСЕФУС РБТБНЕФТПН nostay ЙМЙ -stay
lstay
- ЪБРТЕЭБЕФ ФПМШЛП МПЛБМШОЩН РТПГЕУУБН НЙЗТБГЙА,
Б РТПГЕУУЩ У ДТХЗЙИ НБЫЙО НПЗХФ РТПДПМЦБФШ ЬФП ДЕМБФШ. пФНЕОСЕФУС РБТБНЕФТПН
nolstay ЙМЙ -lstay.
block
- ЪБРТЕЭБЕФ ХДБМЕООЩН/ЗПУФЕЧЩН РТПГЕУУБН ЧЩРПМОСФУС
ОБ ЬФПН ХЪМЕ. пФНЕОСЕФУС РБТБНЕФТПН noblock ЙМЙ -block.
bring
- ЧПЪЧТБЭБЕФ ПВТБФОП ЧУЕ РТПГЕУУЩ У ФЕЛХЭЕЗП ХЪМБ
ЧЩРПМОСЕНЩЕ ОБ ДТХЗЙИ НБЫЙОБИ ЛМБУФЕТБ. ьФПФ РБТБНЕФТ НПЦЕФ ОЕ УТБВБФЩЧБФШ,
РПЛБ НЙЗТЙТПЧБЧЫЙК РТПГЕУУ ОЕ РПМХЮЙФ РТЕТЩЧБОЙЕ ПФ УЙУФЕНЩ.
setdelay
ХУФБОБЧМЙЧБЕФ ЧТЕНС, РПУМЕ ЛПФПТПЗП РТПГЕУУ
ОБЮЙОБЕФ НЙЗТЙТПЧБФШ.
чЕДШ УПЗМБУЙФЕУШ - Ч УМХЮБЕ, ЕУМЙ ЧТЕНС ЧЩРПМОЕОЙС РТПГЕУУБ НЕОШЫЕ
УЕЛХОДЩ УНЩУМ РЕТЕОПУЙФШ ЕЗП ОБ ДТХЗЙЕ НБЫЙОЩ УЕФЙ ЙУЮЕЪБЕФ. йНЕООП ЬФП
ЧТЕНС Й ЧЩУФБЧМСЕФУС ХФЙМЙФПК mosctl У РБТБНЕФТПН setdecay. рТЙНЕТ:
mosctl setdecay 1 500 200
ХУФБОБЧМЙЧБЕФ ЧТЕНС РЕТЕИПДБ ОБ ДТХЗЙЕ ХЪМЩ 500 НЙММЙУЕЛХОД Ч УМХЮБЕ,
ЕУМЙ РТПГЕУУ ЪБРХЭЕО ЛБЛ slow Й 200 НЙМЙУЕЛХОД ДМС fast РТПГЕУУПЧ. пВТБФЙФЕ
ЧОЙНБОЙЕ, ЮФП РБТБНЕФТ slow ЧУЕЗДБ ДПМЦЕО ВЩФШ ВПМШЫЕ ЙМЙ ТБЧЕО РБТБНЕФТХ
fast.
mosrun
- ЪБРХУЛБЕФ РТЙМПЦЕОЙЕ Ч ЛМБУФЕТЕ. ОБРТЙНЕТ mosrun
-e -j5 make ЪБРХУФЙФ make ОБ 5-ПН ХЪМЕ ЛМБУФЕТБ, РТЙ ЬФПН ЧУЕ ЕЗП ДПЮЕТОЙЕ
РТПГЕУУЩ ВХДХФ ФБЛЦЕ ЧЩРПМОСФУС ОБ 5-ПН ХЪМЕ. рТБЧДБ ЪДЕУШ ЕУФШ ПДЙО ОАБОУ,
РТЙ ЮЕН ДПЧПМШОП УХЭЕУФЧЕООЩК:
Ч УМХЮБЕ, ЕУМЙ ДПЮЕТОЙЕ РТПГЕУУЩ ЧЩРПМОСАФУС ВЩУФТЕЕ ЮЕН ХУФБОПЧМЕООБС
ХФЙМЙФПК mosctl ЪБДЕТЦЛБ (delay) ФП РТПГЕУУ ОЕ ВХДЕФ НЙЗТЙТПЧБФШ ОБ ДТХЗЙЕ
ХЪМЩ ЛМБУФЕТБ. Х mosrun ЕЭЕ ДПЧПМШОП НОПЗП ТБЪМЙЮОЩИ ЙОФЕТЕУОЩИ РБТБНЕФТПЧ,
ОП РПДТПВОП ХЪОБФШ
П ОЙИ ЧЩ УНПЦЕФЕ ЙЪ ТХЛПЧПДУФЧБ РП ЬФПК ХФЙМЙФЕ. (man mosrun)
mon - ЛБЛ НЩ ХЦЕ ЪОБЕН, ЬФП НПОЙФПТ ЛМБУФЕТБ, ЛПФПТЩК Ч РУЕЧДПЗТБЖЙЮЕУЛПН ЧЙДЕ ПФПВТБЦБЕФ ЪБЗТХЪЛХ ЛБЦДПЗП ТБВПЮЕЗП ХЪМБ ЧБЫЕЗП ЛМБУФЕТБ, ЛПМЙЮЕУФЧП УЧПВПДОПК Й ЪБОСФПК РБНСФЙ ХЪМПЧ Й ЧЩДБЕФ НОПЗП ДТХЗПК, ОЕ НЕОЕЕ ЙОФЕТЕУОПК ЙОЖПТНБГЙЙ.
mtop - НПДЙЖЙГЙТПЧБООБС ДМС ЙУРПМШЪПЧБОЙС ОБ ХЪМБИ ЛМБУФЕТБ ЧЕТУЙС ЛПНБОДЩ top. пФПВТБЦБЕФ ОБ ЬЛТБОЕ ДЙОБНЙЮЕУЛХА ЙОЖПТНБГЙА П РТПГЕУУБИ, ЪБРХЭЕООЩИ ОБ ДБООПН ХЪМЕ, Й ХЪМБИ, ЛХДБ НЙЗТЙТПЧБМЙ ЧБЫЙ РТПГЕУУЩ.
mps - ФПЦЕ НПДЙЖЙГЙТПЧБООБС ЧЕТУЙС ЛПНБОДЩ ps. дПВБЧМЕОП ЕЭЕ ПДОП РПМЕ - ОПНЕТ ХЪМБ, ОБ ЛПФПТЩК НЙЗТЙТПЧБМ РТПГЕУУ.
чПФ ОБ НПК ЧЪЗМСД Й ЧУЕ ПУОПЧОЩЕ ХФЙМЙФЩ. оБ УБНПН ДЕМЕ ЛПОЕЫОП НПЦОП
ПВПКФЙУШ ДБЦЕ ВЕЪ ОЙИ. оБРТЙНЕТ ЙУРПМШЪХС ДМС ЛПОФТПМС ОБД ЛМБУФЕТПН /proc/mosix.
фБН ЛТПНЕ ФПЗП, ЮФП НПЦОП ОБКФЙ ПУОПЧОХА ЙОЖПТНБГЙА П ОБУФТПКЛБИ ХЪМБ,
РТПГЕУУБИ ЪБРХЭЕООЩИ У ДТХЗЙИ ХЪМПЧ Й Ф.Д.,Б ФБЛЦЕ РПНЕОСФШ ЮБУФШ РБТБНЕФТПЧ.
В первую очередь определитесь с тем, какие компоненты и ресурсы потребуются. Вам нужен будет один главный узел, минимум десяток идентичных вычислительных узлов, свитч Ethernet, блок распределения питания и стойка. Определите мощность проводки и охлаждения, а также площадь пространства, которые вам потребуются. Также определитесь, какие IP адреса вы хотите использовать для узлов, какое ПО вы поставите и какие технологии потребуются для создания параллельных вычислительных мощностей (подробнее об этом ниже).
Смонтируйте ноды. Вам нужно будет собрать узлы сети или приобрести предварительно собранные серверы.
Установите серверы в стойку. Начинайте снизу, чтобы стойка не была перегружена сверху. Вам понадобится помощь друга - собранные серверы могут быть очень тяжелыми, и ставить их в ячейки, на которых они держатся в стойке, довольно сложно.
Установите свитч Ethernet рядом со стойкой. Стоит сразу же сконфигурировать свитч: установите размер джамбо-кадров 9000 байт, установите статический IP адрес, который вы выбрали на шаге 1 и выключите ненужные протоколы, такие как SMTP.
Установите распределитель питания (PDU, или Power Distribution Unit). В зависимости от того, какую максимальную нагрузку выдают ноды в вашей сети, вам может потребоваться 220 вольт для высокопроизводительного компьютера.
Когда все установлено, переходите к конфигурированию. Linux по факту является основной системой для высокопроизводительных (HPC) кластеров – он не только идеально подходит в качестве окружения для научных вычислений, но вам еще и не придется платить за установку системы на сотни и даже тысячи узлов. Представьте, во сколько обошлась бы установка Windows на все ноды!
Установите интерфейс передачи сообщений, менеджер ресурсов и другие необходимые библиотеки. Если вы не поставили Rocks на предыдущем шаге, вам придется вручную устанавливать необходимое программное обеспечение, чтобы настроить логику параллельных вычислений.
Соедините компьютеры в сеть. Главная нода посылает задачи для вычисления на подчиненные ноды, которые в свою очередь должны вернуть результат обратно, а также отправлять сообщения друг другу. И чем быстрее все это происходит, тем лучше.
Протестируйте кластер. Последнее, что вам стоит сделать перед тем, как дать доступ пользователям к компьютерным мощностям - протестировать производительность. HPL (High Performance Lynpack) benchmark - популярный вариант для измерения скорости вычислений в кластере. Вам нужно скомпилировать ПО из исходников с самой высокой степенью оптимизации, которую позволяет ваш компилятор для той архитектуры, которую вы выбрали.