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

Обновлено: 21.11.2024

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

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

Что такое кластер?

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

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

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

Типы кластерных вычислений

Компьютерные кластеры обычно можно разделить на три типа:

  1. Высокая доступность или отказоустойчивость
  2. Балансировка нагрузки
  3. Высокопроизводительные вычисления

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

Четыре ключевых преимущества кластерных вычислений

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

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

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

  • Доступность — доступность системы или службы в течение определенного периода времени, обычно выражаемая в процентах от времени безотказной работы в течение определенного года (например, доступность 99,999 % или пять девяток).
  • Отказоустойчивость – насколько хорошо система восстанавливается после сбоя.
  • Отказоустойчивость – способность системы продолжать предоставление услуги в случае сбоя.
  • Надежность — вероятность того, что система будет функционировать должным образом.
  • Избыточность – дублирование критически важных ресурсов для повышения надежности системы.

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

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

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

2. Балансировка нагрузки

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

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

3. Масштабирование

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

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


4. Производительность

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

Кластеры высокопроизводительных вычислений (HPC) используют возможности параллелизма компьютерных кластеров для достижения максимально возможного уровня производительности. Суперкомпьютер — типичный пример кластера высокопроизводительных вычислений.

Проблемы кластеризации

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

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

Кластеры в облаке

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

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

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

Контейнеры и их связь с кластерами

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

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

К счастью, кластер решает обе эти проблемы.

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

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

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

Что такое кластер Kubernetes?

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

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

Являясь дипломированным проектом Cloud Native Computing Foundation, Kubernetes продемонстрировал невероятный рост с момента его выпуска Google в 2014 году. Поскольку это система с открытым исходным кодом, отдельные лица и организации могут использовать ее по своему усмотрению. разработка собственных инструментов с открытым исходным кодом, которые работают с Kubernetes или вместе с ним. Существует несколько ограничений на то, где можно развернуть кластер Kubernetes (локально или в облаке), а с выпуском Container Runtime Interface Kubernetes поддерживает различные среды выполнения контейнеров.

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

Контейнеры и кластеры в масштабе предприятия

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

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

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

ЗАЯВЛЕНИЕ О РАСКРЫТИИ ИНФОРМАЦИИ: © 2020 Capital One. Мнения принадлежат конкретному автору. Если в этом посте не указано иное, Capital One не связана и не поддерживается ни одной из упомянутых компаний. Все используемые или демонстрируемые товарные знаки и другая интеллектуальная собственность являются собственностью соответствующих владельцев.

В этой статье содержится информация о балансировке сетевой нагрузки.

Применимо к: Windows Server 2003
Исходный номер базы знаний: 556067

Обзор

В этой статье содержится информация о балансировке сетевой нагрузки — технологии кластеризации Microsoft.

Подробнее

В. Как вы тестируете кластер NLB?

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

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

Настройка более одного VIP (виртуального IP-адреса) доступна только в выпусках Windows 2003 и более поздних версиях.

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

IGMP можно настроить, только если кластер настроен на использование поддержки многоадресной рассылки.

У сервера не должно быть открытых сетевых свойств при настройке с помощью NLB Manager.

У NLB должно быть правильное местное время на всех серверах.

NLB не обнаруживает сбой приложения. Например, служба веб-сервера может остановиться, но балансировка сетевой нагрузки по-прежнему будет отправлять на этот сервер запросы TCP/IP.

NLB используется для приложений на основе TCP/IP, для которых изменения данных происходят редко.

Не используйте другой протокол, кроме TCP/IP, для адаптера кластера.

Кластер NLB может работать либо в одноадресном, либо в многоадресном режиме, но не в обоих одновременно.

Microsoft не поддерживает сочетание сервера и кластера NLB.

Смешанный NLB разрешен. Windows NT WLBS может работать в Windows 2000 NLB.

NLB не поддерживает сети Token Ring и ATM. Он был протестирован только в сети Ethernet 10 МБ и 100 МБ.

