До недавних пор резервное копирование данных производилось в периоды бездействия предприятия. Для этого сохраняемый файл или базу данных надо было, как минимум, закрыть или заблокировать на все время копирования. Подобное расточительство времени и машинных ресурсов при сегодняшней круглосуточной работе больше невозможно.
Cистемные администраторы «замораживают» мгновенное состояние сохраняемых данных при помощи моментального снимка (snapshot) и обрабатывают их изолированно, не затрагивая текущую деятельность предприятия. Этот метод называют фиксацией состояния памяти, или копией момента времени (Point in Time, PiT).

В случае метода фиксации состояния памяти обычно речь идет о трех вариантах. В первом случае снимок тома (volume snapshot) дублирует сохраняемые данные (том), для чего необходимы большой объем памяти и длительная передача. Во втором — выполняется снимок файловой системы (file system snapshot), при этом копируются указатели на файлы и изменяющиеся массивы данных. В результате экономятся место на накопителях и время (приблизительно 10—20% первоначального объема). И, наконец, в третьем — контрольные точки хранения (storage checkpoint) являются дифференцированными по времени снимками файловой системы. Таким образом, у администратора появляется возможность восстановления данных с любого момента, например, даже если неизвестно, когда произошло заражение системы вирусом.

Полная копия снимка (снимок тома) имеет некоторые преимущества. Его оригинал не используется, и поэтому не оказывает влияния на обработку. Администратор же может делать с копией снимка все, что захочет. Кроме того, при обработке исходных данных не происходит снижения производительности, а копия снимка содержит то же, что и оригинал. При снимке файловой системы или в случае контрольных точек хранения прибегают к технике копирования при записи (copy on write). В случае использования этих вариантов во время снимка создаются новая область данных и список измененных данных. При первом после снимка изменении блоков данных прежнее неизмененное состояние копируется во вновь созданную область данных до того, как будет записано новое состояние исходного файла. При проведении над копией дальнейших действий, оставшиеся без изменений блоки данных считываются из исходного файла, а измененные блоки — из специально предназначенной для них области данных (считывание происходит при помощи составленного списка). Дополнительная память необходима только для хранения списка и измененных с момента снимка блоков.

ЧТО ПРОИСХОДИТ СО СНИМКОМ?

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

Последующее сохранение этой копии снимка на ленте встречается довольно часто. Это позволяет отделить резервное копирование данных от процесса безостановочной работы. В фоновом режиме и в случае более крупных систем — также и в сети хранения (System Area Network, SAN) — резервное копирование чаще всего осуществляется на удаленные ленточные системы. Лишь теперь при необходимости сохранения всей информации наряду с указателями в этот момент переписываются и сохраняются данные. При промежуточном изменении блоков данных запись информации в условиях работающего предприятия временно производится в другую область памяти, пока «замороженные» на момент снимка блоки не будут перенесены в область своего хранения.

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

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

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

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

АССОРТИМЕНТ ПРЕДЛОЖЕНИЙ

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

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

CA Brightstor. Компания Computer Associates обращает внимание на то, что «копирование без сервера» с помощью вспомогательных программ Rman от компании Oracle и технологий для снимков, наподобие EMC Timefinder, представляет собой очень интересное решение для базы данных Oracle. Собственная программа Image Option предлагается вместе с Brightstor Arcserve V.9.

Hitachi Data Systems. Функцию снимка памяти для устройств хранения серии Freedom может исполнять программное обеспечение «теневого образа». С его помощью администратор может централизованно конфигурировать снимки, данные и их логическое размещение.

Falconstor. В программное обеспечение для управления сетями хранения Ipstor от компании Falconstor интегрированы агенты снимков для баз данных Snapshot Agents for Databases (пока для Oracle, SQK, Sybase, Lotus Notes, Microsoft Exchange и DB2). Эти агенты могут непосредственно использоваться опциями тиражирования, меток времени, копирования снимков и резервирования без помех. Благодаря им на сервере приложений без макропрограммирования за короткое время может быть создана непротиворечивая копия состояния.

Legato Networker. Сетевое программное обеспечение этой компании создано специально для защиты операций в неоднородных системах обработки данных. В его состав входит «модуль изображения снимка» (в редакциях Power Edition и Network Edition). Наряду со стандартными функциями предоставляется также сервер NDMP для хранения данных о серверах NAS в собственном формате данных системы сетевого администрирования (Network Administration System, NAS) на серверах под управлением UNIX. Функции «мгновенного снимка» Legato Networker могут отменять вызов функций снимка других производителей (в частности, в файлере от Network Appliance).

Storagetek/LSI Logic Santricity. Функция снимка памяти в программном обеспечении Santricity от компании LSI Logic создает логический том и «хранилище снимков» для размещения изменений, произошедших после снятия снимка. В наибольшей на данный момент времени системе хранения могут находиться до 1024 снимков. Программа Sanshare от LSI Logic посредством функции отображения данных позволяет администратору сделать снимок на другом сервере сети хранения.

ПО Snapmirror от Network Appliance. Компания Network Appliance предлагает функциональность снимков для своего файлера (файлового сервера) в собственной среде NAS. Во время передачи данных ставятся «контрольные точки» для того, чтобы систему можно было максимально быстро вернуть в рабочее состояние (см. Рисунок 1).

Рисунок 1. Конфигурация мгновенного снимка системы в случае файлера от Network Appliance.

Veritas. У компании Veritas функция снимка доступна в качестве «мгновенного резервирования» или «мгновенного снимка». Выпускаемое ею программное решение обладает гибкостью и доступно для всех вычислительных платформ и платформ хранения данных. Физическое или логическое размещение данных снимка может быть выполнено множеством способов. Результирующие методы позволяют, несмотря на продолжающуюся работу, согласованно хранить эту информацию в ее первоначальной форме или записывать на ленты. Копии снимков могут, в свою очередь, быть скопированы.

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

КРИТЕРИИ ВЫБОРА

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

Для крупных систем с одной или несколькими сетями хранения SAN центральное администрирование особенно важно. Для введения соглашений об уровне сервиса (Service Level Agreement, SLA) следует обеспечить защиту данных при помощи частого создания снимков, для чего необходимо оповещение об использовании, сбоях и других метриках. Однако снимки должны учитываться также и при администрировании ресурсов хранения (Storage Resource Management, SRM), поскольку им нужны некоторый объем памяти и достаточная производительность ввода/вывода. Если администратор создает снимки через короткие промежутки времени, то восстановление последней общей записи и всех инкрементных записей после катастрофы может потребовать больших затрат. Имеющиеся программы резервного копирования (например, Networker от компании Legato) создают без прерывания работы предприятия синтетические полные записи из последней полной записи и определенного количества накопленных инкрементных записей, заботясь о том, чтобы после потенциальной катастрофы время восстановления было бы минимальным. Таким образом из многих следующих друг за другом через короткие промежутки времени снимков можно подготовить и эффективно сформировать процедуру восстановления. Администратор, регулярно создающий снимки на разных системах хранения, повышает безопасность работы всей системы.

Герольд Хан — независимый автор. С ним можно связаться по адресу: redaktion@lanline.awi.de.