У Brock Peterson есть хорошая подборка статей о решении VMware Aria Operations (ранее этот продукт назывался vRealize Operations или vROPs). Сегодня мы посмотрим на то, как работает кластер vROPs/Aria с точки зрения основных архитектур отказоустойчивости - Standalone, High Availability (HA) и Continuous Availability (CA). Официальная документация на эту тему находится тут, а мы начнем с некоторых понятий:
Primary Node (основной узел) - начальный и единственный обязательный узел в Aria Ops. Все остальные узлы управляются основным узлом. В установке с одним узлом основной узел выполняет все функции.
Data Node (дата-узел) - на этих узлах установлены адаптеры, они собирают данные и выполняют анализ. В крупных развертываниях адаптеры обычно устанавливаются только на дата-узлах, чтобы основной узел и реплики могли сосредоточиться на управлении кластером.
Replica Node (реплика) - высокая доступность (HA) и непрерывная доступность (CA) Aria Ops требует преобразования дата-узла в реплику. Это копия основного узла, которая используется в случае его отказа.
Witness Node (свидетель) - непрерывная доступность (CA) Aria Ops требует наличие узла-свидетеля. Свидетель выступает в качестве арбитра при принятии решений о доступности Aria Ops.
Remote Collectors (удаленные сборщики) - распределенные развертывания могут требовать удаленных сборщиков (RC), которые могут обходить брандмауэры, взаимодействовать с удаленными источниками данных, снижать нагрузку на каналы передачи данных между центрами обработки данных или уменьшать нагрузку на кластер аналитики Aria Ops. Узлы RC только собирают объекты для инвентаризации, без хранения данных или выполнения анализа. Кроме того, удаленные сборщики могут быть установлены на другой операционной системе, чем остальные узлы кластера.
Важно отметить, что основные узлы и реплики также являются дата-узлами. Кластер аналитики (Analytics Cluster) включает все основные узлы, реплики и дата-узлы. Кластер Aria Ops включает кластер аналитики и любые узлы удаленных сборщиков.
Вне кластера Aria Ops также могут быть Cloud Proxies (CP). Первоначально они назывались Remote Collectors для развертываний vROps Cloud, но потом они были доработаны для полного замещения RC. Рекомендации по их сайзингу можно найти здесь. Отдельное развертывание может выглядеть следующим образом:
Вы можете построить кластер Aria Ops несколькими способами: автономный (Standalone), с высокой доступностью (HA) или с непрерывной доступностью (CA).
Начнем с базового варианта (изображенного выше), автономные варианты выглядят следующим образом:
Single Primary Node Cluster (кластер с одним основным узлом) - в этом развертывании ваш основной узел Aria Ops будет выполнять все функции: административный интерфейс, продуктовый интерфейс, REST API, хранение данных, сбор и аналитика. Такие развертывания часто используются для пробных версий или пилотных проектов (proof-of-concept). Сайзинг основных узлов зависит от количества объектов и метрик, которые они будут обрабатывать, подробности можно найти здесь.
Кластеры с несколькими узлами (Multi-Node Clusters):
Основной узел и как минимум один дата-узел, но может включать и до 16 дата-узлов. Дата-узлы могут выполнять все функции, которые выполняет основной узел, кроме обслуживания Admin UI. Они часто используются для разгрузки основного узла. Обратите внимание, что основной узел также является дата-узлом.
Основной узел и как минимум один облачный прокси (CP), но может включать и до 60 CP. Ранее известные как удаленные сборщики (RC), они используются для обхода брандмауэров, получения данных из удаленного источника, уменьшения пропускной способности между центрами обработки данных и других задач. Они только собирают метрики, не хранят данные и не выполняют анализ данных. RC являются частью кластера Aria Ops, тогда как CP не являются частью кластера.
Автономные варианты визуально выглядят следующим образом.
Существует несколько лучших практик при создании кластеров Aria Ops, например: развертывайте узлы в одном и том же кластере vSphere в одном датацентре и добавляйте только один узел за раз, позволяя ему завершить процесс перед добавлением следующего узла. Подробнее о лучших практиках можно узнать здесь.
Клиенты часто используют балансировщик нагрузки перед своим кластером Aria Ops, чтобы избежать перебоев в обслуживании в случае потери дата-узла. Этот балансировщик нагрузки может указывать на основной узел или любой из дата-узлов, так как все они обслуживают пользовательский интерфейс. Однако если основной узел выйдет из строя, произойдет потеря данных, и потребуется восстановление кластера.
В версии vRealize Operations 6.0 была введена функция HA, обеспечивающая некоторую защиту от потери аналитического узла (основной узел, реплика узел или дата-узел). Следует отметить, что Aria Ops HA не является стратегией аварийного восстановления (DR), но обеспечивает некоторую защиту от потери данных. Как и для кластеров без HA, мы просто добавляем узел реплики, получая следующие конфигурации:
Основной узел и реплика
Основной узел, реплика и до 16 дата-узлов
Основной узел, реплика и до 60 облачных прокси (CP)
Основной узел, реплика, до 16 дата-узлов и до 60 CP
Как описано здесь, Aria Ops HA создает копию основного узла, называемую репликой, и защищает кластер аналитики от потери дата-узла. Aria Ops использует базу данных PostgreSQL, распределенную между всеми дата-узлами (включая основной узел и реплики) для хранения всех данных, поэтому если мы потеряем основной узел, узел реплики будет повышен до основного, и мы продолжим работу без потери данных. Если мы потеряем дата-узел, эти данные также доступны на основных/реплика узлах (эта схема похожа на RAID5), поэтому потери данных не будет. Если мы потеряем более одного дата-узла, произойдет потеря данных.
Лучшие практики для развертывания кластера Aria Ops HA можно найти здесь. В итоге, ваш кластер Aria Ops HA будет выглядеть примерно так:
Вы можете разместить перед вашим кластером Aria Ops HA балансировщик нагрузки, как и раньше, указывающий на ваш основной узел, реплику и дата-узлы.
В версии Aria Ops 8.0 были введены функции непрерывной доступности (CA) и концепция доменов отказа. Можно сказать, что Aria Ops CA - это Aria Ops HA с репликой в другом физическом расположении, а также с парными дата-узлами и узлом Witness, чтобы отслеживать все процессы.
Aria Ops CA защищает нас от потери целого домена отказа, например, всего датацентра. Как описано здесь, с CA данные, хранящиеся в основном узле и дата-узлах в домене отказа 1, постоянно синхронизируются с узлом реплики и дата-узлами в домене отказа 2. Aria Ops CA требует как минимум один дата-узел в дополнение к основному узлу, и они должны быть парными, то есть дата-узел в домене отказа 1 требует дата-узел в домене отказа 2.
Существует третий узел, называемый свидетелем (Witness), который ни собирает, ни хранит данные. Он определяет, в каком домене отказа должен работать кластер Aria Ops. Его можно представить как диспетчер трафика, маршрутизирующий трафик на основе состояния основного узла Aria Ops.
В идеале, у вас должно быть три физических локации, но домены отказа могут быть определены по вашему усмотрению. Архитектура Aria Ops CA предоставляет вам наибольшую доступную сегодня защиту. Аналогично автономным кластерам и кластерам HA, клиенты могут разместить перед своим кластером Aria Ops CA балансировщик нагрузки, чтобы направлять пользователей к активному кластеру.