Возникла задача, наконец, сделать хороший резервный сервер для сайта.
Задача: в случае аварии у хостинг провайдера переключить трафик на резервный сайт (сменить IP). Там клиенты будут делать заказы, а потом, когда все наладится, вернуть на боевой. Надо, чтобы на резервном сайте была актуальная версия сайта. Желательно, чтобы при возвращении назад мы могли восстановить новые заказы, сделанные во время падения.
Синхронизацию файлов сделаем как-нибудь. А вот с базой проблема - не хочется делать бекап каждый час и нагружать сайт.вЃ
Слышал про репликацию базы. Давно еще смотрел лекции Сербула.
Есть наивные детские вопросы:
1. Какие возможности в этом плане сейчас есть у Bitrix ENV ? Я бы отдельно настроил вторую виртуальную машину. Я аддски боюсь их пула серверов. Но может не всё так плохо? 2. Как лучше делать репликацию с рабочего на резервный? И откат обратно с резервного на рабочий?
Как я понимаю в машине 7.1 используется Percona - а это очень хорошо.
Артемий Зайцев написал: Но в случае падения сервера мы будем в днс IP менять на другой.У нас не стоит задачи, чтобы сайт одновременно 2 базы использовал.
Это целая отдельная наука делать 2 независимых связанных решения. Проще сделать 2 сайта с master-slave репликацией и чем-нибудь типа rsync взаимодействия. Можно конечно для уменьшения использовать облачное хранилище для файлов.
И тогда можно ссылаться на 1 сайт, при его падении на 2 сервере говорить что он теперь мастер, переключать dns и работать, когда 1 заработает, сделать его slave и переключить синхронизацию.
Простой будет минимальный, но это будет равносильно двум серверам
Я бы добавил перед вашими серверами балансировшик, например nginx или haproxy, который будет мониторить доступность сервера и, соответственно если доступен то перенаправлять на него запросы. За балансировщиком могут жить 2 сервера: основной и служебный. Для БД можно slave-master или master-master либо иной подходящий механизм. С файлами немного сложнее. Если будете использовать rsync, то будьте очень аккуратными, он любит периодически что НЕ синхронизировать или сайт удалить полностью.
При данном подходе вам при падении основного сервера не надо будет ничего делать с DNS, т.к. все записи будут вести на балансировщик, который начнет перенаправлять запросы уже на запасной сервер.
Mikhail Kryachek, вот я тоже много думал об этом, и всегда у меня возникала мысль, а потом упадет балансировщик и от моих двух серверов толку ровно ноль. Пока единственно что пришло в голову по этому поводу - два балансировщика и round robin dns, таким образом мы обработаем как минимум половину запросов, и быстро можем убрать убитый балансировщик. Но и тут есть проблема, не знаю не одного хостера поддерживающего RRDNS.