Ограничения для одной сетевой карты: при работе в одноадресном режиме:

  1. Обычная сетевая связь между узлами кластера невозможна. Сетевой трафик, предназначенный для любого отдельного компьютера в кластере, создает дополнительные сетевые издержки для всех компьютеров в кластере.
  2. Кроме того, мы не можем использовать Network Load Balancing Manager на этом компьютере для настройки и управления узлами NLB.

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

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

В кластере NLB может работать несколько приложений. Например, вы можете запустить веб-сервер IIS на всех узлах и сервер SQL только на одном узле. Таким образом, вы можете направить трафик для базы данных только на узел SQL-сервера.

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

Необходимо ли иметь отдельную подсеть для обеих технологий?

NLB поддерживает до 32 компьютеров в одном кластере, но вы можете использовать RRDNS для увеличения числа.

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

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

Автоматическая балансировка нагрузки при добавлении или удалении новых хостов в течение 10 секунд.

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

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

NLB не перекрывает исходное имя компьютера и IP-адрес.

NLB можно включить на нескольких сетевых адаптерах. Это позволяет настраивать различные кластеры NLB.

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

NLB позволяет каждому узлу обнаруживать и получать входящий трафик TCP/IP. Этот трафик получают все хосты в кластере, и драйвер NLB фильтрует трафик в соответствии с определенными правилами порта. Узлы NLB не взаимодействуют друг с другом для входящего трафика, поступающего от клиента, поскольку NLB включен на всех узлах. На каждом хосте создается правило статистического сопоставления для распределения входящего трафика. Это сопоставление остается неизменным, если в кластере не происходит изменений (например, узел удаляется или добавляется).

Конвергенция — это процесс восстановления состояния кластера. Этот процесс запускается при изменении кластера (например, отказ узла, выход из кластера или его повторное присоединение). В этом процессе кластером выполняются следующие действия:

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

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

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

Мы можем настроить несколько кластеров NLB на одном сетевом адаптере, а затем применить определенные правила для портов к каждому из этих IP-адресов. Они называются «виртуальными кластерами».

Windows 2003 поставляется с инструментом с графическим интерфейсом под названием «Диспетчер балансировки сетевой нагрузки» и NLB.exe — инструментом командной строки. В Windows 2000 это WLBS.exe, и инструмент с графическим интерфейсом также отсутствует. Этот инструмент с графическим интерфейсом может быть установлен на XP также для управления только Windows 2003 NLB. NLB Manager использует DCOM и WMI.

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

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

Взаимодействие внутри хоста возможно только в многоадресном узле. Чтобы разрешить связь между серверами в одном кластере NLB, каждому серверу требуется следующая запись реестра: ключ DWORD с именем «UnicastInterHostCommSupport» и значением 1 для GUID каждой сетевой карты (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WLBS\Parameters\ Интерфейс\)

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

Один сетевой адаптер в одноадресном режиме

  • Собственный MAC-адрес адаптера отключен: автоматически сгенерированный MAC-адрес кластера заменяет этот адрес.
  • И выделенный IP-адрес, и IP-адрес кластера преобразуются в MAC-адрес кластера.
  • Обычная сетевая связь между узлами кластера невозможна.

Параметры кластера

  • MAC-адрес кластера создается автоматически с использованием IP-адреса кластера и уникален для всей подсети.
  • Удаленное управление не будет работать, если включен IPSEC. Удаленное управление использует порты 1717 и 2504 по протоколу UDP.
  • Приоритетный уникальный идентификатор хоста: наименьшее число является наивысшим. Хост с этим приоритетом обрабатывает весь входящий трафик, на который не распространяются правила портов.
    Если узел кластера присоединен с таким же приоритетом, он не будет принят в состав кластера, но другие узлы продолжат работу. Это называется хостом по умолчанию. В случае сбоя хоста по умолчанию другой узел с более высоким приоритетом может выступать в качестве хоста по умолчанию.
  • Выделенный IP-адрес должен быть введен первым в свойстве TCP/IP. Он не может быть включен DHCP. То же самое относится и к VIP.
  • Вы не можете добавить более 32 правил для портов в один кластер, и они должны быть одинаковыми во всем кластере.

