Beget остаётся основным хостингом. Базы всех сервисов переезжают на свой сервер, бэкапы каждую ночь уходят на наш сервер с отдельным диском, а на случай падения Beget держим резервную копию сайтов и переключаемся на неё за минуты.
Сайты остаются на Beget. Меняется то, где живут их данные: базы с общего хостинга Beget переезжают на наш MySQL-сервер — туда, где уже лежат вход, вики и задачи портала.
shop.4brewers.ru
Заказы клиентов, резервы, взаиморасчёты. Сайт — на Beget.
portal.4brewers.ru
CRM, задачи, вики, отчёты, вход сотрудников для всех сервисов.
control.4brewers.ru
Производство: варки, приёмка, санитария, проверки. Вход через портал.
4brewers.ru
Публичный сайт 4BREWERS на Beget.
S3-облако Beget
Фото сортов и баннеры. Остаются в S3 Beget, копия — у нас, для резервной копии сайтов.
раздел портала
Большая база ClickHouse на нашем сервере. Бэкап раз в месяц — чаще не нужно.
Beget лёг целиком. Магазин подняли на своём сервере за день, но четыре вещи стоили нам почти всего этого дня. Каждая из них закрывается планом ниже.
DNS 4brewers.ru жил у того же Beget, и он же регистратор домена. Пока лежал хостинг, лежало и управление доменом — пришлось покупать новый.
Ежедневные бэкапы хранились на самом Beget. У нас был только дамп от 28 июля — три месяца назад.
Базы магазина и контрола жили на общем хостинге. Лёг Beget — недоступны и данные, а схему новых таблиц собирали по логам.
Обмен ходит в базу по адресу хостинга. Сменился сервер — обмен встаёт, пока его не перенастроят и не перевыгрузят данные.
Сайты работают на Beget, данные — на нашем сервере баз. Рядом — бэкапы на отдельном сервере, реплика баз и резервная копия сайтов. Нажмите на сценарии, чтобы увидеть, что происходит при сбое.
Сайты на Beget недоступны. Базы на нашем сервере живы — данные целы.
Проверка видит, что сайты не отвечают, и присылает сообщение с кнопкой «Переключить на резерв». Решает человек: короткий сбой Beget бывает дешевле переждать.
Одна кнопка меняет адреса магазина, портала, контрола и сайта на резервный сервер. Резервная копия работает с тем же сервером баз — ни одна запись не теряется.
Ответ DNS живёт в памяти устройств до 5 минут, после этого все клиенты и сотрудники работают на резерве. 1С ничего не замечает: она ходит в базы, а не на Beget.
Той же кнопкой возвращаем адреса на Beget. Догонять нечего: данные всё время были на нашем сервере баз.
На общем хостинге Beget ничего не настроить: ни репликацию, ни свою версию MySQL. Поэтому первый шаг — перенести базы магазина и контрола на наш MySQL-сервер, где уже живут вход, вики и задачи портала. Правила репликации обсудим, когда все базы будут там.
Сайты остаются на Beget, а база уезжает — каждый запрос пойдёт через интернет. Страница магазина делает десятки запросов к базе. Портал уже так работает с базами на нашем сервере, но для магазина замерим задержку от Beget до сервера баз до переезда.
Все 125 таблиц на InnoDB, размер 184 МБ, в архиве около 14 МБ. Перенос занимает минуты, обмен с 1С останавливаем только на время переключения.
На Beget база работает на MySQL 5.7 — без поддержки с 2023 года. На своём сервере ставим 8.4. Для будущей реплики у 7 таблиц не хватает первичного ключа: в 8.4 добавим скрытый, 1С его не заметит.
1С пишет в базу CRM и магазина и в базу контрола. После переезда она подключается к db.4brewers.ru, а не к адресу хостинга, — дальнейшие переезды сервера баз её не задевают.
| Вариант | Потеря данных при сбое | Переключение | Сложность |
|---|---|---|---|
| Асинхронная реплика основной сервер → копия у другого провайдера | последние секунды | вручную или скриптом, 5–15 мин | низкая |
| Полусинхронная реплика запись подтверждается, когда дошла до копии | почти ноль | вручную или скриптом, 5–15 мин | низкая |
| Синхронный кластер на 3 узла два сервера баз и маленький судья | ноль | автоматически, секунды | средняя |
Каждую ночь все базы MySQL уходят на наш сервер с отдельным внешним диском. ЕГАИС — раз в месяц. Сами файлы в Telegram не отправляем: туда приходит только отчёт, что бэкап сделан и проверен, и тревоги, если что-то пошло не так.
В 03:00 снимаем дамп всех баз MySQL, проверяем его пробным восстановлением и кладём на наш сервер с внешним диском. Храним 30 ночных копий и по одной на каждый месяц.
Кроме ночного дампа сервер бэкапов непрерывно забирает журнал изменений баз. Удалили что-то в 15:20 — можно вернуть базу на 15:19.
Бэкапы живут отдельно от сервера баз: если тот сломается, копии останутся. Вторую копию стоит держать ещё в одном месте — например, раз в неделю на другой машине.
Аналитика ЕГАИС большая и меняется редко, поэтому её бэкап — раз в месяц, чаще не нужно.
DNS — это справочник, который по имени shop.4brewers.ru выдаёт браузеру адрес сервера. 2 ноября он лежал вместе с хостингом, и сайты нельзя было даже перенаправить на резервную копию. Поэтому регистратор домена и DNS переносим к компаниям, которые не хостят наши сайты.
4brewers.ru сейчас зарегистрирован у Beget — у того же, кто хостит сайты. Переносим домен к отдельному регистратору и храним у него только адреса DNS-серверов.
Резолвер у клиента сам выбирает, какой DNS спросить, и при отказе одного идёт к другому. Один крупный провайдер с серверами в нескольких ЦОД — проще. Два зеркала надёжнее, но их зоны должны совпадать всегда: записи правим в одном месте, на оба они раскладываются сами.
Время жизни записей — 5 минут. Поэтому переключение на резервную копию доходит до всех за 5 минут, а возврат на Beget — так же быстро.
| Что упало | Что происходит | Сервисы |
|---|---|---|
| Beget | Кнопкой в боте переключаем адреса на резервную копию. Данные целы — они на нашем сервере баз. | ≈15 минут |
| DNS-провайдер | У крупного провайдера серверы в нескольких ЦОД — полный отказ редкость. Со вторым DNS-зеркалом закрыт и этот случай. | работают |
| Регистратор | Записи живут у DNS-провайдера, домен продолжает работать. Недоступна только смена DNS-серверов — это нужно раз в несколько лет. | работают |
| Сервер баз | До этапа 4 — восстанавливаем из ночного бэкапа и журнала изменений. После — переключаемся на реплику. | часы → минуты |
Одна страница, где видно, отвечают ли сервисы на Beget, жив ли сервер баз, готова ли резервная копия, когда был последний бэкап и когда 1С последний раз присылала данные.
Сначала то, что защищает данные, потом то, что сокращает простой. Каждый этап полезен сам по себе.
Beget остаётся, поэтому новых больших расходов почти нет: используем то, что уже есть, и докупаем только второй сервер баз на этапе 4. Цены проверены на сайтах провайдеров 3 ноября 2026, работы по переезду делаем своими силами.
| Что | Откуда | В месяц |
|---|---|---|
| Хостинг сайтов | Beget, как сейчас | без изменений |
| Сервер баз | наш, где уже вход, вики и задачи. Проверим, хватит ли памяти после переезда баз с Beget | уже есть возможно, тариф побольше |
| Сервер бэкапов | наш, плюс внешний диск | уже есть диск — разово |
| Резервная копия сайтов | нынешний VPS, на котором сейчас временный магазин | уже оплачен |
| DNS не у Beget | Selectel — бесплатно, Yandex Cloud — около 36 ₽ за зону плюс запросы | 0–110 ₽ |
| Перенос регистратора | 4brewers.ru к другому регистратору | по цене продления домена |
| Второй сервер баз · этап 4 | у другого провайдера, 4 ядра / 8 ГБ: Hostland — 2 315 ₽, Selectel или VK Cloud — около 6 500 ₽ с НДС | 2 300–6 500 ₽ |
Облачные балансировщики Яндекса, Selectel и VK работают только внутри своего облака и между Beget и нашим сервером трафик не переключают. DDoS-Guard умеет, но от 48 000 ₽ в месяц. Переключение через DNS кнопкой в боте — бесплатно, около 15 минут.
У Hostland на сайте не указаны город ЦОД и НДС — уточнить звонком, если возьмём его под второй сервер баз. Цену продления у нового регистратора уточним при выборе.