Как создать кластер на компьютере

Обновлено: 21.11.2024

Несколько вычислительных узлов или хостов, которые работают вместе для поддержки приложения или промежуточного ПО, такого как база данных. Кластер — это группа взаимосвязанных компьютеров или хостов, которые работают вместе для поддержки приложений и промежуточного программного обеспечения (например, баз данных). В кластере каждый компьютер называется «узлом». В отличие от грид-компьютеров, где каждый узел выполняет отдельную задачу, компьютерные кластеры назначают одну и ту же задачу каждому узлу. Узлы в кластере обычно связаны друг с другом через высокоскоростные локальные сети. На каждом узле работает собственный экземпляр операционной системы. Компьютерный кластер может варьироваться от простой двухузловой системы, соединяющей два персональных компьютера, до суперкомпьютера с кластерной архитектурой. Компьютерные кластеры часто используются для экономичных высокопроизводительных вычислений (HPC) и высокой доступности (HA). В случае сбоя одного компонента в компьютерном кластере другие узлы продолжают обеспечивать бесперебойную работу. Компьютерный кластер может обеспечить более высокую скорость обработки, большую емкость хранилища, лучшую целостность данных, большую надежность и более широкую доступность ресурсов. Компьютерные кластеры обычно предназначены для определенных функций, таких как балансировка нагрузки, высокая доступность, высокая производительность или крупномасштабная обработка.

Что такое кластеризация в компьютерной сети?

  • Отказоустойчивые кластеры состоят из 2 или более компьютеров, подключенных к сети, с отдельным пульсирующим соединением между двумя хостами. Соединение Heartbeat между двумя компьютерами используется для контроля за тем, все ли службы все еще используются: как только служба на одном компьютере выходит из строя, другие компьютеры пытаются взять на себя управление.
  • Концепция кластеров с балансировкой нагрузки заключается в том, что когда поступает запрос, скажем, к веб-серверу, кластер проверяет, какая машина наименее занята, а затем отправляет запрос на эту машину. Кластер балансировки нагрузки обычно также является отказоустойчивым кластером, но с дополнительными функциями балансировки нагрузки и часто с большим количеством узлов.
  • Кластер высокопроизводительных вычислений: компьютеры настраиваются специально для того, чтобы дать центрам обработки данных, которым требуется экстремальная производительность, то, что им нужно. Кластеры такого типа также имеют некоторые функции балансировки нагрузки; они пытаются распространить различные процессы на большее количество машин, чтобы повысить производительность. Но что отличает эту ситуацию, так это то, что процесс распараллеливается, и подпрограммы, которые можно запускать отдельно, будут распределены по разным машинам, вместо того, чтобы ждать, пока они будут выполнены одна за другой.

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

Изображение предоставлено: Блас М. Бенито

В этом посте я объясню, как настроить небольшой кластер Beowulf с персональным ПК под управлением Ubuntu 20.04 и парой Intel NUC под управлением Ubuntu Server 20.04 с конечной целью распараллеливания задач R.

  • Необходимый материал
  • Настройки сети
  • Установка протокола защищенной оболочки
  • Установка сервера Ubuntu в NUC
  • Установка R в NUC
  • Управление сетью кластера

Преамбула

У меня есть небольшая, но приятная модель HP ENVY TE01-0008ns с 32 ГБ ОЗУ, 8 ЦП и 3 ТБ жесткого диска под управлением Ubuntu 20.04, которую я использую для выполнения всех своих вычислительных задач (и большинства моего твиттера). Несколько месяцев назад я соединил его с двумя моими ноутбуками (один из них уже умер, RIP мой дорогой skynet), чтобы создать небольшой кластер для выполнения параллельных задач в R.

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

Именно здесь в игру вступают симпатичные INTEL NUC (от Next Unit of Computing). NUC – это полноценные компьютеры в небольших коробках, обычно продаваемые без модулей оперативной памяти и жесткого диска (отсюда и термин barebone). Поскольку они потребляют мало энергии, я подумал, что они идеально подойдут для моего будущего домашнего кластера.

Материал

Я подарил себе:

Весь набор стоил около 530 евро, но обратите внимание, что у меня была четкая цель: «дублировать» мою вычислительную мощность с минимальным количеством NUC, сохраняя при этом долю 4 ГБ ОЗУ на каждый ЦП. кластер (исходя из особенностей моего настольного компьютера). Более базовая настройка с более скромными NUC и меньшей оперативной памятью обойдется вдвое дешевле.

В этом поучительном видеоролике Дэвида Гарри показано, как установить твердотельный накопитель и модули оперативной памяти в Intel NUC. Это действительно занимает максимум 5 минут, нужно только быть немного осторожным с планками RAM, штифты должны полностью войти в свои слоты, прежде чем закрепить палки на месте.

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

Перед началом установки операционной системы в NUCS настройка сети выполняется следующим образом:

  • Мой настольный ПК подключен к маршрутизатору через WIFI и динамический IP-адрес (DHCP).
  • ПК и каждый NUC подключены к коммутатору с помощью кабелей Ethernet категории 6.

Чтобы совместно использовать WIFI-соединение моего ПК с NUC, мне нужно подготовить новый профиль подключения с помощью инструмента командной строки NetworkManager Ubuntu с именем nmcli , как показано ниже.

Во-первых, мне нужно найти имя моего интерфейса Ethernet, проверив состояние моих сетевых устройств с помощью командной строки.

Там я вижу, что мой интерфейс Ethernet называется enp2s0 .

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

Если ifname enp2s0 — это имя интерфейса, который я хочу использовать для нового подключения, ipv4.method shared — это тип подключения, а con-name cluster — это имя, которое я хочу использовать для подключения. Эта операция добавляет правила брандмауэра для управления трафиком в сети кластера, запускает DHCP-сервер на компьютере, который обслуживает IP-адреса для NUCS, и DNS-сервер, который позволяет NUC преобразовывать интернет-адреса.

После включения переключателя я могу снова проверить состояние подключения с помощью

При проверке IP-адреса устройства с помощью bash ifconfig он должен дать 10.42.0.1 . Любой другой компьютер в сети кластера будет иметь динамический IP-адрес в диапазоне 10.42.0.1/24 .

Дополнительные сведения о том, как установить общее подключение с помощью NetworkManager, можно найти в этом замечательном посте Бениамино Гальвани.

Настройка SSH

Моему компьютеру, управляющему кластером, требуется работающий SSH-клиент, а для NUC требуется SSH-сервер. SSH (Secure Shell) — это протокол удаленной аутентификации, который позволяет безопасно подключаться к удаленным серверам, которые я буду постоянно использовать для управления кластером. Чтобы установить, запустить и проверить его статус, мне просто нужно запустить эти строки в консоли:

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

Здесь замените «метка» на имя компьютера, который будет использоваться в качестве «директора» кластера. Система запросит имя файла и парольную фразу, которые будут использоваться для шифрования ssh-ключа.

Ключ ssh необходимо добавить к агенту ssh .

Чтобы скопировать ssh-ключ в мою учетную запись GitHub, мне нужно скопировать содержимое файла ~/.ssh/id_rsa.pub (это можно сделать, просто открыв его с помощью gedit ~/.ssh/id_rsa.pub + Ctrl + a + Ctrl + c ) и вставьте его в учетную запись GitHub > Настройки > Ключи SSH и GPG > Новый ключ SSH (зеленая кнопка в верхней правой части окна).

Примечание. Если вы не используете GitHub, вам нужно будет скопировать свой ssh-ключ на NUC, как только они будут запущены и запущены, с помощью ssh-copy-id -i ~/.ssh/id_rsa.pub user_name@ nuc_IP .

Установка и подготовка сервера Ubuntu в каждом NUC

NUC не нужно тратить ресурсы на пользовательский графический интерфейс, который я вообще не буду использовать. Поскольку они будут работать в безголовой конфигурации после того, как кластер будет готов, лучше всего использовать дистрибутив Linux без графического пользовательского интерфейса, такой как сервер Ubuntu.