Диспетчер балансировки сетевой нагрузки

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

NLB можно настроить для любого компьютера, если у вас есть права администратора на удаленном компьютере.

Чтобы успешно настроить NLB в Windows 2003, используйте диспетчер NLB. Убедитесь, что вы сняли отметку с NLB на всех хостах.

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

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

Вы можете использовать параметр «Учетные данные» в диспетчере NLB, чтобы указать учетные данные для удаленных хостов. NLB Manager попытается подключиться к удаленным узлам, используя эти учетные данные.

Для настройки NLB следует использовать либо настройки свойств TCP/IP, либо Диспетчер NLB, но не оба одновременно.

Диспетчер NLB не подключается и не показывает неправильно настроенные хосты в кластере.

Хосты, к которым у вас нет прав администратора, не будут отображаться в диспетчере NLB.

Список всех диапазонов портов отсортирован по диапазону портов.

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

При включении NLB на сервере записи реестра по умолчанию создаются в разделе: HKLM\System\CurrentControlSet\Services\WLBS

DIP и VIP должны быть введены правильно. Узлы кластера будут конвергировать друг с другом, если вы пропустите этот шаг, но они не смогут принимать и передавать трафик.

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

С NLB для мониторинга можно использовать следующие инструменты:

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

Вы должны указать адрес шлюза в свойстве TCP/IP при настройке двух сетевых адаптеров. Шлюз должен быть введен в FE NIC.

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

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

Исходной реализацией NLB является WLBS. Все события записываются в источник WLBS. Интерфейс командной строки для NLB — это WLBS, а в Windows 2003 — NLB.

Поставщик WMI NLB Manager не может подключиться к узлу кластера, имя компьютера которого начинается с цифры. Это ошибка.

NLB не реплицирует данные приложения. Возможно, вам потребуется использовать Microsoft Content Replication System (CRS) или стороннее программное обеспечение.

Сторонние инструменты мониторинга

  • SiteScope от Mercury Interactive Corporation
  • AppManager от NetIQ
  • WhatsUp Gold от Ipswitch

Режим одноадресной рассылки с одной сетевой картой

В режиме одноадресной рассылки NLB изменяет MAC-адрес сетевого адаптера на MAC-адрес кластера. Теперь в кластере доступен только один MAC-адрес — это MAC-адрес кластера, и этот MAC-адрес должен быть одинаковым на всех узлах кластера. Network Redirector не может перенаправить запрос на тот же MAC-адрес, если он исходит из одного и того же источника, а также хосты не могут взаимодействовать друг с другом — это недостаток режима одноадресной рассылки с одной сетевой картой. Чтобы хосты могли общаться друг с другом, включите режим MULTICAST или установите вторую сетевую карту.

  • Вы можете получить сообщение "Нет интерфейса для настройки балансировки нагрузки" при использовании диспетчера балансировки сетевой нагрузки. Вы получаете эту ошибку, если вы создали образ сервера или скопировали его на виртуальную машину. Все сетевые GUID будут одинаковыми. Чтобы решить эту проблему, вам необходимо переустановить сетевой адаптер из диспетчера устройств.
  • Во время настройки NLB с помощью диспетчера NLB вы удалили узел из кластера. Если этот статус все еще отображается в ожидании в течение длительного времени, вручную отключите балансировку сетевой нагрузки на хосте. Он исчезнет из Менеджера.
  • Всегда рекомендуется добавлять локальный хост (на котором вы используете диспетчер NLB) после добавления всего хоста, когда вы используете кластер NLB в одном сетевом адаптере с одноадресным режимом.
  • Рекомендуется запускать NLB Manager на отдельном компьютере, который не является частью кластера, когда вы запускаете кластер на одном сетевом адаптере в одноадресном или многоадресном режиме.
  • Если вы добавили локальный хост в диспетчер NLB в режиме одноадресной рассылки с одним сетевым адаптером, и при обновлении все остальные хосты будут недоступны.
  • Когда вы получаете доступ к VIP с помощью UNC, вы можете получить окно входа, если ваш запрос перенаправляется на хост, который не входит в домен и не входит в ваш домен.Возможно, вам потребуется указать учетные данные пользователя.
  • Перекрестный кабель между узлами NLB неправильно работает для сообщений пульса и других сообщений. Он отлично работает в кластерах серверов.
  • Сообщения Heartbeat передаются через сетевую карту с поддержкой NLB всегда, независимо от того, работаете ли вы с кластером в режиме одноадресной или многоадресной рассылки.
  • Когда приложение, работающее на узле, умирает или останавливается, NLB будет продолжать пересылать запросы на этот сервер, поскольку NLB не отслеживает состояние приложения.
  • Диспетчер балансировки сетевой нагрузки можно настроить только в Windows 2003 и более поздних версиях. Однако вы можете управлять предыдущими версиями Windows, но не можете настраивать их с помощью NLB Manager.
  • Удаленное управление балансировкой сетевой нагрузки использует UDP-порт 2504.

