Я небольшая компания с небольшим бюджетом, предоставляющая веб-сайты и базы данных для благотворительных и некоммерческих клиентов.
У меня есть несколько VPS-серверов Debian Linux, и я ежедневно делаю резервные копии на другом VPS, чем тот, на котором размещена служба.
Недавно одна из моих хостинговых компаний сказала мне, что два диска вышли из строя одновременно, и данные были потеряны навсегда. Что-то случается, они извинились, что еще они могли сделать? Но это заставило меня задуматься о рентабельных способах возобновления работы VPS в случае аппаратного или другого отказа, связанного с хостом.
В настоящее время мне придется
Для достижения этого, вероятно, потребуется день или около того, при этом распространение DNS будет большим неизвестным, хотя у меня TTL установлен довольно низким (час или около того).
Некоторые хосты предоставляют моментальные снимки, которые можно использовать для репликации настройки на новый VPS, но IP все еще есть, и это не помогает в случае, если хост-компания полностью отменяет / приостанавливает учетную запись (я читал об этом поведение некоторых хостинг-провайдеров, и это меня напугало! Я не делаю ничего спама / изворотливости и внимательно слежу за безопасностью, но я понимаю, что они буквально в силах сделать это, и я не склонен рисковать).
Является ли это, в сочетании с выбором авторитетных хостов, лучшим, что я могу сделать, не прибегая к невероятно дорогому решению?
Для меня выбор хостов с хорошей репутацией и регулярное резервное копирование - и то, и другое вы, кажется, уже делаете - примерно так же хорошо, как вы, не задумываясь о планировании непрерывности бизнеса, настройках высокой доступности, SLA и т. Д.
Я говорю людям, что вы получаете 99% времени безотказной работы бесплатно (т. Е. Ничего не тратя дополнительный о высокой доступности). Это примерно три с половиной дня простоя в году. Каждый дополнительный 9 из-за этого время безотказной работы увеличивает стоимость где-то от трех до десяти раз.
Если люди не готовы платить такие деньги, я считаю ошибкой вводить их в заблуждение, заставляя думать, что они могут получить какую-либо дополнительную защиту любого значения.
Малые предприятия с небольшим бюджетом, особенно некоммерческие, обычно не могут позволить себе высокую доступность. Вопрос в том, какова ваша стратегия восстановления, если у вас практически нет бюджета, как это обычно бывает в подобных ситуациях?
У меня есть такие клиенты, и я вот чем занимаюсь:
Во-первых, для некоторых из них каждые шесть часов я делаю инкрементную резервную копию и полный дамп базы данных. Один клиент уже использовал CrashPlan Pro, поэтому я просто использовал его. Что бы вы ни делали, вам нужно убедиться, что у вас есть восстанавливаемая резервная копия.
У меня есть простой доступный playbook, который я собрал примерно за час (ранее не работал с ansible), который устанавливает nginx, php-fpm и MariaDB и подготавливает их к размещению веб-сайта или сайтов. В результате выполнения этого сценария создается сервер (или серверы), готовый к размещению типичного веб-приложения, и я могу просто восстановить на нем виртуальный хост nginx, файлы приложения и базу данных.
В результате я могу открыть такой веб-сайт из резервной копии всего за несколько минут, в отличие от ручного способа, который может занять час или больше.
Сложность реализации зависит от стека приложений, но в идеале вам нужно настроить «горячий резерв» (у другого поставщика) с репликацией данных в реальном времени (или как можно ближе к реальному времени).
Сделать экономическое обоснование наличия двух «живых» серверов так же просто, как сравнить потенциальную потерю дохода во время периода «восстановления из образов» с расходами другого сервера.
Помните, что время безотказной работы - это не то же самое, что целостность данных. Вы можете иметь 99,99% времени безотказной работы и терять все свои данные дважды в год, если сервер будет перезапущен «достаточно быстро». Большинство провайдеров VPS гарантируют, что ваш сервер работает, а НЕ что ваши данные в безопасности. Ваши данные - это Ваша проблема :(.
То, что вы ищете, - это то, что будет хранить ваши резервные копии на отдельном сервере и (IMHO) даже не в одном и том же провайдере. В зависимости от размера данных, о котором вы говорите, портативный жесткий диск может использоваться в качестве третьей линии защиты в автономном режиме. Сделайте резервную копию ваших данных, как вы это делали, а затем регулярно копируйте их (или, если возможно, просто изменения) на портативный жесткий диск или даже на локальный компьютер. Существуют также достаточно дешевые варианты, такие как Backblaze, для решений для резервного копирования, но цена будет зависеть от объема данных, о которых вы говорите. Если вы можете делать инкрементные резервные копии, это будет намного дешевле, чем полные резервные копии, но добавочные резервные копии могут быть очень сложными в зависимости от того, где хранятся данные (плоские файлы = просто, база данных = не так просто).
Ответ полностью зависит от вашей архитектуры и требований. Некоторое время назад на моем сервере вышли из строя 3 диска, что привело к отказу более 20 виртуальных машин после сбоя Raid 6.
Я писал об этом на
https://www.linkedin.com/pulse/20140827173324-2064263-how-i-nearly-lost-my-business-to-3-hard-discs
Но: поскольку это критически важно, у нас были резервные копии - ежедневно для неважных вещей, 15 минут для баз данных и электронной почты. Черт возьми, теперь я добавил сервер, который реплицируется на другую машину каждые 30 секунд.
Вы ничего не говорите о стеке, ничего не о каком-либо бюджете, поэтому лучший и единственный совет здесь - пойти к какому-нибудь облачному провайдеру и начать использовать их механизмы резервного копирования. Но начните определять, что вам действительно нужно.
Также - бюджет для этой резервной копии должен быть в ваших ценах. Это нужно платить. И какая бы инфраструктура вам ни понадобилась ... она вам понадобится. Тогда это не "до смешного дорого".