Установка сервера Ubuntu

Во-первых, важно подключить дисплей, клавиатуру и мышь к NUC при подготовке и включить его, нажав F2, чтобы запустить визуальный BIOS. Эти параметры BIOS необходимо изменить:

Чтобы подготовить загрузочное USB-устройство с сервером Ubuntu 20.04, я сначала загружаю .iso отсюда, выбирая «Вариант 3», что приводит к ручной установке. После загрузки файла .iso я использую Ubuntu Startup Disk Creator для подготовки загрузочного USB-накопителя. Теперь мне просто нужно подключить флешку к NUC и перезагрузить ее.

Установка сервера Ubuntu довольно проста, и в процессе нужно решить лишь несколько моментов:

  • В качестве имени пользователя я выбираю то же, что и на своем персональном компьютере.
  • В качестве имени для NUC я выбрал «nuc1» и «nuc2», но подойдет и любой другой вариант.
  • В качестве пароля для удобства я использую тот же, что и на своем персональном компьютере.
  • Во время настройки сети выберите DHCP. Если сеть настроена правильно и коммутатор включен, через несколько секунд NUC получит IP-адрес в диапазоне 10.42.0.1/24, как и любой другой компьютер в сети кластера.
  • При появлении запроса отметьте вариант «Установить на весь диск», если у вас нет других планов для вашего NUC.
  • Отметьте «Установить OpenSSH».
  • Укажите свое имя пользователя GitHub, если у вас есть ключ ssh, и он сразу загрузит его, что значительно облегчит настройку ssh.

Перезагрузитесь после завершения установки. Теперь я продолжаю настраивать операционную систему NUC со своего ПК через ssh.

Настройка NUC

Во-первых, чтобы узнать IP NUC:

Другие альтернативы этой команде: arp -a и sudo arp-scan -I enp2s0 --localnet . Как только я узнаю IP-адрес NUC, я добавляю его в файл etc/hosts моего персонального компьютера следующим образом.

Сначала я открываю файл с правами root.

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

Еще один отличный вариант для управления NUC через ssh — терминатор, который позволяет транслировать одни и те же команды сразу в несколько сеансов ssh. Я пробовал его, и он намного лучше подходит для целей управления кластером, чем Tilix. На самом деле, его использование значительно упростило бы этот рабочий процесс, потому что после того, как сервер Ubuntu установлен на каждом NUC, остальные команды конфигурации могут быть переданы одновременно на оба NUC. Жаль, что я слишком поздно обнаружил эту возможность!

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

Теперь мне нужно установить набор программных пакетов, которые облегчат управление сетью кластера и самим NUC.

Установка системного времени

Чтобы установить системное время NUC таким же, как на вашем компьютере, просто повторите эти шаги на каждом компьютере в сети кластера.

Установка локали

Операционные системы NUC и ПК должны иметь одинаковую локаль. Его можно установить, отредактировав файл /etc/default/locale с помощью nano (в NUCS) или gedit (на ПК) и добавив эти строки, просто заменив en_US.UTF-8 предпочитаемой локалью.

LANG en_US:en”
LC_NUMERIC en_US.UTF-8”
LC_MONETARY en_US.UTF-8”
LC_IDENTIFICATION en_US.UTF-8”
LC_ADDRESS en_US.UTF- 8”
LC_MEASUREMENT Temperature-monitoring">Мониторинг температуры

NUC склонны к перегреву при длительной нагрузке. Поэтому очень важно следить за температурой процессоров NUC. На предыдущем шаге я установил lm-sensors в NUC, который предоставляет инструменты для этого. Чтобы настроить датчики из сеанса ssh в NUC:

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

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

Чтобы контролировать перегрев своих NUC, я снял их верхние крышки и установил их в специальную «стойку» LEGO с внешними USB-вентиляторами с регулировкой скорости, как показано на рисунке в начале поста.

Установка R

Чтобы установить R в NUC, я просто действую так же, как при установке на свой персональный компьютер. Подробное руководство здесь.

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

