О бэкапах

О бэкапах

INVENTORUS

Резервным копированием или же бэкапом (англ. «backup») называют полную копию данных (личной информации, сайтов, баз данных и пр.), хранимую вне основного места их расположения (на отдельном сервере, в облаке и пр.), которая в случае критической утери оригинальных данных из-за непредсказуемых событий помогает восстановить потери полностью или с минимальной недостачей информации.

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

❔ Какие причины мотивируют делать бэкапы?

Разберем на популярном примере – бэкапе сайта:

⚪ Человеческий фактор: ошибочное удаление файлов, случайное нажатие не туда или желание вернуть предыдущие изменения, приводящее к краху данных

⚪ Изменения веб-ресурса: редизайн, доработка функционала, изменение архитектуры сайта для избежания критических ошибок или неудачных обновлений

⚪ Взлом сайта: внедрение вредоносного кода, нарушающего работу веб-ресурса

⚪ Переезд: перенос сайта на другой хостинг или при смене серверного окружения для обеспечения бесперебойной работы в новом месте

⚪ Перестраховка: в случае сбоев сервера или просроченной оплаты хостинга

Конечно, в случае, если речь идет о хранении фотографий близких или небольшом объеме личных документов, разворачивать сложную систему копирования данных нет необходимости – достаточно воспользоваться нехитрой комбинаций физических носителей и облачных сервисов (SSD диск + OneDrive, например), однако если выйти на уровень даже небольшого отдела небольшой компании, о единой системе стоит задуматься.

И сколько же тогда копировать?...

Копировать данные можно полностью, в этом случае копирование называется полным. Для экономии пространства данные могут архивироваться, а копии – обновляться по мере их создания (наиболее старые копии из набора удаляются). Полное копирование – не мгновенный процесс, требующий значительных ресурсов хранилища, поэтому не подходит для восстановления быстро меняющихся данных.

Альтернативный вариант – копирование отдельных частей данных. В этом случае полное копирование происходит только в первый раз, а во все последующие разы происходит лишь копирование измененных файлов (инкрементальный бэкап) или самих изменений (дифференциальный бэкап). В этих случаях восстановление производится из полной копии, а затем вносятся изменения из последующих бэкапов, что позволяет сократить затраты как дисковых, так и временных ресурсов. 

Разница между инкрементальным и дифференциальным подходами

К наиболее известным методам резервного копирования данных можно отнести:

➡ FTP-бэкапы: данные хранятся на отдельном сервере, доступ к которому осуществляется по FTP (File Transfer Protocol – протокол передачи данных по сети). Лучше всего подходит для резервного копирования сайтов и часто  используется хостинг-провайдерами в виде дополнительной услуги: при этом выделяется необходимый объём дискового пространства на отдельном FTP-сервере, куда автоматически сохраняются данные сайтов клиентов. 

Схематично это можно представить вот так

➡ Облачные бэкапы: один из самых удобных способов, позволяющий сохранять данные любых видов и объёмов: от отдельных файлов до операционных систем, до физических или виртуальных серверов.

Этот способ неизменно популярен как на уровне личного хранения, так и в корпоративных решениях

➡ Snapshot-бэкап: технически, не совсем бэкап, а мгновенный снимок состояния системы или виртуальной машины сделанный вручную, за счет чего можно сохранить состояние сервера перед внесением изменений или для клонирования сервера. Однако, как и бэкапы, они позволяют быстро восстановить сервер, из-за чего этот метод достаточно удобно использовать при внесении обновлений в ПО, в виртуальных машинах или проведением тестов. Принцип действия при этом основан не на копировании файлов, а на фиксировании текущего состояния, поэтому на файлы без изменений snapshot просто ссылается, а в случае внесения изменений система хранит только копию измененных данных, из-за чего процесс может идти с остановкой системы на доли секунды или даже без нее. Однако, стоит отметить, что snapshot-бэкап не заменяет полноценный бэкап.

Упрощенная схема подхода

➡ HDD/SSD-бэкапы: процесс резервного копирования данных на жёсткий (hard (magnetic) disk drive, HDD) или твердотельный накопитель (solid state drive, SSD), при котором используется стационарное или внешнее устройство. Выполнять данную операцию можно как в ручном режиме, так и автоматически при помощи специальных программ.

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

➡ CDP-бэкапы: CDP (Continuous Data Protection) — буквально непрерывная защита данных, т.к. он автоматически записывает каждое изменение данных, происходящее на сервере или в системе. Это может включать добавление новых файлов, изменения в уже существующих или удаление.

В отличие от традиционных бэкапов, которые выполняются через регулярные интервалы (например, ежедневно или еженедельно), CDP делает это в реальном времени.

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

Схематически работу с данными при помощи такого агента можно отразить вот так. Временной интервал здесь выбран случайно, чтобы показать, что полный объем данных можно восстановить, как говорится, из "мгновения до"

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

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

Когда реплика - это не копия брендовой вещи, а инструмент сохранения данных

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

В процессе репликации изменения можно записывать сразу на все копии (синхронная репликация) или поочередно на основной сервер и резервные (асинхронная репликация). Реплики защищают от сбоев (если один сервер выходит из строя, другой тут же его заменяет), обеспечивают быструю работу (данные можно хранить ближе к пользователям, снижая задержки при загрузке) и балансируют нагрузку (запросы пользователей можно распределять между разными серверами, чтобы сайт не «падал» от перегрузки).

✔✔✔ Таким образом, если речь идет о большом массиве данных лучшим решением для надежного сохранения данных является сочетание бэкапов и репликации. После решения об их создании, конечно 😉

Берегите свои данные!


Мы рады, что вы с нами!











Report Page