{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Простой план сохранения онлайн-бизнеса при пожаре в дата-центре

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

Если инфошум о замедлении Твиттера вчера не позволил вам увидеть важное, то сообщаю. Вчера, 10 марта, произошел пожар в дата-центре провайдера OVH в Страсбурге, который входит в топ-5 крупнейших провайдеров. Полностью уничтожен центр обмена данными SBG2 (выгорел полностью) и на 30% ЦОД SBG1 (выгорело несколько боксов). Остальные 2 здания, находившиеся рядом, залиты водой.

Восстановление затопленных ЦОДов займет не менее 2 недель. В дата-центре размещались крупные европейские компании, часть из них уже заявили, что данные потеряны безвозвратно.

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

Я руковожу небольшим Digital-агентством, обслуживаем малый и средний бизнес, часто общаемся с начинающими предпринимателями. И постоянно сталкиваемся с анти-кейсами резервного копирования, возражениями вроде «дорого», «сложно», «позже настроим», «пока не надо» и «само рассосется».

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

1. Купите отдельные IP-адреса для боевых проектов

Если у вас облако, сервер или VPS, то один IP-адрес уже в комплекте. Если у вас виртуальный хостинг, то докупите к нему выделенный IP-адрес. В нештатных ситуациях это поможет быстро сменить хостинг или перенести проект на другой сервер. Обойдется примерно в 99 руб. в месяц.

2. Используйте NS-сервера регистратора домена

Хостинг провайдеры предлагают перенести обслуживание DNS на свой хостинг. Не соглашайтесь, оставьте домен на NS-серверах регистратора домена, а в А-записи домена пропишите IP-адрес хостинга. Так вы сможете быстрее сменить хостинг в случае аварии. При изменении А-записи обновления распространятся в течение 1 часа, и ваш проект через час уже будет доступен на новом хостинге. Но если же вы будете менять NS-сервера, то обновления могу занять до 72 часов. Обычно регистраторы предоставляют услугу бесплатно, но RU-center хочет денег.

3. Включите локальное резервное копирование на хостинге

На виртуальном хостинге чаще всего уже включено резервное копирование. На VPS, выделенном сервере или в облаке вам нужно докупить услугу бэкапов самостоятельно, стоит в среднем 300 руб. в месяц. Да, облака тоже надо бэкапить. Резервные копии, которые хранятся на том же хостинге — это очень плохая идея. Они не спасут при крупной аварии, но такие копии помогут вам в разы быстрее восстановить бэкап при небольших проблемах с проектом.

4. Храните 1-3 локальных бэкапа

Как правило, дисковое пространство на хостинге стоит не дешево, даже если вы покупаете отдельный диск для бэкапов. Поэтому нецелесообразно хранить там большие объёмы информации. Храните только самые последнии копии за предыдущие дни.

5. Настройте резервное копирование на отдельный сервер

Я рекомендую использовать облака как основное хранилище резервных копий, но вы можете использовать и простой сервер или дешевый хостинг от другого провайдера. Главное, чтобы сервера этого другого провайдера располагались не в том же дата-центре, что и основной сайт. Но облака гораздо дешевле, хранение одного террабайта там стоит обычно около 500 руб. в месяц. Можно использовать Google Cloud, AWS или Yandex Cloud — для них есть готовые инструменты резервного копирования, поэтому их легко настроить. Обычно рекомендуют хранить 7 копий за неделю, 4 копии за месяц, 12 копий за год — так и сделайте.

6. Поверяйте бэкапы раз в неделю

Минимум раз в неделю проверяйте факт создания бэкапов и их размер. Любой сбой может нарушить вашу схему резервного копирования: смена пароля, обновление ПО, переполнение диска, нехватка денег на счету. Потратьте всего 2-3 минуты в неделю — этого хватит, чтобы предотвратить неприятности.

7. Восстанавливайте бэкапы раз в месяц

Хотя бы изредка восстанавливайте свои резервные копии на тестовом сервере. Идеально делать это раз в месяц, минимум хотя бы раз в 3 месяца. Одно дело иметь резервные копии, и совсем другое — иметь реально работающие резервные копии. Вы должны быть уверены, что в нужный момент бэкапы вам реально помогут и у вас есть возможность их быстро развернуть. Удобно и дешево можно разворачивать облачные сервера на reg.ru или hetzner.cloud, потратите максимум 100-200 руб за раз. Процедура займет всего 1-2 часа, но убережет от проблем в будущем.

Вот и все, просто соблюдайте хотя бы эти простые правила.

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

Если вы не уверены в своих резервных копиях, то наша команда готова провести бесплатный аудит вашей системы резервного копирования и дать соответствующие рекомендации.

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

0
53 комментария
Написать комментарий...
Павел Шабалин

1. Очень спорно покупать себе отдельный IP, нет это полезно для того чтобы не залетать в какой-нибудь спам лист по IP из за соседа, но при пожаре никак не поможет.

2. Если у вас виртуальный хостинг, то вам придется переносить DNS на хостера, потому что хостер периодически меняет сервера и IP на ваши проекты меняются, если у вас DNS у регистратора, то при таких плановых работах сайты будут отваливаться. С другой стороны это древний миф, что DNS разносятся за 72 часа, на моей практике коренные DNS доменов с RU обновляются в течении часа/двух. Ну и DNS сервера это тоже сервера и у регистратора они или у хостера, они падают, по этому есть понятия primary DNS и secondary DNS

3. По сути бесполезное занятие эти ваши локальные бэкапы, заставьте разработчиков использовать git в конце концов.

4.А лучше 10 или 20, кто знает что может понадобится, чем больше тем лучше же =))

