Резервное копирование: самые эффективные методы для разных задач

программа для backup


О резервном копировании в последнее время много говорят и пишут. И мы, SIM-Networks, в том числе. :)


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


Кроме того, актуальный бэкап поможет нивелировать последствия вмешательства форс-мажорных обстоятельств или человеческого фактора, а также сбоя оборудования вследствие разных причин. Не зря ведь одна из заповедей сисадмина гласит: готовя новый сервер к работе, вначале настрой резервное копирование!


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


Очень важно обратить внимание на два момента: копии критичной для вас информации должны делаться регулярно, а сохраняться – в удаленном месте, как можно дальше от оригиналов.


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


Важность второго момента можно проиллюстрировать так: если ваше резервное хранилище для бэкап-копий размещается, предположим, на том же сервере, где и основная система, то в случае, если сервер сгорит – сгорит действительно всё. Окончательно и бесповоротно.


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

Основные критерии выбора программы для бэкапов

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

  • эффективность расхода ресурсов: программа для резервного копирования должна работать в максимально автономном режиме (не отвлекая вас и не тратя ресурс вашего времени, то есть автоматизирована насколько возможно), с минимально возможной загрузкой ресурсов системы и выполняться за минимально возможное время;
  • скорость восстановления: ПО должно восстанавливать ваши данные из резервной копии максимально быстро, чтобы не страдали бизнес-процессы; идеальной будет функция работы напрямую с копиями данных;
  • защита данных и безопасность: программа для резервного копирования обязательно должна обеспечивать вам достаточный уровень безопасности – как криптографическими, так и аппаратными средствами (защита каналов передачи данных в СХД, защита данных во время операции резервного копирования, возможность восстановления прерванной сессии);
  • гибкость: ПО для резервного копирования должно быть одинаково пригодно для всех типов данных (поскольку невозможно прогнозировать, какие из них вы посчитаете критически важными и выберете для копирования в резервное СХД), а также давать вам возможность выбора методов бэкапа и одинаково полноценно функционировать при любом из них.


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


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

Полный бэкап (full backup)

Тут все понятно из названия: каждый раз, согласно заданию на резервное копирование, создается полная копия всей системы, точнее, всех тех данных, которые вы определили для резервного копирования при постановке задачи на бэкап. Для уменьшения итогового объема резервной копии, все данные сжимаются в архив. Таким образом, в вашем хранилище при полном резервном копировании с заданной периодичностью появляются архивы, где данные в основной своей массе дублируются (поскольку на протяжении долгого времени не изменяются). Это серьезно расходует ресурсы (см.п.1 в списке критериев бэкапа): место в хранилище, время создания и процессорное время, вычислительные мощности, наконец, ресурсы трафика при транспортировке архивов в удаленную СХД. И хотя метод полного копирования ранее был очень распространенным из-за высокой надежности, в чистом виде на сегодняшний день он признан малоэффективным. Например, для резервного копирования невысокой глубиной (менее двух недель) или с высокой частотой (раз в сутки, раз в несколько часов) полный бэкап чрезмерно расходует ресурсы.


Резервное копирование данных


Немного спасет ситуацию механизм дедупликации – выявление и удаление дублирующихся данных в полных копиях. Он также задается специальными программными средствами как на уровне СХД или сервера, так и на клиенте непосредственно. Статистика в некоторых источниках приводит впечатляющие результаты степени дедупликации – от 90% до 98%.


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


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

Инкрементальный, или инкрементный, бэкап (increment backup)

По сравнению с full backup гораздо экономичнее и быстрее, поскольку в этом процессе копируются только те файлы, которые изменились со времени предыдущего резервного копирования. Механизм инкрементального копирования прост: в качестве начальной точки бэкапа Х0 выбирается время (например, полночь с воскресенья на понедельник), в которое делается полный бэкап; в точке Х1 (полночь с понедельника на вторник) делается копирование файлов, измененных и/или появившихся с момента Х0; в точке Х2 (полночь со вторника на среду) копируются файлы, измененные/появившиеся с момента выполнения Х1; … в точке Хn происходит завершение цикла и делается следующий полный бэкап.


Increment Backup Infographics


Этот метод гораздо более экономично расходует ресурсы и места в хранилище, и времени, и трафика передачи данных, по сравнению с другими. Однако при восстановлении данных в случае необходимости из резервной копии происходит поэтапное восстановление из точек Хn-1…Х2, Х1, Х0 – до последнего полного резервного копирования включительно, и этот процесс может занять много времени.

Дифференциальный бэкап (differential backup)

Выигрывает перед инкрементальным в случае восстановления данных – время на эту операцию у него меньше, поскольку сравниваются полные копии Х0 и Хn и не требуется поэтапного восстановления. Однако в части объема пространства для размещения в СХД дифференциальное резервное копирование сопоставимо с полным, поэтому экономии места в хранилище и трафика практически не достигается.


Differential Backup Infographics


При дифференциальном бэкапе происходит копирование «нарастающим итогом»: каждый измененный файл в каждой последующей точке бэкапа копируется заново. То есть выглядит это как: Х0, Х1, Х12, Х123, … +Хn, Х0(1+…n)


Словом, очень громоздко и сложно при расчете места в СХД.


Понять разницу между инкрементальным и дифференциальным бэкапом достаточно просто. Фактически – она в одном слове. Просто сравните:

  • инкрементальный бэкап обрабатывает файлы, измененные или созданные с момента выполнения предыдущего бэкапа;
  • дифференциальный бэкап обрабатывает файлы, измененные или созданные с момента выполнения предыдущего полного бэкапа.


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


Его отличает высокая скорость создания, крайняя экономия места и значительно меньшее (в сравнении с инкрементальным и дифференциальным бэкапами) количество избыточных данных. Казалось бы, применять дельту должны все, но этого не происходит, поскольку создание бэкапов таким способом и восстановление информации происходит средствами специального ПО. Кроме того, восстановление из дельта-бэкапа происходит очень долго: данные приходится собирать из мозаики измененных кусочков. Тем не менее, этим методом удобно пользоваться для обеспечения непрерывной защиты данных (когда бэкап файла делается непосредственно после его создания или внесения в него изменений – механизм, который отдаленно напоминает автосохранение в файлах Word’а))) или в случаях пониженной пропускной способности при сохранении резервных копий в удаленном СХД.


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


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


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


За последние 12-15 лет в технологиях резервного копирования произошло много критических изменений, заставивших пересмотреть эффективность подходов и открыв новые способы. Например, внедрение технологии снэпшотов (snapshots) – моментальных «снимков» файловой системы, из которых можно «склеить» резервную копию, – позволяют в облачных системах делать резервное копирование быстро и безболезненно, не останавливая виртуальной машины. Кроме того, применяясь в облаке, снэпшоты позволяют серьезно экономить ресурс СХД, поскольку на диске клиента они места не занимают.


Напоследок заметим, что в процессе организации в своей облачной инфраструктуре SIM-Cloud услуги резервного копирования (Backup-as-a-Service) мы проанализировали эффективность разных подходов к выполнению бэкапа, и остановили свой выбор на методе инкрементального копирования, оптимизировав его таким образом, что наш показатель RTO (время восстановления данных из копии) составляет в среднем от 15 до 30 минут (в зависимости от объема данных). И с уверенностью можем сказать, что наш облачный BaaS соответствует всем заявленным выше критериям высококачественного резервного копирования.


Приверженцам классического «железа» мы предлагаем аренду удаленного хранилища для резервных копий: надежного, безопасного, высокотехнологичного. А наши высококвалифицированные эксперты поддержки помогут вам настроить оптимальный режим резервного копирования для вашей системы.



Автор: Алиса Кандеева

Понравилась статья? Поделитесь ею в социальных сетях!