Усовершенствования балансировки сетевой нагрузки в Windows 2008

  • В Windows Server 2008 есть поддержка IPV6 для NLB. Хост IPV6 может присоединиться к узлу NLB.
  • Несколько выделенных IP-адресов поддерживаются в Windows Server 2008 для балансировки сетевой нагрузки.
  • Поддерживает последовательное обновление с Windows 2003 до Windows 2008.
  • Поддержка автоматической установки NLB
  • Также поддерживается NLB в ядре сервера.

Отказ от ответственности за содержание решений сообщества

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

После установки Tableau Server на одном компьютере (или узле) сервер работает и готов к использованию, но не имеет резервирования. Если есть проблема с процессом или проблема с самим компьютером, Tableau Server может быть недоступен. Кроме того, все процессы выполняются на одном компьютере, поэтому может возникнуть конкуренция за ресурсы на этом компьютере.

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

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

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

Место установки

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

Создать файл начальной загрузки узла

Откройте TSM в браузере:

Перейдите на вкладку "Конфигурация" и в поле "Добавить узел" нажмите "Загрузить файл начальной загрузки" .

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

Начиная с версии 2019.3 встроенные учетные данные по умолчанию включаются в файл начальной загрузки. Если вы не хотите, чтобы учетные данные были встроены в файл начальной загрузки, снимите флажок Включить временные учетные данные в файл. Дополнительные сведения см. в разделе «Что нового и измененного в Tableau Server» раздела «Что нового». Если вы хотите полностью отключить возможность включения встроенных учетных данных в файлы начальной загрузки узла, вы можете установить параметр конфигурации для сервера. Дополнительные сведения см. в разделе functions.PasswordlessBootstrapInit.

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

Прежде чем начать, убедитесь, что ваш файл начальной загрузки узла является последним. Например, если вы запустили tsm security regenerate-internal-tokens после создания файла начальной загрузки, инициализация завершится ошибкой.

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

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

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

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

Во время установки вам будет предложено выбрать тип установки. Выберите Добавить дополнительный узел в существующий кластер Tableau Server:

Нажмите "Далее", чтобы продолжить.

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

В программе установки после копирования файлов Tableau Server вам будет предложено указать загрузочный файл, а также имя и пароль администратора TSM:

Нажмите "Далее", чтобы продолжить.

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

Откроется окно браузера, и вам будет предложено войти в TSM. Введите имя пользователя и пароль администратора TSM.

Если ни одно окно браузера не открывается автоматически, откройте окно и перейдите в TSM:

В TSM нажмите Конфигурация .

Появится сообщение о том, что узел добавлен:

Настройте дополнительный узел с помощью Cluster Controller

Откройте TSM в браузере:

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

Нажмите "Продолжить", чтобы закрыть сообщение.

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

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

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

Например, чтобы добавить шлюз и два экземпляра фонового элемента на узел:

Установите для счетчика фона значение 2.

Добавление Backgrounder к узлу также добавит экземпляр Data Engine, если его еще нет на узле.

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

