+7 495 230 03 03 8 800 222 50 03
DevOps

Отказоустойчивый FTP через HAproxy

HAproxy — это серверное программное обеспечение для обеспечения высокой доступности и балансировки нагрузки для TCP- и HTTP-приложений посредством распределения входящих запросов на несколько обслуживающих серверов.
Для настройки отказоустойчивого FTP имеем настроенный сервер на Linux с установленной ролью HAproxy и два настроенных Windows Server с ролью IIS.

Публикация FTP на двух серверах

Добавляем FTP сайт на двух серверах с ролью IIS к одному и тому же физическому пути. Например: имеем два Windows Server 2019 с ролью IIS и файловый сервер с общим доступом к папке:
  1. IP адреса: IIS1 – 10.15.59.13 и IIS2 – 10.15.59.14
Настройка отказоустойчивого FTP через HAproxy

Рисунок 1 – Добавление FTP сайта.

На начальной странице IIS переходим в пункт “Поддержка брандмауэра FTP” и выставляем диапазон портов для пассивных подключений, указываем IP адрес нашего сервера с HAproxy – Нажимаем “применить”:
Настройка FTP через HAproxy - порты и IP

Рисунок 2 – Поддержка брандмауэра FTP.

Настройка конфигурации HAproxy

На Linux сервере с ролью HAproxy открываем конфигурацию любым удобным редактором:
nano /etc/HAproxy/HAproxy.cfg
и добавляем в конфигурацию строчки:
frontend ftp_frontend
    bind *:21
    mode tcp
    option tcplog
    default_backend ftp_backend

backend ftp_backend
    mode tcp
    balance roundrobin  # или другой балансировочный алгоритм
    option tcplog
    server ftp1 10.15.59.13:21 check
    server ftp2 10.15.59.14:21 check backup

frontend ftp_data_frontend
    bind *:50000-55000   # Порты для пассивного режима FTP
    mode tcp
    option tcplog
    default_backend ftp_data_backend

backend ftp_data_backend
    mode tcp
    balance roundrobin
    option tcplog
    server ftp1_data 10.15.59.13 check port 21
    server ftp2_data 10.15.59.14 check port 21 backup
После чего перезапускаем службу HAproxy:
systemctl restart haproxy.service
Теперь когда сервер IIS1 перестанет работать или перестанет быть доступным по порту 21, то автоматически будет осуществляется FTP-подключение на второй сервер IIS2
Дата публикации: 4 декабря 2024
Не нашли ответа на свой вопрос?

Смотрите также

Обсуждение материала

Содержание

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.