14 апреля 2010 г.

Защита данных при хранении

Существует необходимость защиты данных от двух основных напастей:
  • повреждения (data corruption). К ним относится прежде всего не желательная модификация данных и, как частный случай, их удаление.
  • потери данных (data loss). Более точно следует говорить о потере доступа к данным и разрушении их целостности. 
Приведу примеры. Если кто-то по дури удалил важный файл (т. е. модифицировал файловые дескрипторы) - это data corruption. Если был физически поврежден единственный диск, на котором находились эти данные - это data loss.

Концептуально, пока придумано всего несколько подходов для решения задачи защиты хранения данных:
  • RAID - заркалирование данных или использование других методов обеспечения их избыточности (например, parity).
-ЗАЩИЩАЕТ от локальной data loss (выхода из строя дисков), но НЕ ЗАЩИЩАЕТ от data corruption. RPO=0.

Т. к. RAID формируется на уровне физических накопителей, то для доступа к данным при возникновении сбоя не требуется никаких дополнительных действий.
  • Clones (клоны или, как вариант, зеркалирование при помощи какого-либо LVM) – полная локальная копия данных.
-В режиме постоянной синхронизации ЗАЩИЩАЕТ от локальной data loss (например выход из строя 2 дисков в RAID5), но НЕ ЗАЩИЩАЕТ от data corruption. RPO=0.
-В режиме регулярной синхронизации ЗАЩИЩАЕТ от локальной data loss, ЗАЩИЩАЕТ от data corruption. RPO= времени с последней синхронизации.

Clone работает на уровне тома и чаще всего используется для защиты данных, уже находящихся на RAID. Восстановление информации требует перевода тома клона данных в режим read/write или восстановления (recovery) на основной том.
  • Snapshots (снэпы) – локальная копия только части данных, модифицированной со времени его создания. 
-НЕ ЗАЩИЩАЕТ от локальной data loss на основном томе, ЗАЩИЩАЕТ от data corruption. RPO= времени с создания последнего снэпа.

Snapshot работает на уровне тома и используется для защиты данных, уже находящихся на RAID. Восстановление информации возможно либо с виртуального тома клона, либо с основного основной тома после процесса восстановления (recovery).
  • Remote replication (синхронная удаленная репликация) – полная копия данных на другой дисковый массив.
-Синхронная (как вариант, зеркалирование на другой массив при помощи какого-либо LVM) в режиме постоянной синхронизации ЗАЩИЩАЕТ от data loss основного хранилища, но НЕ ЗАЩИЩАЕТ от data corruption. RPO=0.
-Синхронная в режиме регулярной синхронизации ЗАЩИЩАЕТ от data loss основного хранилища, ЗАЩИЩАЕТ от data corruption. RPO= времени с последней синхронизации.
-Асинхронная в режиме постоянной синхронизации ЗАЩИЩАЕТ от data loss основного хранилища, но НЕ ЗАЩИЩАЕТ от data corruption. RPO= времени асинхронности.
-Асинхронная в режиме регулярной синхронизации ЗАЩИЩАЕТ от data loss основного хранилища, ЗАЩИЩАЕТ от data corruption. RPO= времени с последней синхронизации.

Репликация, чаще всего, работает на уровне блоков томов. Хотя, есть продукты, в которых при небольших изменениях асинхронно копируются только саб-блоки, а при больших изменениях файлы целиком. Восстановление информации требует перевода тома удаленной реплики данных в режим read/write или восстановления (recovery) на основной том.
  • Backup (резервное копирование) – полная или инкрементальная копия данных на уровне файлов. 
-ЗАЩИЩАЕТ от data loss основного хранилища, ЗАЩИЩАЕТ от data corruption. RPO= времени с последнего резервного копирования.

Есть продукты в которых контроль за изменениями при выполнении резервного копирования происходит на файловом уровне, а данные копируются и дедуплицируются на уровне саб-блоков. Восстановление данных выполняется с резервной копии на уровне отдельных файлов или всей копии как единого целого (Save Set).
  • Continuous Data Protection (CDP) – локальная или удаленная репликация с высокой гранулярностью восстановления данных. Применяется как бы “транзакционный подход”. Изменения данных на уровне IO-операций или саб-блоков фиксируется в специальном журнале. Всегда есть возможность восстановления с актуальной или почти актуальной копии данных (в зависимости от того, синхронный или асинхронный режим), но в случае необходимости, можно “откатиться” на нужное количество операций назад.
-near continuous – по сути, реализуется очень частым созданием snapshots. ЗАЩИЩАЕТ от data loss, ЗАЩИЩАЕТ от data corruption. RPO = времени любой точки восстановления.
-continuous – журналируется каждая операция изменения данных. ЗАЩИЩАЕТ от data loss, ЗАЩИЩАЕТ от data corruption. RPO = 0 или до времени любой операции модификации данных

CDP работает на уровне томов. Восстановление информации требует "наката" данных из журнала на том реплики

Комментариев нет:

Отправить комментарий

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