Примечание. Веб-интерфейс TSM ограничивает вас максимум 8 экземплярами процессов, что позволяет вам выбирать количество экземпляров. Чтобы настроить больше экземпляров, используйте командную строку и команду TSM topology set-process. Дополнительные сведения см. в разделе set-process топологии tsm.

Нажмите «Ожидающие изменения» в верхней части страницы:

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

Нажмите «Применить изменения», «Перезапустить» и «Подтвердить», чтобы подтвердить перезапуск Tableau Server.

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

Примечание. Этот метод установки из командной строки требует установки переменных среды Windows на каждом дополнительном узле для имени пользователя и пароля администратора на исходном узле.Альтернативный метод автоматической установки Tableau Server без включения незашифрованных учетных данных см. в разделе Автоматическая установка Tableau Server.

Создать файл начальной загрузки узла

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

Важно! Файл начальной загрузки содержит копию главного файла хранилища ключей, используемого для шифрования секретов конфигурации. В файл также могут быть встроены учетные данные, которые действительны в течение заранее определенного периода времени (см. tabadmincontroller.auth.expiration.minutes) и служат в качестве файла cookie сеанса. Мы настоятельно рекомендуем принять дополнительные меры для защиты файла начальной загрузки.

После установки Tableau Server на начальном узле создайте файл начальной загрузки узла.

На начальном узле откройте командную строку от имени администратора.

Введите эту команду, чтобы сгенерировать загрузочный файл:

узлы топологии tsm get-bootstrap-file --file .json

Начиная с версии 2019.3 встроенные учетные данные по умолчанию включаются в файл начальной загрузки. Если вы не хотите, чтобы файл начальной загрузки включал учетные данные, используйте параметр -nec или --no-embedded-credentials:

узлы топологии tsm get-bootstrap-file --file .json --no-embedded-credentials .

Дополнительную информацию см. в разделе Новые возможности и изменения в Tableau Server в разделе Что нового. Если вы хотите полностью отключить возможность включения встроенных учетных данных в файлы начальной загрузки узла, вы можете установить параметр конфигурации для сервера. Дополнительные сведения см. в разделе functions.PasswordlessBootstrapInit.

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

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

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

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

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

Настройте дополнительный узел

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

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

На начальном (исходном) узле откройте командную строку.

Получите идентификатор узла для нового узла:

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

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

Сделайте это с помощью следующей команды:

set-process топологии tsm -n -pr -c

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

Например, чтобы добавить контроллер кластера, два экземпляра фонового объекта и шлюз к узлу2:

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

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

применяются ожидающие изменения tsm

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

Установить драйверы

Необходимо установить драйверы, чтобы Tableau Server мог подключаться к данным и запускать извлечения. Установите эти драйверы на узлы, на которых запущен любой из следующих процессов:

  • Сервер VizQL (vizqlserver)
  • Сервер приложений (визпортал)
  • Сервер данных (сервер данных)
  • Backgrounder (фоновый редактор)

Драйверы и административные представления

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

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

Установить агент инструмента мониторинга ресурсов Tableau

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

Тим Фишер имеет более чем 30-летний опыт работы в сфере технологий. Он пишет о технологиях более двух десятилетий и является вице-президентом и генеральным директором Lifewire.

  • Установка и обновление
  • Беспроводное соединение
  • Маршрутизаторы и брандмауэры
  • Сетевые концентраторы
  • Интернет-провайдер
  • Широкополосный доступ
  • Ethernet
  • Wi-Fi и беспроводная связь

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

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

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

Что делает сетевой узел?

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

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

Другие типы узлов

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

Другим примером узла является устройство, предоставляющее интеллектуальные сетевые услуги в сотовой сети, например контроллер базовой станции (BSC) или узел поддержки шлюза GPRS (GGSN). Другими словами, мобильный узел — это то, что обеспечивает программное управление оборудованием, например структуру с антеннами, которые передают сигналы на все устройства в сети.

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

В чем проблема с конечным узлом?

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

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

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

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

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

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

Другие значения узлов

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