5. Вот это наверное самый ценный совет. Бэкапы должны быть как минимум за 200 км от вашего сервера, я храню в селектеле, там облачное хранилище выходит очень дешево.

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

7. Ну а тут да, я раз в месяц/два обновляю дев сервер как раз из бэкапа и проект актуализирую по данным и сразу работоспособность бэкапов проверяется

Ответить
Развернуть ветку
Алексей Ковалёв
Автор

1. Ниже ответил. Время восстановления сильно снижается. 
2. IP у хостера покупаются, они переедут вместе с хостингом. Обычно ничего не отваливается. Если падают NS, то доступность нарушается в любом случае. По итогу предложенный мной вариант несет меньше рисков. 
3. Git не используется на большинстве небольших проектов. В реальности с этим сложно. Обычно проекты перманентно мигрируют между подрядчиками, кто-то настроит себе git, кто-то нет. Есть подрядчики, которые и слов таких не знают, и заказчик выбирает нередко таких из-за низкой ставки. 
4. 20 дорого хранить и это не нужно. Локальный бэкап просто позволит быстрее восстановить данные, если не все сгорело. С того же AWS долго и дорого тянуть бэкап.

Ответить
Развернуть ветку
Павел Шабалин

1. Каким образом? Вы можете IP перепривязать на другой сервер у другого хостера? Тогда уж проще поднять за 99р Load Balancer на базе Nginx и переключать там upstream

2. Вы мне кажется сами не понимаете что пишите. Вы советуете оставлять NS у регистратора, вписав туда A запись. А хостер хочет обслужить сервер (виртуальный хостинг, не VDS в облаке) и отключить его, он берет и перекидывает все на другой сервер с другим IP, если NS находятся у хостера, то он сам поменяет A запись в отличии от регистратора. Если вы боитесь что отвалятся DNS то тут поможет только secondary dns, так как у регистратора они тоже падают

3. Ну так я и говорю - заставить. Вписать в требования что хотим гит и все изменения фиксировать через него. Кто платит тот и заказывает музыку, разве нет? И заказчику плюс, ведь все разработчики используют гит (и не только разработчики), а если не используют значит их услугами лучше не пользоваться.

4. Проблему локальных бэкапов решает как раз таки git, любой файл можно откатить до любого состояние, посмотреть какие файлы испортили вирусы, что лишнего было загружено, кто внес изменения из за которых прод упал и все это просто и легко. Зачем вам 4 копии если гит может хранить изменения за всё время существование + система распределенная при наличии удаленного репа и в случае уничтожения у любого участника все равно останутся все версии. То есть гит покажет не просто изменения за 4 итерации назад, а вообще с момента инициализации

PS. Суть локального бэкапа как такова бесполезна, зачем вам локальный бэкап может пригодится особенно в 4 экземплярах? Ну чисто кейс какой-нибудь, просто интересно для чего хранить 4 версии локального бэкапа.

Ответить
Развернуть ветку
Алексей Ковалёв
Автор
Вы можете IP перепривязать на другой сервер у другого хостера?

А чем проблема? Я никуда не перепривязываю IP, я выкидываю IP старого хостера и прописываю IP нового хостера. Всё.

Тогда уж проще поднять за 99р Load Balancer на базе Nginx и переключать там upstream

Мы сейчас точно говорим о непрофессионалах? :D

он берет и перекидывает все на другой сервер с другим IP

Вы же у него как раз для этого покупаете выделенный IP, этот IP привязывается к вашему проекту у хостера. Если ваш хостер делает так, как вы описали - меняйте хостера, он неадекватен.

Вписать в требования что хотим гит и все изменения фиксировать через него. Кто платит тот и заказывает музыку, разве нет?

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

Ну чисто кейс какой-нибудь, просто интересно для чего хранить 4 версии локального бэкапа.

Кейсы выше расписал. 

И повторю, я за git, но в реальности 90% небольших проектов его не используют. Я тоже хочу жить в идеальном мире, но не всегда это получается. 

Ответить
Развернуть ветку
Павел Шабалин

Вы говорите купить отдельный IP, ну вот был у OVH отдельный и чем помог? Выделенный IP нужен не для скорости восстановления уж точно. Я еще понимаю если мы говорим за failover ip, но я боюсь что вы даже не знаете что это.

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

Для кейсов выше зачем вам 4 локальных бэкапа? Сеошник сломал сайт сегодня а узнали через месяц что ли?

Использование git это простота и он как минимум нужна исполнителю даже для мелкой правки, внедрить гит заказчику это считаем количество команд:
1. git init
2. git add .
3. git commit -a -m 'Я начал работать над проектом'

блин прям упаритесь, чтоб получить возможность откатить любые свои кривые изменения, лично мне кажется вы не работает с гитом, я не знаю не одного человека, кто бы сказал после использование гита повсеместно, что он кому то не нужен =))) И как же вы катаете без доступов на сервер и без гита заказчикам? По почте диски присылаете что ли с архивами изменений/патчами

PS. Хотя есть кейс, вас просят просто поставить в код яндекс метрику, тут наверное да, гит скорее всего будет лишним.

Ответить
Развернуть ветку
50 комментариев
Раскрывать всегда