Примечание. Если R не может распознать языковой стандарт системы

добавьте следующие строки, заменив en_US.UTF-8 предпочитаемой локалью

экспорт LANG=en_US.UTF-8 экспорт LC_ALL=en_US.UTF-8

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

Завершение настройки сети

Каждому NUC нужны правила брандмауэра для предоставления доступа другим компьютерам в сети кластера. Чтобы активировать брандмауэр NUC и проверить, какие порты открыты:

Чтобы предоставить доступ с ПК к NUC через ssh, а позже через R для параллельных вычислений, порты 22 и 11000 должны быть открыты для IP ПК ( 10.42.0.1 ).

Наконец, другие члены кластерной сети должны быть объявлены в файле /etc/hosts каждого компьютера.

В каждом NUC отредактируйте файл через ssh с помощью bash sudo nano /etc/hosts и добавьте строки

10.42.0.1 pc_name
10.42.0.XXX name_of_the_other_nuc

На ПК добавьте линии

10.42.0.XXX name_of_one_nuc
10.42.0.XXX name_of_the_other_nuc

На этом этапе, после перезагрузки каждой машины, NUC должны быть доступны через ssh, используя их имена ( ssh username@nuc_name ) вместо их IP-адресов ( ssh username@n10.42.0.XXX ). Просто имейте в виду, что, поскольку кластерная сеть работает с динамическими IP-адресами (и такой параметр нельзя изменить в общем соединении), IP-адреса NUC могут измениться, если в сеть будет добавлено новое устройство. Это то, что вам нужно проверить с ПК с помощью sudo arp-scan 10.42.0.1/24, чтобы соответствующим образом обновить каждый файл /etc/hosts.

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

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

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

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

Как работает кластер компьютеров?

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

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

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

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

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

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

  1. Определить требования к ресурсам для данных задач.
  2. Создайте надлежащую рабочую среду.
  3. Укажите эти задачи и выполните их в виде команд оболочки.

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

  1. Как долго вы планируете пользоваться системой?
  2. Какая часть вашего кластера вам действительно нужна?

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

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

Например, если у вас есть один узел с двумя процессорами, каждый из которых содержит 16 ядер, общее количество ядер равно 32. Это означает, что один из ваших вычислительных узлов может выполнять 32 задачи одновременно, даже если одно ядро ​​может выполнять эту работу самостоятельно. Возможность выполнять больше задач с помощью кластера — это сила компьютерных кластеров».

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

Другие инструменты планирования

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

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

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

Apache Mesos — еще одна платформа с открытым исходным кодом, созданная для управления компьютерными кластерами.

И последнее, но не менее важное: набор инструментов Globus. Это набор инструментов с открытым исходным кодом, предоставленный Globus Alliance и разработанный для распределенных вычислений.

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

Боретесь с простоем вашего веб-сайта? Узнайте, почему важна высокая доступность и как ее достичь.

В чем разница между кластером компьютеров и грид-компьютерами?

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

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

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

Каковы преимущества компьютерного кластера?

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

Высокопроизводительные вычисления

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

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

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

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

Система высокопроизводительных вычислений часто представляет собой кластер из 16–64 компьютеров, каждый из которых оснащен 1–4 процессорами. Каждый процессор имеет 2-4 ядра, то есть 64-256 ядер. Когда дело доходит до установки высокопроизводительных вычислений, можно выбрать как Windows, так и Linux, при этом Linux остается наиболее используемой операционной системой.

Высокая доступность

Еще одно ценное преимущество компьютерных кластеров — высокая доступность (HA). Хостинг с высокой доступностью — это система/сеть/кластер, предназначенная для предотвращения потенциальной потери обслуживания. Это достигается за счет сведения к минимуму запланированного времени простоя, а также управления и сокращения сбоев, о чем мы также поговорим ниже.

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

Масштабируемость и расширяемость

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

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

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

5 примеров компьютерных кластеров

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

1. Поддержка ядерных симуляций

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

2. Система прогноза погоды

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

3. Серверы баз данных

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

4. Аэродинамика

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