Слово "узел" также используется в node.js — среде выполнения JavaScript, которая выполняет серверный код JavaScript. «js» здесь не относится к расширению файла JS, используемому с файлами JavaScript; это просто название инструмента.

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

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

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

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

<Р> Проблема MagPi 115 Крышка

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

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

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

Концепция компьютерных «кластеров» (множество компьютеров, работающих вместе как один) не нова, но когда у вас есть такое доступное устройство, как Raspberry Pi, вы можете начать конкурировать с гораздо более дорогими системами, используя несколько параллельно. Здесь мы узнаем, как сделать кластерный компьютер из множества маленьких компьютеров.

Вам понадобится

Собрание кластера!

Кластер компьютеров Raspberry Pi может начинаться всего с двух компьютеров и увеличиваться до сотен. Для нашего проекта мы начинаем со скромной четверки. Каждый из них, известный как «узел», будет выполнять часть нашей задачи за нас, и все они работают параллельно, чтобы получить результат намного быстрее, чем когда-либо мог бы один узел. Доступны несколько хороших «кластерных корпусов», и мы начинаем со сборки наших компьютеров Raspberry Pi 4B в четырехместном шасси. Доступно множество различных конфигураций, включая охлаждение с помощью вентилятора.

Включить

Рассмотрите требования к питанию вашего кластера. С нашими четырьмя узлами не будет идеально иметь четыре блока питания, управляющих ими. Кроме того, что это уродливо, это неэффективно. Вместо этого найдите качественное мощное многопортовое зарядное устройство USB, способное питать выбранное вами количество компьютеров. Тогда все, что вам нужно, это кабели для их соединения, и вы используете одну сетевую розетку. Доступны USB-устройства, которые могут работать с восемью компьютерами Raspberry Pi без особых усилий. Будьте осторожны с более высокими требованиями Raspberry Pi 4.

Начать разговор

Кластер работает посредством связи. «Главный» узел отвечает за кластер, а «рабочим» говорят, что делать, и сообщать о результатах по требованию. Для этого мы используем проводной Ethernet в выделенной сети.Не обязательно делать это таким образом, но для приложений, интенсивно использующих данные, желательно, чтобы кластер имел собственное частное соединение, чтобы он мог обмениваться инструкциями, не мешая беспроводной локальной сети или другому сетевому трафику. Таким образом, в дополнение к беспроводной локальной сети мы подключаем каждый узел к изолированному коммутатору Gigabit Ethernet.

Raspbian пульсация

Мы собираемся получить доступ к каждому узлу через беспроводную локальную сеть, чтобы порт Ethernet был доступен для работы кластера. Для каждого «узла» запишите Raspbian Buster Lite на карту microSD, загрузите его и убедитесь, что он обновлен с помощью sudo apt -y update && sudo apt -y upgrade. Затем запустите sudo raspi-config и выполните следующие действия:

• Изменить пароль пользователя «pi».

• В разделе «Сеть» измените имя хоста на nodeX, заменив X уникальным номером (node1, node2 и т. д.). Node1 будет нашим «мастером».

• При необходимости включите Wi-Fi.

• Выйти и перезагрузиться при появлении запроса.

Получите основу

Проводной канал Ethernet называется «магистралью» кластера. Вам нужно вручную включить магистраль, так как нет DHCP-сервера, который мог бы помочь. Мы собираемся использовать подсеть 10.0.0.0. Если это используется в вашей обычной сети, выберите другой адрес, например 192.168.10.0. Для каждого узла из командной строки отредактируйте конфигурацию сети:

sudo nano /etc/dhcpcd.conf Перейдите в конец файла и добавьте следующее:

Для каждого узла замените последнюю цифру «10.0.0.1» новым уникальным значением: 10.0.0.2, 10.0.0.3 и т. д. Перезагружайте каждый узел по ходу работы. Вы должны иметь возможность пропинговать каждый узел, например, с 10.0.0.1:

Новый ключ

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

ssh-keygen -t rsa

Это создает уникальный цифровой идентификатор (и пары ключей) для компьютера. Вам будет задано несколько вопросов; просто нажмите RETURN для каждого и не создавайте кодовую фразу, когда ее спросят. Затем сообщите мастеру (узел 1, 10.0.0.1 в нашей настройке) о ключах, выполнив следующее на каждом втором узле:

Наконец, сделайте то же самое на главном узле (узел 1, 10.0.0.1) и скопируйте его ключ на все остальные узлы в кластере.

Установить MPI

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

На каждом узле выполните следующее:

sudo apt install mpich python3-mpi4py После завершения тестовый MPI работает на каждом узле

mpiexec -n 1 имя хоста

Вы должны просто получить ответное эхо имени узла. -n означает «на скольких узлах это запустить». Если вы говорите один, это всегда локальная машина.

Давайте встретимся

Пришло время нашей первой кластерной операции. На узле1 (10.0.0.1) введите следующую команду:

mpiexec -n 4 --hosts 10.0.0.1,10.0.0.2,10.0.0.2,10.0.0.4 имя хоста

Мы просим главный супервизорный процесс, mpiexec, запустить четыре процесса (-n 4), по одному на каждом хосте. Если вы не используете четыре хоста или используете разные IP-адреса, вам нужно будет изменить это по мере необходимости. Команда hostname просто повторяет имя узла, поэтому, если все в порядке, вы получите список из четырех членов кластера. Вы только что немного поработали над параллельными вычислениями!

Является ли кластер из одного все еще кластером?

Теперь, когда мы убедились, что кластер работает, давайте заставим его работать. Программа prime.py — это простой скрипт, который идентифицирует простые числа. Введите код, показанный в листинге (или загрузите его с magpi.cc/EWASJx) и сохраните его на узле 1 (10.0.0.1). Код принимает один аргумент — максимальное число, которое необходимо достичь перед остановкой, — и возвращает количество простых чисел, выявленных во время выполнения. Начните с тестирования на главном узле:

mpiexec -n 1 python3 prime.py 1000

Перевод: «Запустите один экземпляр на локальном узле, на котором выполняется тестирование Prime.py для простых чисел до 1000».

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

Множественность

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

scp ~/prime.py 10.0.0.x:

Замените x на номер требуемого узла: scp (защищенная копия) скопирует скрипт на каждый узел. Вы можете проверить, сработало ли это, перейдя к каждому узлу и выполнив ту же команду, что и на узле 1. Когда вы закончите, мы будем готовы приступить к настоящим кластерным вычислениям.

Вычислить!

Чтобы запустить суперкомпьютер, запустите эту команду с главного узла (узел 1):

mpiexec -n 4 --host 10.0.0.1,10.0.0.2,10.0.0.3,10.0.0.4 python3 prime.py 100000

Каждый узел получает ранг: уникальный идентификатор. Мастер всегда равен 0. Это используется в скрипте для определения того, какой диапазон чисел обрабатывает каждый узел, поэтому ни один узел не проверяет одно и то же число на «простота». По завершении каждый узел отчитывается перед мастером с подробным описанием найденных простых чисел. Это известно как «сбор». После завершения мастер собирает все данные вместе и сообщает результат. В более продвинутых приложениях мастер может назначать узлам разные наборы данных («рассеивание»).

Итоговые оценки

Возможно, вы заметили, что в предыдущем примере мы запросили все простые числа до 1000. Это не очень хороший тест, так как он очень быстрый. 100 000 занимает немного больше времени. В наших тестах мы увидели, что один узел занял 238,35 секунды, но кластер из четырех узлов справился с этим за 49,58 секунды — почти в пять раз быстрее!

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

Полезный совет: балансировка нагрузки

Кластеры также полезны для работы в качестве единого веб-сервера и совместного использования трафика, например веб-серверов Mythic Beast Raspberry Pi.

Полезный совет: отказоустойчивость

Некоторые типы кластеров, такие как Docker Swarm или Kubernetes, допускают отказ отдельных узлов без прерывания обслуживания.

ПиДжей — писатель, программист и специалист по обработке Raspberry Jam в Милтон-Кинсе. В те времена, когда он работал по телефонной линии, он создавал страницы для Prestel, что сильно его старило.

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