- Русские Блоги
- Балансировка нагрузки горячего резервирования двух машин Haproxy + keepalived (2)
- haproxy + keepalive горячее резервное копирование с двумя системами (активный режим ведущего)
- 1 Обзор
- 2. Планирование
- 3. Схема архитектуры
- 4. Установите и настройте keepalive (установлен на активном и резервном haproxy)
- 1) Установка
- 2) Настроить keepalive.conf (основной)
- 3) Настройте keepalive.conf (в режиме ожидания)
- 5. Проверьте ip, полученный этими двумя узлами.
- 1) Сначала запустите мастер, посмотрите и получите информацию об IP (vip1)
- 2) Перезапустите резервную копию и наблюдайте, чтобы получить информацию об IP (vip2)
- 6. Установите tomcat (веб-сторона) (игнорируется)
- 1) Существующая конфигурация
- 2) Разверните службу Tomcat
- 7, конфигурация haproxy
- 1) Конфигурация (такая же как активная и резервная)
- 2) Перезагрузите haproxy (запускаются как активный, так и резервный)
- Проблема сортировки
- 1. Нет проблем с файлом конфигурации при добавлении сетевой карты к виртуальной машине VMware.
- 2. При компиляции haproxy сообщается об ошибке: make TARGET = linux2628 PREFIX = / usr / local / haproxy
- Интеллектуальная рекомендация
- java StringBuilder
- Vue.js: Легкая высокоэффективная схема комбинированного компонента
- Эффект кода проверки изображения (число и буква)
- Воображение запускает графический процессор серии IMG B (GPU): многократная технология создает больше возможностей
- Docker Registry+SSL использует NGINX для использования обратного прокси и использования LDAP в качестве проверки
Русские Блоги
Балансировка нагрузки горячего резервирования двух машин Haproxy + keepalived (2)
Продолжение предыдущей статьиHaproxy балансировки нагрузки (1), В этой статье в основном объясняется горячее резервное копирование двух систем haproxy + keepalived для реализации быстрого переключения служб.
haproxy + keepalive горячее резервное копирование с двумя системами (активный режим ведущего)
1 Обзор
Появление haproxy призвано восполнить некоторые недостатки приложений nginx, таких как обслуживание сеансов, механизмы обнаружения мониторинга работоспособности, алгоритмы загрузки и т. Д. Во многих средах приложений производительность прокси-сервера nginx будет немного ниже, чем у haproxy, но в некоторых практических случаях Keepalive + nginx и keepalive + haproxy часто выбираются в зависимости от бизнеса. Например, nginx имеет функцию кэширования прокси, которой нет в haproxy. Если вам нужно использовать кеш, вы можете использовать nginx. Вкратце: выберите два в зависимости от бизнеса.
2. Планирование
3. Схема архитектуры
4. Установите и настройте keepalive (установлен на активном и резервном haproxy)
1) Установка
2) Настроить keepalive.conf (основной)
cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs notification_email # Определите почтовый ящик получателя, начните несколько почтовых ящиков с новой строки, просто напишите в выравнивании [email protected] > notification_email_from [email protected] # Определить адрес электронной почты отправителя smtp_server 127.0.0.1 # Определить адрес почтового сервера smtp_connect_timeout 30 # Время ожидания подключения к почтовому серверу составляет 30 секунд router_id LVS_A # Идентификация машины, на которой запущен keepalive, вы можете настроить ее > vrrp_instance VI_1 # Определить экземпляр VRRP, имя экземпляра произвольное state MASTER # Укажите роль текущего узла, master - это master, backup - slave interface ens33 # Интерфейс мониторинга Direct HA nopreempt # Не вытесняйте мастера virtual_router_id 51 # Идентификатор виртуальной маршрутизации, в одном экземпляре VRRP идентификаторы основного и резервного серверов должны совпадать priority 100 # Определите приоритет узла, чем выше число, тем выше приоритет, приоритет главного сервера выше, чем подчиненного сервера advert_int 1 # Установить временной интервал между активным и резервным режимом, в течение которого не выполняется проверка, единица измерения - секунда authentication # Установите тип аутентификации и пароль между ведущим и ведомым auth_type PASS auth_pass a23c7f32dfb519d6a5dc67a4b2ff8f5e > virtual_ipaddress 192.168.171.100 # Определить виртуальный IP-адрес > > vrrp_instance VI_2 state BACKUP interface ens33 virtual_router_id 52 nopreempt priority 99 advert_int 1 authentication auth_type PASS auth_pass 56f7663077966379d4106e8ee30eb1a5 > virtual_ipaddress 192.168.171.200 # Определить виртуальный IP-адрес > >
3) Настройте keepalive.conf (в режиме ожидания)
cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs notification_email [email protected] > notification_email_from [email protected] smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL > vrrp_instance VI_1 state BACKUP interface ens33 virtual_router_id 51 priority 99 advert_int 1 authentication auth_type PASS auth_pass a23c7f32dfb519d6a5dc67a4b2ff8f5e > virtual_ipaddress 192.168.171.100 > > vrrp_instance VI_2 state MASTER interface ens33 virtual_router_id 52 priority 100 advert_int 1 authentication auth_type PASS auth_pass 56f7663077966379d4106e8ee30eb1a5 > virtual_ipaddress 192.168.171.200 > >
5. Проверьте ip, полученный этими двумя узлами.
1) Сначала запустите мастер, посмотрите и получите информацию об IP (vip1)
systemctl start keepalived.service systemctl enable keepalived.service systemctl status keepalived.service ip addr
2) Перезапустите резервную копию и наблюдайте, чтобы получить информацию об IP (vip2)
systemctl start keepalived.service systemctl enable keepalived.service systemctl status keepalived.service ip addr
6. Установите tomcat (веб-сторона) (игнорируется)
1) Существующая конфигурация
И web01, и web02 развернули службы httpd и имеют доступ для получения информации об их индексах.
2) Разверните службу Tomcat
1> Скачать
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
2> Распаковать
tar -xf apache-tomcat-9.0.30.tar.gz -C /usr/local/ cd /usr/local/apache-tomcat-9.0.30/
3> Измените индексную страницу tomcat (index.jsp)
Домашняя страница Web01 изменена на 192.168.171.119
Домашняя страница Web02 изменена на 192.168.171.129
4> Доступ через браузер
7, конфигурация haproxy
1) Конфигурация (такая же как активная и резервная)
cat /usr/local/haproxy/etc/haproxy.cfg global log 127.0.0.1 local0 #log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 chroot /usr/local/haproxy uid 99 #Owning user uid gid 99 # Собственная действующая группа пользователей daemon # Запустить haproxy в фоновом режиме nbproc 1 # Запустить 1 экземпляр haproxy. # # Количество рабочих процессов (количество процессоров). В реальной работе оно должно быть равно количеству ядер процессора. Это может дать полный простор для максимальной производительности. pidfile /usr/local/haproxy/run/haproxy.pid # Записываем все процессы в файл pid #debug # Используется при отладке ошибок #quiet #quiet defaults log global log 127.0.0.1 local3 # Ориентация вывода файла журнала. Создаваемый уровень журнала - local3. Local1-7 в системе, определяется пользователем mode http # Рабочий режим, тип обработки, по умолчанию - режим http, его можно настроить как tcp для 4-х уровневой пересылки сообщений. option httplog # Категория журнала, запись журнала http option httpclose # Активно закрывать http-канал после завершения каждого запроса, haproxy не поддерживает keep-alive и может только имитировать реализацию этого режима option dontlognull # Не записывать пустые подключения, сгенерированный журнал option forwardfor # Если внутреннему серверу необходимо получить параметры, которые необходимо настроить для реального IP-адреса клиента, IP-адрес клиента можно получить из заголовка Http option redispatch # Когда сервер, соответствующий serverid, зависает, он принудительно перенаправляется на другие работоспособные серверы retries 2 # 2 Если соединение не удается, сервер считается недоступным, в основном, в результате следующей проверки maxconn 2000 # Максимальное количество подключений balance roundrobin # Алгоритм балансировки нагрузки stats uri /haproxy-stats #haproxy Адрес доступа к странице мониторинга # можно получить через http: // localhost: 80 / haproxy-stats timeout connect 5000 #Время соединения вышло. Единица: мс миллисекунды timeout client 50000 # Время ожидания подключения клиента timeout server 50000 # Тайм-аут соединения на стороне сервера mode http option httpchk GET /index.html # # Обратите внимание, что при тестировании в реальной работе определенная страница должна быть загружена для тестирования, поэтому эта страница должна быть небольшой страницей, а не домашней. Вот проверять страницу каждую секунду. frontend http # Конфигурация интерфейса, имя http можно настроить bind 0.0.0.0:80 # Инициируйте http запрос 80 порт, он будет перенаправлен на заданный ip и порт default_backend http_back # Вперед на бэкэнд Записать имя бэкэнда backend http_back # Серверная конфигурация, имена связаны вверх и вниз server server_119 192.168.171.119:80 weight 3 check # Backend IP-адрес хоста и компромисс server server_129 192.168.171.129:80 weight 3 check # Backend IP-адрес хоста и компромисс #server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30 # inter 2000 Интервал проверки работоспособности составляет 2 секунды # rise 3 Как вы думаете, сколько раз это нормально? # fall 3 Сколько раз он не считался непригодным для использования #weight 30 Вес listen state # Использовать отдельный вывод, вызов frontedn не требуется: определить страницу статистики статуса haproxy bind 0.0.0.0:8001 # Адрес прослушивания mode http # 7-слойный режим работы http: углубленный анализ данных уровня приложения, поэтому он поддерживает 7-уровневую фильтрацию, обработку, преобразование и другие механизмы stats enable # Открыть вывод страницы статистики stats hide-version # Скрыть номер версии страницы статуса stats uri /haproxyadmin?stats # Укажите путь доступа к странице статуса stats auth admin:admin # На основе имени пользователя и пароля. stats admin if TRUE # Запускаем логин, когда проверка пройдена. acl num1 src 192.168.171.0/24 # Определите правило acl, исходным адресом которого является сегмент сети 192.168.171.0/24, и назовите его num1 tcp-request content accept if num1 # Если это правило соблюдается, доступ разрешен tcp-request content reject
2) Перезагрузите haproxy (запускаются как активный, так и резервный)
1> Пуск
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg
2> Тест
3> Страница мониторинга
http://192.168.171.100/haproxy-stats
http://192.168.171.200/haproxy-stats
4> страница статистики статуса haproxy (имя пользователя и пароль: admin: admin)
http://192.168.171.100:8001/haproxyadmin?stats
http://192.168.171.200:8001/haproxyadmin?stats
Проблема сортировки
1. Нет проблем с файлом конфигурации при добавлении сетевой карты к виртуальной машине VMware.
явление:
Решение:
cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-ens37 Отредактируйте файл конфигурации ifcfg-ens37, измените NAME и DEVICE на esn37, удалите uuid
Перезагрузите сетевую карту.
systemctl restart network
2. При компиляции haproxy сообщается об ошибке: make TARGET = linux2628 PREFIX = / usr / local / haproxy
явление:
Решение:
Используйте команду make TARGET = linux-glibc
Интеллектуальная рекомендация
java StringBuilder
Разница между String и stringBulider: Рекомендуется использовать StringBuilder Пять методов обычно используемого класса StringBuilder: пример.
Vue.js: Легкая высокоэффективная схема комбинированного компонента
Источник:http://www.csdn.net/article/1970-01-01/2825439 Vue.js — это предельная библиотека развития, которую я открыл в феврале 2014 года, предоставляя эффективные системы привязки и гибких компоненто.
Эффект кода проверки изображения (число и буква)
Воображение запускает графический процессор серии IMG B (GPU): многократная технология создает больше возможностей
Новая многократная опция предоставлена для всех рынковЛучший продукт интеллектуальной собственности (IP) GPU Лондон, Великобритания, 13 октября 2020 г. -технология -миманирования объявила о запуске .
Docker Registry+SSL использует NGINX для использования обратного прокси и использования LDAP в качестве проверки
1. Создайте сертификат Установить OpenSSL Генерировать сертификат OpenSSL 2. Запустите контейнер Запустите контейнер реестра+сертификат В -третьих, проверьте, доступен ли реестр Создайте путь хранения.