Failover серверы предназначены для

Failover серверы предназначены для

Аварийное переключение (англ. failover) — передача функциональной нагрузки на резервный компонент системы в сети в случае сбоя или нарушения в работе основного компонента. Аварийное переключение выполняется автоматически, без вмешательства оператора. Аварийное переключение делает систему видеонаблюдения устойчивой к отказам и обеспечивает непрерывное наблюдение и видеозапись.

В состав IP системы видеонаблюдения включается резервный сетевой видеорегистратор AVH516FOS (FailOver Server), который поддерживает технологию резервирования системы по записи . Он контролирует работу до 7-ми сетевых видеорегистраторов (NVR) и автоматически получает от них информацию о подключённых к ним IP видеокамерах. В случае выхода из строя (поломка, зависание и т.п.) любого их контролируемых NVR-ов AVH516FOS автоматически начинает запись информации от камер, которые работали с неисправным видеорегистратором.

AVH516FOS:

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

Резервный регистратор AVH516FOS может контролировать состояние до 7 регистраторов следующих моделей: AVH516S, AVH516 Plus, AVH564

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

  • Применением программы CMS «TRIDENT», которая обеспечивает работу со всеми IP-устройствами AVTECH.
  • Применением коммутатора HDMI HDM02, который позволяет вывести на один монитор сигналов от 4 устройств записи и даёт возможность управления ими. Оператор в процесс работы просто переключит изображения на мониторе от основного устройства записи на резервное.

Таким образом, возможно создание видеосистемы высокой надёжности, в которой автоматически обеспечивается непрерывная видеозапись даже при поломке отдельных её компонентов.

Аварийное переключение (англ. failover ) — передача функциональной нагрузки на резервный компонент компьютерной системы или сети (сервер, сетевое устройство, функциональный модуль и т. п.) в случае сбоя или нарушения функционирования основного компонента той же системы или сети. В общем случае основной и резервный компоненты могут быть как идентичными, так и различными по набору функций. Аварийное переключение, как правило, выполняется автоматически (без вмешательства оператора), но в отдельных случаях система может запрашивать разрешение на переключение.

Аварийное переключение является одним из методов обеспечения отказоустойчивости. Абсолютная (теоретическая) цель аварийного переключения — обеспечить непрерывную доступность функций (например, сетевых сервисов), предоставляемых системой или сетью. На практике это означает снижение вероятности сбоя системы или уменьшение времени, в течение которого система не выполняет требуемые функции.

Механизм аварийного переключения зависит от особенностей конкретной системы. В общем случае автоматизация процесса обеспечивается посредством специального сигнала («пульс», англ. heartbeat ), которым регулярно обмениваются основное и резервное устройства.

Читайте также:  Canon 600d body обзор

Использование программной виртуализации позволяет снизить зависимость реализаций аварийного переключения от разнообразия моделей аппаратного обеспечения и оборудования.

Содержание

Примеры реализаций [ править | править код ]

Cisco ASA [ править | править код ]

В межсетевых экранах Cisco ASA аварийное переключение осуществляется между двумя идентичными устройствами, соединёнными специальной линией (канал аварийного переключения, англ. failover link ) и, при необходимости, дополнительной линией передачи состояния (канал аварийного переключения с учётом состояния, англ. stateful failover link ). Линия передачи состояния предусмотрена для минимизации потерь трафика в момент аварийного переключения: по ней происходит постоянный обмен информацией обо всех установленных сеансах связи. Эта линия может быть как выделенной, так и совмещённой со специальной.

Оба устройства ASA должны быть одной модели, иметь одинаковые номера версий программного обеспечения, количество и тип интерфейсов, а также одинаковый объём оперативной памяти. Объём флеш-памяти может отличаться, но на устройстве с меньшим объёмом памяти её должно было достаточно для размещения системных и конфигурационных файлов [1] .

Аварийное переключение инициируется автоматически по результатам анализа работоспособности активного устройства и его интерфейсов. При этом в активном режиме может работать как одно из устройств пары аварийного переключения, так и оба, в зависимости от настроек.

Если только одно из устройств настроено в активном режиме (Active/Standby Failover), весь трафик в нормальных условиях передаётся через него. Второе при этом находится в режиме ожидания, принимая нагрузку только в случае отказа первого.

Если оба устройства настроены в активном режиме (Active/Active Failover), трафик в нормальных условиях обрабатывается двумя устройствами. Использование такого режима требует создания нескольких виртуальных межсетевых экранов — контекстов, эмуляция которых распределяется между физическими устройствами. Это позволяет более гибко управлять балансировкой нагрузки в сети. В случае отказа одного из устройств обработку всего трафика (и эмуляцию всех контекстов) принимает на себя второе.

Режим Active/Active Failover не является средством увеличения производительности устройств, так как каждое из них должно быть способным принять на себя всю сетевую нагрузку. Кроме того, он имеет ряд ограничений: в многоконтекстном режиме не поддерживаются VPN, протоколы динамической маршрутизации и multicast [2] .

Доступность любого приложения зависит от работоспособности его компонент. Обеспечение доступности приложения — это обеспечение доступности компонент. На физическом уровне — это снижение зависимости работы приложения от поломок серверов.

Рано или поздно сервер сломается, каким бы надежным он ни был. Риск выхода из строя железа решается только посредством избыточности. Т.е. тогда, когда каждый узел имеет резервную копию. И в случае выхода их строя основного сервера, резервный может взять на себя работу основного. По-другому это и называется failover.

Читайте также:  Cpu amd ryzen 7 1800x

Избыточность

Главный принцип обеспечения отказоустойчивости — это избегать числа 1 (SPOF). Любой компонент должен быть зарезервирован. Это принцип избыточности.

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

Существует несколько простых подходов по резервированию основных компонент Web приложения:

  • DNS
  • Фронтенды
  • Бекенды
  • Базы данных

1. DNS

Обычно для одного домена указывается несколько NS записей:

В случае, если один из NS серверов выходит из строя, запросы обрабатывают другие.

Это и позволяет обеспечить высокий уровень доступности для обслуживания запросов к DNS. Убедитесь, что Ваш домен имеет несколько NS записей:

2. Фронтенды

Фронтенд — это сервер, который получает запросы от клиентов и отправляет им ответ. Выход из строя такого сервера приводит к недоступности всего Web приложения.

Резервирование фронтендов удобно реализовывать с помощью виртуальных IP адресов UCARP. Тогда один из двух идентичных серверов получает виртуальный IP, к которому привязан домен. При выходе из строя текущего сервера, этот IP адрес назначается резервному серверу.

Отслеживание состояния и переключение IP адреса следует автоматизировать. Можно каждую секунду опрашивать основной сервер на корректность работы (т.н. heartbeat). В случае, если корректный ответ не был получен, переназначать IP адрес на резервный фронтенд:

# Проверка heartbeat.html (содержит слово "ок") каждую секунду

Более низкий уровень мониторинга (доступность сервера) UCARP реализует самостоятельно.

3. Бекенды

Бекенды — это сервера, на которых работает основное приложение (например, PHP). Они обычно абсолютно идентичны. Это позволяет использовать активное резервирование. Т.е. все бекенды обрабатывает запросы, нет резервных серверов. Если один из бекендов выходит из строя, он просто исключается из общего списка, и на него перестают приходить запросы от фронтенда.

Однако, при отключении одного из серверов, повысится нагрузка на остальные. Количество бекендов лучше рассчитывать исходя из того, что в любой момент может выйти из строя 25% их общего количества.

Nginx позволяет указать несколько серверов для обработки fastcgi запросов с помощью upstream:

Запросы будут автоматически распределяться между указанными серверами.

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

# в случае 2х неуспешных запросов, Nginx исключит сервер из пула на 360 секунд

max_fails определяет количество ошибок, полученных от бекенда, а fail_timeout — время, на которое бекенд будет исключен из пула.

Читайте также:  Assassin origin системные требования

4. Базы данных

Резервирование баз данных — самая сложная задача. Для обеспечения отказоустойчивости часто используют Master-Slave репликацию. Следует отметить, что реплика в этом случае работает в пассивном режиме. Т.е. никаких запросов от приложения она не обрабатывает, а служит только для хранения актуальной копии данных с мастера.

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

# Перезаписываем файл настроек с адресом Мастера в случае ошибки

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

  1. Сломанный сервер отключается от любых операций и чинится.
  2. После восстановление, на нем настраивается репликация с работающего сервера.
  3. После настройки репликации и ее синхронизации, в приложение добавляется конфигурация этого сервера (в нашем примере мы бы добавили его адрес в файл "config/db/replica.php").

Настройку слейва с работающего мастера можно выполнить с помощь утилиты Xtrabackup.

После этого, бывший слейв становится основным (т.е. Мастером), а восстановленный сервер становится резервным (т.е. Слейвом).

Самое важное

Любой сервер когда-то сломается. Избегайте узлов, которые работают в единственном экземпляре. Отдавайте предпочтение менее мощным серверам, но большему их количеству.

Помните, главный метод обеспечения отказоустойчивости — это резервирование. При планировании расширения учитывайте необходимость приобретения резервного оборудования.

Худшие практики при работе над растущими проектами

3 аспекта эффективного мониторинга для Web приложений

Что значит высокая нагрузка (highload) и что при этом делать?

Выбор серверов под базы данных, бекенды и фронтенды

Что такое отказоустойчивость и как ее реализовать в PHP-приложениях

Как строятся по-настоящему большие системы на основе MySQL

Основные понятия о шардинге и репликации

Архитектурные принципы высоконагруженных приложений

Как и зачем используются очередей сообщений

Правила и практика масштабирования Твиттера

Как решать типичные задачи с помощью NoSQL

Разделение базы данных на несколько независимых баз

Типы и способы применения репликации на примере MySQL

Методы улучшения производительности веб-приложения для высоконагруженных проектов на Django

Простые и быстрые варианты переноса ключей Redis на другой сервер.

4 шага и 9 инструментов для анализа нагрузки на сервер

Архитектура системы хранения, ресайза и отдачи фотографий в облаке

Фоновое выполнение в PHP с помощью fastcgi_finish_request

Проверка работы Mysql под нагрузкой Sysbench

Пример использования очередей на основе Gearman и PHP

Асинхронные задачи для оптимизации скорости сайта

Работа приложения с несколькими бэкендами при помощи Nginx

2 способа балансировки нагрузки на сайт с помощью DNS

2 примера денормализации для оптимизации базы данных

Ссылка на основную публикацию
Error reading smart victoria что это
Добрый день. В сегодняшней статье хочу коснуться сердца компьютера — жесткого диска (кстати, многие называют сердцем процессор, но лично я,...
Dji mavic pro platinum отличия
Приветствуем вас, уважаемые любители БПЛА. При всех неоспоримых достоинствах дронов с качественными камерами, у них есть и одна особенность –...
Dji phantom 3 standard инструкция
Сегодня невозможно встретить пользователя, не мечтающего стать обладателем 4-х пропеллерного вертолета квадрокоптера. Особенно, если это модель dji phantom 3 standard....
Error opening the file как исправить
Обычно сообщение об ошибке достаточно информативно, чтобы исправить эту ошибку. Если сообщение указывает на строку, в которой нет ошибки, то...
Adblock detector