5. Интеллектуальный анализ данных

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

Возможное время простоя

Как упоминалось ранее, высокая доступность (HA) особенно важна, поскольку снижает вероятность простоя.

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

  • Запланированный простой
  • Человеческие ошибки
  • Сбои в работе оборудования или программного обеспечения
  • Экологические бедствия (пожары, наводнения, перепады температуры или отключение электроэнергии)

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

Обработка интенсивных вычислений данных и требований к времени безотказной работы с кластерами серверов в Liquid Web

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

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

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

Для подключения к кластерам необходимы два программного обеспечения: терминал и SSH-клиент.

Терминал — это часть программного обеспечения, которое позволяет вам вводить команды и просматривать результаты, а клиент SSH — это программное обеспечение, которое позволяет вам фактически подключаться к кластерам.

Третья часть программного обеспечения необходима для графических приложений, работающих в кластерах: X-сервер.

Если у вас есть компьютер с Linux. ¶

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

В Linux есть все необходимое для подключения к кластеру с помощью ключа SSH. Просто привыкните к понятию программного обеспечения для переадресации агентов и управления ключами, такого как Key Ring и KWallet, и вам больше никогда не придется вводить парольную фразу даже для копирования файлов из одного кластера в другой. Если вы предпочитаете решение с командной строкой, связка ключей — хорошая альтернатива.

Если вы настроили свою среду Bash, вы можете просто скопировать файлы .bashrc и .bash_profile (или эквивалентные) в кластер и чувствовать себя там как дома.

Копирование данных легко выполняется с помощью команды rsync, а управление кодом эффективно осуществляется с помощью таких инструментов, как Mercurial или Git.

Однако одно из основных отличий заключается в том, что на свой ноутбук вы, скорее всего, будете устанавливать программное обеспечение с помощью пакетов (обычно это rpm или debs). В кластере вы не сможете этого сделать. Вам нужно будет скомпилировать программное обеспечение из исходников. Поэтому может быть разумным взять за привычку перекомпилировать все программное обеспечение, которое вы используете на своем ноутбуке, чтобы у вас был достаточный опыт работы с кластером. Скомпилировать несколько версий компилятора gcc и заставить их мирно сосуществовать — очень хорошее упражнение. Кроме того, он позволяет вам установить ту же версию, что и в кластере, чтобы ваши тесты компиляции были согласованными.

Обратите внимание, что большинство кластеров работают под управлением REHL или его производных, таких как CentOS, Scientific Linux или Debian. Они предпочтительнее более современных, но менее стабильных дистрибутивов, таких как Ubuntu или Fedora.

Если у вас Mac. ¶

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

Если вы хотите запускать графические приложения, официальный X-сервер для MacOS называется XQuartz. Вы можете установить его, загрузив установщик DMG с веб-сайта или используя homebrew.

Если у вас есть компьютер с Windows.¶

… тогда вам нужно будет установить какое-то программное обеспечение, несмотря ни на что.

Мы рассматриваем две возможности работы в среде Windows:

  • Установите UNIX-подобную среду, такую ​​как MobaXterm, Cygwin или Mingw. Вы можете следовать нашему руководству по загрузке и настройке MobaXterm .
  • Следуйте инструкциям по настройке подсистемы Windows для Linux и установке доступного дистрибутива Linux (поддерживается только Windows 10 после сборки за октябрь 2017 г.).

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

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

Последний вариант, обсуждаемый здесь, — это установка виртуальной машины Linux, например, с таким программным обеспечением, как Virtual Box. Этот вариант очень интересен, если у вас нет прав администратора на вашем компьютере. Просто попросите установить это программное обеспечение, и в нем у вас не будет ограничений на вашей виртуальной машине Linux. Кроме того, он позволяет вам сохранять состояние вашей машины, что интересно для полных резервных копий системы и миграции на другой компьютер. Недостатком является то, что вам потребуется довольно мощная аппаратная конфигурация, особенно если вы планируете использовать несколько виртуальных машин параллельно (например, для отладки программ MPI).

Читайте также: