LINUX.ORG.RU
ФорумAdmin

«Правильная» двухсторонняя синхронизация файлов HA проекта

 , , ,


0

3

Добрый день,

Есть желание сделать одну систему (php+mysql) отказоустойчивой, как я это вижу:

Покупаются сервера в разных датацентрах, есть 2 веб-сервера, 2 HA прокси, 3 DNS сервера. DNS проверяет доступность каждого из HA прокси, и решает адрес вегда в айпи одного из доступных, HA прокси в свою очередь проверяет доступность веб-серверов, и возвращает всегда какой то один, а второй висит как резервный. Как только падает первый, HA прокси это фиксирует и направляет трафик на второй, когда поднимается первый, HA через определенное время начинает слать трафик на него (задержка в моем понимании нужна что бы успела произойти синхронизация данных от второго сервера на первый). Базы будут master - master, проблем быть не должно потому что писаться всегда будет только в одну БД. А вот как быть с файлами? rsync? Но тогда как он поймет что отсутствие файла 1 на сервере 2 = скопировать файл 1 с первого сервера на второй, а не удалить его на первом?

Замечания и критика приветствуются, никогда раньше такого не воротил. Кстати по поводу «DNS проверяет доступность каждого из HA прокси, и решает адрес вегда в айпи одного из доступных», это реально или я себе придумал? Если да то тыкните куда копать, bind это умеет?



Последнее исправление: OxFF (всего исправлений: 1)

не надо вовлекать dns в балансировку

ибо днс записи имеют свойство кэшироваться промежуточными dns серверами.

gorilych ★★
()
Ответ на: комментарий от OxFF

В данных вводных никак. Нужен балансирующий фронтэнд, желательно тоже отказоустойчивый. А отказоустойчивость балансёров можно обеспечить только в одной сети, разными способами (VRRP, pacemaker cluster и т.п.). Ну а канал в инет нужно иметь через двух провайдеров с использованием BGP и своей автономной системы.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Да везде в инете как начнешь гуглить пишут про балансировку, а мне не нужна балансировка, нужна просто отказоустойчивость, что бы при падении системы, незаметно для пользователя произошло переключение на копию этой системы но в другом месте, с актуальными данными из первой системы

OxFF
() автор топика
Ответ на: комментарий от OxFF

и там и там есть диспетчеризация внешних запросов. При балансировке (плюс отказоустойчивость автоматом) у тебя active-active связка, при простой отказоустойчивости у тебя active-passive связка. Не сильно большое отличие.

Проблема балансировки запросов между двумя ДЦ просто не решается, потому что между ними нельзя (просто) перекинуть IP.

http://www.linux-archive.org/ubuntu-server-development/701094-load-balancing-...

gorilych ★★
()
Ответ на: комментарий от OxFF

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

В любом случае с разными ДЦ нельзя реализовать настоящую отказоустойчивость. Как можно сделать - читай выше про двух провайдеров и BGP.

blind_oracle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.