SANSARA
SANSARA15 июля 2026 г.10 мин

Настройка HAProxy и Keepalived на личном VPS в 2026 году

Практическая настройка HAProxy и Keepalived на личном VPS в 2026 году: что это, пошаговая конфигурация балансировщика и отказоустойчивости, подключение с iPhone, Android, Windows, macOS через SANSARA.

VPSSANSARAгайд

HAProxy и Keepalived — это связка для построения отказоустойчивого балансировщика нагрузки на личном сервере. Она подходит администраторам и разработчикам, которые хотят повысить надёжность сервисов на своём VPS. С SANSARA можно быстро получить готовый личный VPS, а затем настроить HAProxy и Keepalived через терминал, чтобы трафик распределялся между несколькими серверами и автоматически переключался при сбоях.

Коротко:

  • HAProxy распределяет запросы между несколькими серверами и проверяет их доступность.
  • Keepalived обеспечивает виртуальный IP (VIP), который переходит на резервный узел при падении основного.
  • С SANSARA вы получаете личный VPS в одной из 9+ локаций с данными для подключения в кабинете.
  • Клиенты для iPhone, Android, Windows, macOS импортируют профиль из кабинета или Telegram-бота SANSARA.
  • Настройка HAProxy и Keepalived выполняется через SSH на сервере, без использования веб-панелей.
  • Готовый чек-лист помогает проверить конфигурацию и отказоустойчивость.

Что это такое и зачем нужно

HAProxy — это программный балансировщик нагрузки, который принимает входящие соединения и перенаправляет их на один или несколько бэкенд-серверов. Он умеет проверять состояние серверов, распределять нагрузку по алгоритмам (round-robin, leastconn и др.), работать в режиме TCP или HTTP.

Keepalived — демон, который реализует протокол VRRP (Virtual Router Redundancy Protocol). Он позволяет нескольким серверам разделять один виртуальный IP-адрес. Если основной сервер перестаёт отвечать, Keepalived автоматически передаёт виртуальный IP резервному узлу. Это обеспечивает отказоустойчивость на уровне сети.

Вместе они образуют схему:

  • Внешние клиенты подключаются к виртуальному IP, который обслуживает Keepalived.
  • На этом же узле HAProxy принимает соединения на виртуальном IP и распределяет их на бэкенды.
  • При падении узла с виртуальным IP Keepalived переключает VIP на другой сервер, где также работает HAProxy.

Такая конфигурация полезна, когда вы хотите:

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

Как настроить с SANSARA (пошагово)

SANSARA предоставляет личный VPS с готовым доступом: после регистрации вы получаете данные для подключения в кабинете и можете импортировать их в клиентское ПО на своём устройстве. Для настройки HAProxy и Keepalived потребуется доступ по SSH к серверу.

Шаг 1. Получить личный VPS в SANSARA

  • Зарегистрируйтесь в SANSARA и выберите тариф с личным VPS.
  • В кабинете появятся данные сервера: IP-адрес, логин, пароль или ключ для SSH.
  • Для быстрого старта можно использовать Telegram-бота SANSARA, чтобы получить готовый профиль для импорта в клиент.

Шаг 2. Подключиться к серверу по SSH

На Windows используйте PuTTY, WSL или современный терминал; на macOS и Linux — встроенный терминал. Пример для Linux/macOS:

`bash ssh username@ваш-ip-адрес `

После входа вы окажетесь в командной строке сервера.

Шаг 3. Установить HAProxy и Keepalived

На Debian/Ubuntu-подобных системах:

`bash sudo apt update sudo apt install haproxy keepalived `

На CentOS/RHEL-подобных:

`bash sudo yum install haproxy keepalived

sudo dnf install haproxy keepalived `

Включите сервисы в автозагрузку:

`bash sudo systemctl enable haproxy keepalived `

Шаг 4. Настроить HAProxy

Основной файл конфигурации — /etc/haproxy/haproxy.cfg. Пример минимальной конфигурации для балансировки двух бэкендов по HTTP:

`text global daemon log /dev/log local0

defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms

frontend http_front bind *:80 default_backend http_back

backend http_back balance roundrobin server web1 192.168.1.10:80 check server web2 192.168.1.11:80 check `

Здесь:

  • frontend описывает интерфейс для клиентов (порт 80).
  • backend указывает серверы, на которые перенаправляется трафик.
  • check включает проверку состояния серверов.

Для TCP-балансировки используйте mode tcp и настройте порты соответственно.

После изменения конфигурации проверьте её корректность:

`bash sudo haproxy -f /etc/haproxy/haproxy.cfg -c `

Если проверка прошла успешно, перезапустите HAProxy:

`bash sudo systemctl restart haproxy `

Шаг 5. Настроить Keepalived

Файл конфигурации Keepalived — /etc/keepalived/keepalived.conf. Пример для двух узлов:

На основном узле (master):

`text vrrp_script chk_haproxy { script "pidof haproxy" interval 2 weight -2 }

vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1

authentication { auth_type PASS auth_pass ваш-пароль }

virtual_ipaddress { 192.168.1.100/24 }

track_script { chk_haproxy } } `

На резервном узле (backup):

`text vrrp_script chk_haproxy { script "pidof haproxy" interval 2 weight -2 }

vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 advert_int 1

authentication { auth_type PASS auth_pass ваш-пароль }

virtual_ipaddress { 192.168.1.100/24 }

track_script { chk_haproxy } } `

Здесь:

  • virtual_router_id должен быть одинаковым на всех узлах одной группы.
  • priority определяет приоритет: выше — основной узел.
  • virtual_ipaddress — виртуальный IP, который будет переключаться.
  • script "pidof haproxy" проверяет, работает ли HAProxy; если нет, приоритет снижается.

После настройки на обоих серверах запустите Keepalived:

`bash sudo systemctl start keepalived sudo systemctl enable keepalived `

Шаг 6. Проверить работу

  • Убедитесь, что виртуальный IP появился на основном узле: ip addr show eth0.
  • Проверьте статус Keepalived: systemctl status keepalived.
  • Проверьте, что HAProxy слушает порты: netstat -tulpn | grep haproxy.
  • Сымитируйте отказ: остановите HAProxy или выключите сеть на основном узле и убедитесь, что VIP перешёл на резервный.

Устройства: iPhone, Android, Windows, macOS

Настройка HAProxy и Keepalived выполняется на стороне сервера (вашем личном VPS), а клиентские устройства подключаются к получившейся инфраструктуре через защищённый канал.

  • iPhone, Android: после настройки сервера вы можете использовать мобильные клиенты, поддерживающие импорт конфигурационных файлов. В SANSARA профиль для импорта доступен в кабинете или через Telegram-бота SANSARA.
  • Windows: популярные клиенты позволяют загрузить профиль из файла или скачать его напрямую из кабинета SANSARA.
  • macOS: аналогично, используются нативные или сторонние клиенты с поддержкой импорта конфигурации.

Во всех случаях вы подключаетесь к своему личному VPS, на котором работает связка HAProxy + Keepalived. Это даёт выделенный узел вместо общего перегруженного пула.

Практический чек-лист на 7–10 пунктов

  1. 01Получите личный VPS в SANSARA, выберите локацию и запишите данные для SSH.
  2. 02Подключитесь по SSH к серверу и обновите пакеты.
  3. 03Установите HAProxy и Keepalived через пакетный менеджер.
  4. 04Настройте HAProxy: определите frontend, backend, алгоритм балансировки и проверки.
  5. 05Проверьте конфигурацию HAProxy командой haproxy -c перед перезапуском.
  6. 06Настройте Keepalived на всех узлах: укажите состояние (MASTER/BACKUP), приоритет, виртуальный IP и скрипт проверки HAProxy.
  7. 07Запустите сервисы и включите автозагрузку: systemctl enable haproxy keepalived.
  8. 08Убедитесь, что виртуальный IP назначен на основном узле.
  9. 09Проверьте отказоустойчивость: остановите HAProxy или сеть на MASTER и убедитесь, что VIP перешёл на BACKUP.
  10. 10Протестируйте подключение клиентов с iPhone, Android, Windows, macOS через импорт профиля из SANSARA.

FAQ

Можно ли использовать HAProxy и Keepalived на одном сервере или обязательно нужны два узла?+

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

Как проверить, что балансировка работает корректно?+

Включите логирование в HAProxy, отправьте несколько запросов и посмотрите, как они распределяются по бэкендам. Также используйте systemctl status haproxy и systemctl status keepalived для проверки состояния демонов.

Нужно ли открывать дополнительные порты на firewall для Keepalived?+

Да, Keepalived использует протокол VRRP, который работает по multicast (обычно адрес 224.0.0.18, протокол 112). Убедитесь, что firewall разрешает обмен VRRP-пакетами между узлами.

Подойдёт ли такая настройка для балансировки баз данных или только для веб-серверов?+

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

Итог

  • HAProxy + Keepalived — стандартная связка для отказоустойчивой балансировки нагрузки на личном сервере.
  • С SANSARA вы быстро получаете личный VPS в одной из 9+ локаций и данные для подключения в кабинете.
  • Настройка выполняется через SSH: установите пакеты, настройте конфиги, проверьте их и запустите сервисы.
  • Клиенты на iPhone, Android, Windows, macOS подключаются через импорт профиля из кабинета или Telegram-бота SANSARA.
  • Чек-лист помогает последовательно проверить конфигурацию и убедиться в отказоустойчивости.

Ещё по теме

CTA · SANSARA

Личный VPS — без терминала и очередей

Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.