Кластеризация в Proxmox VE

Кластеризация В Proxmox Ve (1)

Система Proxmox Virtual Environment (сокращенно – Proxmox VE) – это платформа, разработанная для работы с кластеризацией серверов. Продукт применяют, когда на одном компьютере нужно развернуть несколько виртуальных машин с любыми операционками. Плюс программа позволяет централизованно управлять IT-инфраструктурой организации. Такой подход позволяет экономить ресурсы, легко защищать критичные сервисы, быстро восстанавливать их после сбоев.

Более подробно о сценариях использования продукта:

  1. High-Availability – обеспечение отказоустойчивости.
  2. Load Balancing – балансировка нагрузки.
  3. High Performance – увеличение производительности.
  4. Distributed Computing – выполнение распределенных вычислений.

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

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

Как работает платформа

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

Особенности Proxmox VE:

  1. Продукт предлагает 2 типа виртуализации: полный вариант с KVM и контейнеры с LXC.
  2. Максимальное количество физических машин в одном кластере составляет 32 единицы.
  3. Предпочтительно использовать один и тот же релиз Proxmox на всех активных хостах.
  4. Режим High-Availability требует подключения в кластер хотя бы 3 нод.
  5. Взаимодействие осуществляется через порты UDP/5404, UDP/5405, TCP/22.
  6. Задержка в сети, объединяющей ноды, не должна превышать 2 миллисекунд.

Скачивать дистрибутив платформы рекомендуется только с официального сайта ее разработчика – https://www.proxmox.com/en/downloads/category/iso-images-pve. Распространяется программа в виде ISO-файлов, доступных как для прямого скачивания через браузер, так и в виде торрента. Иные источники могут представлять отредактированные версии, пусть и с дополненным функционалом, но неудобные в управлении.

Процедура установки довольно короткая:

  1. Пользователи удаленных выделенных серверов на cloud.timeweb.com могут воспользоваться KVM-консолью, через которую нужно смонтировать ранее скачанный образ.
  2. Выбрать диск, куда планируется инсталляция программного обеспечения. Они доступны в выпадающем списке открывшегося окна графического интерфейса.
  3. Раздел Options предлагает задать дополнительные параметры разметки, включая настройки региона (в нашем случае указывается Russia).
  4. Следующим шагом программа установки предлагает указать пароль для авторизации ROOT и электронный адрес системного администратора Proxmox-кластера.
  5. Внести полное имя домена, IP-адрес сервера, маску подсети, основной шлюз, адрес DNS-сервера (в соответствующие поля следующего окна).
  6. По завершении процедуры настройки остается перезагрузить сервер кликом на кнопку Reboot, чтобы применить внесенные изменения

Теперь можно подключиться к веб-интерфейсу системы, доступному при вводе адреса в формате https://IP_адрес_сервера:8006. Но перед использованием желательно обновить релиз до актуального состояния и установить защитные программы вроде Fail2Ban, защищающие системы от атак методом брутфорс. Последующие шаги запуска кластерного сервера включают разметку хранилищ и развертывание виртуальных машин, инсталляцию операционных систем.

Создадим тестовый кластер

Перед объединением серверов в кластер, где будут размещаться важные данные, рекомендуется ознакомиться с инструкцией для Proxmox VE и запустить систему в тестовом режиме, чем мы и займемся на примере 3 серверов с идентичной конфигурацией (2 процессорных ядра и 2 ГБ оперативной памяти). Первоначально при инсталляции ОС каждый сервер работает в Standalone Mode.

Последующие шаги:

  1. Создать новый кластер нажатием на кнопку Create Cluster в разделе Cluster утилиты Proxmox.
  2. Задать название будущего Cluster Proxmox и выбрать нужное соединение с сетью.
  3. Кликнуть на кнопку Create, после этого сервер сформирует 2048-битный защитный ключ.
  4. Сообщение «TASK OK» подтверждает успешное завершение запущенного процесса.

Если запустить повторную проверку статуса, можно убедиться, что используемые Proxmox Node для развертывания виртуальных машин теперь работают в режиме кластера

Как подключиться к кластеру

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

Поля Peer Address и Fingerprint будут заполнены автоматически. Остается ввести пароль для ROOT от Node №1 Proxmox VE Cluster и кликнуть на Join. При коннекте с кластером веб-страница GUI часто перестает автоматически обновляться, поэтому лучше делать это вручную.

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

Особенности организации High Availability

Продукт Proxmox VE поддерживает функции HA по умолчанию в обоих режимах виртуализации – как с KVM, так и LXC. При помощи утилиты ha-manager сервер выявляет любые ошибки и отказы, отрабатывает их аварийным переключением с отказавшего хоста на работоспособный. Системный администратор получает максимально полную автоматизацию функции отказоустойчивости нодов любой конфигурации.

Но для этого требуется предварительно создать общее файловое хранилище. Программный стек ha-manager будет непрерывно отслеживать доступность виртуальных машин (контейнеров), попутно взаимодействовать в асинхронном режиме с другими нодами кластера. Общее хранилище позволит безопасно переключать их с сохранением данных без прекращения процесса вычислений, несмотря на вероятные сбои в одном из узлов в Proxmox Network.

Подключаем хранилище

В качестве примера развернем файловое хранилище NFS с адресом 192.168.88.18. Выполняется эта операция в том же графическом интерфейсе, где ранее создавался отказоустойчивый кластер. Пункт доступен в меню по пути Datacenter – Storage – Add – NFS. В открывшемся окне нужно заполнить графу ID и Server (наименование хранилища и IP-адрес).

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

Настраиваем HA

Перед настройкой HA создадим контейнер с операционной системой Ubuntu. После его запуска нужно зайти в раздел программы Proxmox VE Datacenter – HA – Add. В открывшемся окне указать ID контейнера, максимальное количество попыток перезапуска и перемещения между хостами. Это значение будет использоваться по умолчанию в течение всей работы системы.

Как только цифра фактических сбоев превысит указанную, нода будет помечена сбойной и переведена в режим Error. Активируется режим по нажатию кнопки Add, в этот момент ha-manager оповестит активные хосты кластера о контроле контейнера с указанным ID. И что в случае отказа системы его нужно запустить на другом сервере.

Проверим реагирование на сбои

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

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

pvecm expected 1

По отчету Proxmox VE пользователь увидит, что механизм HA отработал штатно и переключил VM на хост №3. Если заново включить первые 2 сервера, работа кластера автоматически восстановится и система будет готова опять отрабатывать любые сбои. Правда, активным останется третья нода, которую можно поменять на первую вручную, но это необязательное действие.

Заключение

На примере мы разобрали, как устроен механизм работы Proxmox VE с защитой HA в режиме KVM-виртуализации и применения контейнеров LXC. Активация перечисленных в статье возможностей осуществляется всего один раз. После этого система уже работает автоматически, а управлять ей можно с любого компьютера, подключенного к интернету. Главное, перед формированием кластера арендовать достаточно мощные машины, внутри ЦОД высокая скорость связи обычно всегда доступна.

Как использовать Axios в React
Как использовать Axios в React
Как пользоваться SSH
Как пользоваться SSH

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону