Резервное копирование

Резервное копирование (англ. backup[1]) — процесс, применяемый в информационной безопасности, который заключается в защите информации в вычислительных системах посредством создания её избыточных копий (одной или более резервных копий данных), используемых для восстановления[2] данных в случае случайных или преднамеренных вредоносных событий, либо для выполнения обслуживания системы[3]. Резервное копирование также может быть полезным способом защиты от программ-вымогателей (ransomware).

Описание

Понятие резервного копирования (англ. backup[4]) относится ко всему, что так или иначе связано с компьютером, в том числе к таким устройствам, как навигационные системы, аудио- и видеоплееры, мобильные телефоны, смартфоны, планшеты, различные электронные устройства с программным обеспечением (например, бытовые терморегуляторы), а также к резервному копированию конфигураций (файлов параметров и настроек) таких устройств, как маршрутизатор, фаервол, бортовые вычислительные системы автомобилей и, в сетевой области, коммутатор. Процесс резервного копирования — фундаментальный аспект управления компьютером: при сбоях, несанкционированных действиях, кражах, утерях данных, атаках вредоносных программ, уязвимостях системы и т. д. наличие резервной копии информации обеспечивает логическую и физическую резервность данных.

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

При наличии специализированного программного обеспечения или встроенных средств операционной системы резервное копирование может выполняться вручную (по требованию пользователя) или настраиваться автоматическим способом, когда программа запускает процесс с заданной периодичностью (например, раз в день или неделю). Также возможны срабатывания по событиям (например, при установке нового ПО или превышении аппаратными параметрами заданных порогов). Современные программы позволяют детализировать процесс (выбор папок/файлов, типов данных для исключения, и др.). Обычно используется термин job («задание») для обозначения отдельного экземпляра резервного копирования — запланированного, автоматического или ручного, то есть отдельной сессии резервного копирования.

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

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

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

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

Рекомендуется периодически выполнять резервное копирование даже на домашних персональных компьютерах, используя доступные носители — оптические (CD-R, CD-RW, DVD-R, DVD-RW, цифровые ленты, картриджи на ленте), внешние жёсткие диски и SSD с интерфейсом USB, флеш-накопители и другие флеш-устройства.

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

Возможно также выполнение непрерывного резервного копирования с использованием сервисов онлайн-резервного копирования или специальных устройств (backup appliance) c агентами, определяющими новые файлы для резервирования и сразу создающими их копии.

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

Различные онлайн-сервисы позволяют резервировать аккаунты и пользовательские данные социальных сетей.

Важное замечание: часто резервное копирование не является синонимом сохранения данных, поскольку результаты и процессы различаются[5]:

  • 1) резервное копирование — это комплексная процедура, реализуемая специальным программным обеспечением (в том числе встроенным в ОС);
  • 2) сохранение — это простое копирование (дублирование) файлов в безопасное место без полного программного процесса, описанного выше.

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

Дополнительно:

  • 1) Клонирование — частный случай резервного копирования, при котором создаётся «образ» накопителя (физическая и логическая копия всего устройства, например SSD, NAS или только основных разделов/загрузочных областей), пригодный для запуска как оригинал. После клонирования не требуется устанавливать ОС, программы, настройки, драйверы и т. д. Образ содержит также загрузочные сектора, конечным результатом является сжатый файл-образ.
  • 2) Мирроринг (зеркалирование) — резервное копирование для получения точной копии архива данных. Не затрагивает полный образ (с программами и системными разделами), копируя только папки либо базы данных.
  • 3) Синхронизация не является резервным копированием[6], а предназначена для того, чтобы выбранные данные хранились идентичными на разных устройствах — с ручным или автоматическим обновлением[7], в том числе в облаке.
  • 4) Архивация данных — это не дублирование, а перемещение файлов в архивное хранилище[8], ориентирована скорее на оптимизацию хранения, чем на безопасность.
  • 5) Некоторые производители программного обеспечения различают термин «клонирование» (побитовая копия устройства — для миграции данных) и «образ диска» (полная резервная копия сжато, для восстановления работоспособной системы), хотя оба метода обеспечивают полное перенесение состояния устройства.

Резервное копирование часто сочетается с сохранением или архивацией, а также с синхронизацией (например, в облачных сервисах Microsoft, Apple, Google для почты, адресной книги, фото, видео, документов).

Цели резервного копирования

Как правило, резервное копирование выполняется с двумя основными целями: 1) восстановление данных после их утери (например, вследствие удаления или повреждения; 66% опрошенных в 2008 году теряли собственные данные в быту[9]); 2) возврат данных к состоянию на определённую дату из-за необходимости восстановить более раннюю версию.

Хотя резервное копирование — базовая форма аварийного восстановления и должно входить в соответствующий план, само по себе оно не является полноценной стратегией disaster recovery. Это объясняется тем, что не все системы резервного копирования способны полностью восстановить сложную инфраструктуру (например, кластеры, серверы Active Directory, серверы баз данных) только из копии данных.

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

С учетом распространённости удалённых решений и облачных сервисов (программы, соцсети, webmail), резервное копирование в таких случаях служит для:

  • работы без подключения (offline-доступ);
  • хранения различных версий (для возврата к состояниям до конкретных изменений);
  • сохранения данных на случай потери, повреждения или закрытия сервиса.

Таким образом, в этих случаях применяется противоположный облаку принцип — копирование данных из облака на локальный носитель[10].

Безопасность резервных копий

Как и любая мера безопасности, резервное копирование само нуждается в защите, желательно даже на более высоком уровне. Безопасность резервных копий проявляется в следующих аспектах: целостность (данные должны быть полными, надёжными и поддающимися восстановлению), доступность (быстрое восстановление по необходимости), конфиденциальность (недоступность для неавторизованных лиц), а в некоторых случаях — и аутентичность (цифровая подпись и сохранение с меткой времени).

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

Копирование на офлайн-носители (отключённые от сетей и интернета) — отличная защита от ransomware.

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

Редундантность резервного копирования

Безопасность подразумевает доступность, поэтому при необходимости важно создавать несколько копий одной резервной копии на разных носителях и в разных местах. К примеру, в центрах обработки данных часто применяют правило «3-2-1»: три копии на двух типах устройств (одна локально, одна в облаке) и одна офлайн (обычно на ленте). Офлайн-копия может использоваться также для длительного хранения (долгая ретенция), в особых случаях — для отдельного «замороженного» задания.

Хранилище для резервных копий

Репозиторий данных

Любая стратегия резервного копирования начинается с определения репозитория данных, где резервные копии должны храниться и быть организованы, например, в виде простого списка (журнал), каталога, базы данных и прочего. Существуют различные варианты:

Неорганизованный репозиторий

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

Полный

Репозиторий содержит полные образы системы, созданные в определённые моменты времени. Часто используется для сохранения эталонных конфигураций; пригоден скорее для массового развёртывания, чем для текущих резервных копий разных систем[11].

Инкрементальный

Репозиторий хранит только различия между текущими и уже сохранёнными состояниями данных, экономя место за счёт отсутствия дублей. Как правило, сначала делается полный бэкап, затем — последовательность инкрементальных. Чтобы восстановить систему к последнему состоянию, требуется применить последний полный бэкап, а затем все последующие инкрементальные[12].

Дифференциальный

Сохраняются только изменения после последнего полного резервного копирования. Для восстановления требуются последний полный и последний дифференциальный бэкап. По сравнению с инкрементально-методом объём дифференциального бэкапа со временем растёт.

Примечание: термины «инкрементальный» и «дифференциальный» стандартизированы разработчиками ПО, но иногда используются некорректно. Ключевое отличие: дифференциальный бэкап копирует все изменённые данные после последнего полного, игнорируя промежуточные дифференциальные; инкрементальный — все изменения после предыдущего любого типа (полного или инкрементального).
Reverse delta

Создаётся полный «зеркальный» снимок на старте, далее хранятся различия («дельты») между ним и последующими состояниями. Обычно применяется для больших, редко меняющихся данных; примеры — rdiff-backup и Time Machine.

Непрерывная защита данных

Continuous data protection (CDP), также continuous backup — резервное копирование в режиме реального времени по мере любого изменения, обычно фиксируются изменения на уровне байтов или блоков[13]. Позволяет откатываться к любому состоянию.

Носители для резервных копий

Магнитная лента

Магнитная лента широко используется для массового хранения данных за счёт низкой стоимости по отношению к объёму по сравнению с жёсткими дисками, хотя разница сокращается[14]. Существует много форматов, часто проприетарных или специализированных для определённых платформ. Доступ к данным осуществляется последовательно (непосредственный доступ к произвольному файлу невозможен), что требует времени, но высокая скорость позволяет быстро работать с большими объёмами. В облачных решениях часто используют виртуальные ленточные библиотеки (VTL).

Жёсткий диск

Жёсткие диски распространены благодаря низкому времени доступа, большому объёму и удобству. Внешние диски подключаются через SCSI, USB, FireWire, eSATA, а также по сетям — Ethernet, iSCSI, Fibre Channel. В ряде решений применяется дедубликация данных, позволяющая экономить место[15]. Минус — хрупкость, особенно при транспортировке, и неясные гарантии на длительное хранение (годы).

Оптический диск

CD, DVD и Blu-ray Disc часто применяются для индивидуального резервного копирования. Их достоинства — низкая стоимость, недостатки — меньшая вместимость и скорость по сравнению с лентой и HDD. Обычно одноразового доступа (WORM), что подходит для хранения неизменяемых данных. Для крупных систем используют автоматические чейнджеры или джукбоксы, позволяющие повысить удобство и надёжность при долговременном хранении.

SSD

Флеш-накопители, CompactFlash, Memory Stick, Secure Digital и схожие устройства дороже при меньшей ёмкости, но отличаются удобством для небольших объёмов данных. SSD не содержат движущихся частей, менее подвержены физическим повреждениям, обладают высокой скоростью (до 500 Мбит/с и выше по 6 Гбит/с интерфейсу). Объёмы и цены постоянно улучшаются.

Сервисы дистанционного/облачного резервного копирования

С распространением широкополосного доступа стали популярны сервисы онлайн-резервирования. Такой подход защищает от стихийных бедствий (пожар, наводнение, землетрясение), уничтожающих локальные копии. Минусы: скорость интернета существенно ниже, чем у локальных устройств, особенно при загрузке больших объёмов данных; приходится доверять провайдеру, однако приватность может обеспечиваться шифрованием данных с использованием личных ключей пользователей.

Гибкий диск

С 1980-х до начала 1990-х годов резервное копирование часто осуществляли на дискетах, однако их малая вместимость сделала их устаревшими[16][17].

Управление репозиторием

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

Онлайн

Наиболее доступный вариант хранения — внутренний (или локальный) жёсткий диск, массив или иное устройство, обслуживающееся оперативно. Такой носитель дорог, но быстро доступен; однако подвержен утере/удалению данных, в том числе преднамеренно или вредоносным ПО.

Офлайн

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

Off-site (vaulting)[18]

Vault — результат резервного копирования, хранящийся отдельно и желательно удалённо от основной системы (например, в банковском сейфе). Для борьбы с локальными катастрофами резервные носители вывозятся (off-site) — на дом администратора, в банковское хранилище, специально подготовленный бункер. При этом возможна и онлайн-репликация, например, зеркалирование RAID-массива вне площадки, но это не полноценный офлайн-бэкап.

Крупные организации используют сервисы vaulting и e-vaulting (дистанционный бэкап, в том числе по FTP или HTTPS); часто данные физически хранятся в центрах обработки данных или серверных фермах. Как правило, для особо важных данных настраивается долгосрочное хранение без возможности перезаписи, например — для журналов и снимков оборудования.

Сайт для аварийного восстановления

Для полного восстановления в случае катастрофы необходима не только резервная копия, но и подходящие физические системы, на которые данные можно вернуть. В некоторых организациях есть собственные резервные площадки, в других применяют услуги сторонних центров. Это связано с высокими затратами на создание собственных disaster recovery-центров. Данные обычно синхронизируют между основным и резервным центром, иногда используют удалённое зеркалирование для минимизации потерь.

Выбор и извлечение данных

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

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

Методы резервного копирования файлов

Копирование файлов

Самый простой и распространённый подход — копирование файлов средствами специализированных программ или встроенных утилит ОС.

Частичное копирование файлов

Вместо полной копии возможно копирование только изменённых блоков/байтов файла, что экономит место, но усложняет восстановление — требуется интеграция с файловой системой источника.

Копирование файловых систем (dump)

Вместо файлов можно копировать всю файловую систему на уровне блоков, что ускоряет копирование негативно фрагментированных или почти заполненных томов, однако может захватывать и пустые блоки. Некоторые системы (например, XFS) предлагают специальные средства для последовательного чтения занятых областей с возможностью выборочного восстановления[19].

Фиксация изменений

Некоторые файловые системы используют архивный бит для слежения за изменениями; многие программы резервного копирования сравнивают даты изменения файлов.

Версионные файловые системы

Поддерживают хранение нескольких версий одного файла. Пример — «Wayback Versioning file system» для Linux[19].

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

Во время резервного копирования возможно использование файлов. Состояние их на диске может не совпадать с ожидаемым пользователем — так называемое «нечёткое» (fuzzy) резервное копирование не гарантирует согласованности, особенно для баз данных[20][21].

Снимки (snapshot)

Позволяют получить мгновенную копию состояния данных как бы «замороженную» во времени (по принципу copy-on-write). Для этого активные процессы временно приостанавливаются, создаётся снимок, затем операции продолжаются. Один лишь snapshot не гарантирует полноценное резервное копирование[22].

Работа с открытыми файлами

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

Оффлайн («холодное») копирование баз данных

База полностью закрывается или блокируется — исключены изменения во время копирования; это идеальный способ для полностью консистентных бэкапов.

Онлайн («горячее») копирование баз данных

Некоторые СУБД поддерживают резервное копирование без остановки, фиксируя образ данных плюс журнал изменений для последующего полноценного восстановления.

Метаданные

Не вся критичная информация хранится в виде файлов. Для полного восстановления важно сохранять и метаданные[23]:

Описание системы

Параметры аппаратного и программного обеспечения, необходимые для корректного восстановления.

Загрузочный сектор

Является обязательным для запуска системы, не является обычным файлом.

Разметка диска

Партиционирование, расположение томов и файловых систем.

Метаданные файлов

Права доступа, владельцы, группы, списки контроля доступа, и др.

Метаданные операционной системы

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

Обработка и оптимизация данных

Резервные копии часто требуют дополнительной обработки для повышения эффективности:

Сжатие данных

ПО для резервирования, включая средства ОС, обычно сжимает копируемые данные; современные программы позволяют выбирать уровень сжатия и формат.

Дедубликация

Позволяет хранить только одну копию одинаковых данных (например, типовых файлов ОС), часто реализуется на сервере до передачи на носитель, либо на целевом устройстве резервирования[24].

Дублирование

Резервные копии могут размножаться на дополнительные носители для ускорения восстановления или хранения на разных площадках.

Шифрование

Ремовабельные носители и ленты требуют шифрования во избежание утечки, если утеряны или украдены[25].

Мультиплексирование

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

Рефакторинг

Объединение разрозненных инкрементальных копий в один архив (например, все бэкапы одного компьютера на одной ленте).

Стадирование

Промежуточное копирование на быстрые носители (например, диски — D2D2T) перед переносом на менее быстрые — удобно при существенной разнице скоростей источника и приёмника.

Управление процессом

Постоянное появление и изменение данных требует регулярного резервного копирования. Независимо от масштаба (от домашнего ПК до тысяч корпоративных систем) задачи аналогичны. Эффективное управление требует системного подхода.

Целевые показатели

Точка восстановления (RPO)

Момент времени последнего доступного резервного копирования; желаемая RPO — минимально возможная, чтобы потери данных были как можно меньше[26].

Время восстановления (RTO)

Время между аварией и восстановлением работы; зависит от типа катастрофы и качества disaster recovery-плана[27].

Безопасность данных

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

Срок хранения копий

Политика хранения (retention) определяет, как долго хранятся резервные копии. Избыточное удержание может создать риски и приводит к неэффективному расходу ресурсов[28].

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

Ограничения

Любая эффективная схема резервного копирования учитывает ограничения.

Окно резервирования

Промежуток времени, когда допускается резервное копирование, чтобы минимизировать влияние на пользователей и рабочие процессы. При выходе за пределы «окна» принимается решение — досрочно завершить или разрешить продолжения[29].

Влияние на производительность

Во время резервного копирования снижается доступность ресурсов; необходимо мониторить и минимизировать влияние на рабочие нагрузки.

Стоимость оборудования, ПО и трудозатрат

Ограниченная ёмкость и стоимость всех компонентов, необходимость рациональной оценки потребностей в объёмах хранения и трудозатратах.

Пропускная способность сети

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

Инструменты реализации

Для достижения целей с минимальными ограничениями применяются следующие методы:

Планы и расписание (scheduler)

Автоматизация резервирования с помощью планировщиков заданий существенно повышает надёжность, устраняет человеческий фактор.

Аутентификация

Выполняющее резервное копирование программное обеспечение/агенты требуют соответствующих прав доступа для задачи безопасности.

Цепочка доверия

Физическое обращение с носителями поручается только доверенным лицам; важно прорабатывать «цепочки доверия» в вопросах безопасности данных.

Оценка и контроль процессов

Для контроля эффективности резервного копирования ведутся отчёты и статистика.

Валидация копий

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

Отчёты, журналы

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

Контроль обследований

Анализ логов всех операций по резервным копиям.

Верификация файлов и контрольная сумма

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

Мониторинг резервирования

Используется сторонними центрами; нередко позволяет собирать метаданные и прогнозировать рост объёмов, выявлять избыточные файлы.

Программы для резервного копирования

Функции

Многие программы используют терминологию job, task для отдельных операций резервного копирования, каждый job характеризуется параметрами и временной меткой.

Основные функции программ резервного копирования:

  • Клонирование целого накопителя (HDD, SSD, NAS и др.);
  • Копирование образа (snapshot) раздела или тома, включая системные и загрузочные;
  • Избирательное копирование каталогов и файлов;
  • Включение/исключение синхронизации для восстановления или удаления несоответствий;
  • Копирование пользовательских и системных папок, драйверов и др.;
  • Выбор типа (полное, дифференциальное, инкрементальное и т. д.);
  • Критерии поиска и отбора данных для резервирования (по дате, типу файла, автору изменения);
  • Настройка степени сжатия;
  • Верификация целостности и полноты копий;
  • Безопасность: антивирусная защита, пароли, шифрование, неизменяемость файла копии, цифровая подпись, хранение в изолированных сегментах (DMZ, отдельные серверы, не имеющие доступа к интернету);
  • Планирование и расписание (frequency, время старта, включаемые объекты, типы и носители);
  • Вывод результатов (уведомления через лог-файл, почтой и др.);
  • Восстановление (restore, recovery) — поиск по истории job'ов, выбор версии, целевого пути, копирование, проверка, уведомления и др.

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

Помимо ПО (в том числе в режиме SaaS), существуют аппаратные решения (например, СХД), предназначенные для резервного копирования.

Примеры программ

Примечания