Репликация, резервирование и схемы восстановления информации в ненадежных распределенных системах

В.В. Кульба, С.К. Сомов

Репликация, резервирование и схемы восстановления информации в ненадежных распределенных системах

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

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

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

© Кульба В.В., Сомов С.К., 2017

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

Важными задачами, которые необходимо решить при проектировании РСОД, являются следующие две: обеспечение высокой надежности работы системы и требуемого уровня ее производительности. Известным и широко используемым методом решения этих задач является метод репликации по узлам компьютерной сети массивов данных, используемых в системе2.

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

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

Для существенного уменьшения вероятности потери информации вследствие разрушения реплик предлагается использовать два метода: метод резервирования массивов данных и метод восстановительного резервирования.

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

Для создания резерва данных в узлах РСОД с репликами используются три стратегии организации оперативного резервирования3.

Стратегия 1. Создается резерв из некоторого количества копий реплики. При разрушении реплики используется первая копия, при ее разрушении - вторая и так далее. Применяется для резервирования массивов постоянных данных.

Стратегия 2. Используется для резервирования переменных массивов данных. В узле сети создается резерв из предысторий массива данных - предыдущих поколений массива и массивов изменений (журналов транзакций). При разрушении реплики происходит ее восстановление специальной программой из первой предыстории. При разрушении предыстории она восстанавливается из следующей предыстории и так далее.

Стратегия 3. Смешанная стратегия использует как копии, так и предыстории реплик. Причем вначале используются копии в соответствии со стратегий 1, а при их разрушении - предыстории, как в стратегии 2.

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

Данный метод заключается в том, что для восстановления разрушенного ОР и реплик используется специальный восстановительный резерв (далее - ВР) из копий и/или предысторий, который используется для целей восстановления разрушенного ОР и реплик. На практике используют два типа восстановительного ре-зервирования4:

- в первом случае в качестве ВР используется неразрушенный ОР узла сети, ближайшего к узлу с разрушенной репликой и оперативным резервом. Близость узла определяется согласно некоторому критерию близости узлов РСОД;

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

Для восстановления разрушенных данных используются две стратегии восстановления5: стратегия В-1 и стратегия В-2. Соглас-

но стратегии В-1 при помощи ВР последовательно получаются все копии разрушенного ОР. Согласно стратегии В-2 при получении очередной копии ОР наравне с копиями из ВР используются и все ранее восстановленные копии массива данных.

В РСОД для обоих вариантов восстановления разрушенных данных можно использовать разные схемы восстановления, которые отличаются по времени, стоимости и вероятности успешного восстановления ОР. Например, если в узле ] разрушены m копий массива данных (реплика и резерв), то в узле с ВР можно получить, а затем переслать в 7-й узел у копий (1 < у < m), где остальные (т - у) копий можно будет получить простым копированием в самом узле/ Различных вариантов восстановления множество, поэтому возникает задача выбора оптимальной схемы восстановления, т. е. нужно найти такое значение переменной у, которое обеспечило бы экстремум критерия оптимизации.

Рассмотрим данную задачу для случая использования восстановительной стратегии В-1. Будем использовать следующие критерии оптимизации: минимум средних затрат Z(y), минимум среднего времени Е(у) и максимум вероятности Р(у) восстановления разрушенных данных. Предположим, что процесс получения у копий в узле с ВР и их передача по линиям связи производится последовательно.

В этом случае величина среднего времени Е(у) складывается из времени получения у копий в узле с ВР, времени £ их передачи по каналам связи в узел ] с разрушенными данными и времени копирования оставшихся (т - у) копий в узле/

Пусть Т - среднее время создания одной копии в узле с ВР. При оценке среднего времени восстановления ОР необходимо рассмотреть два варианта (рис. 1):

а) £ < Т - среднее время £ передачи по каналам связи одной копии не превышает времени Т ее создания в узле с ВР;

б) £ > Т - время передачи £ одной копии больше времени ее создания.

I У = 4

Т \2Т ГТг I 4Т

1111 <_ < < _£_

V

а) < < Т -V

1,1 I I

< Ь) < > Т

Т Т+4<

Рис. 1. Возможные соотношения между величинами Ти t

С учетом этих двух вариантов среднее время E(y) восстановления разрушенного ОР будет равно:

jyT + t + (т - у) т при t < T

Е

Здесь т - среднее время получения копии массива данных в узле с ОР.

В соответствии со сделанными предположениями вероятность P(y) успешного восстановления ОР вычисляется по формуле

P

здесь: р - вероятность успешного восстановления одной копии массива данных в узле с ВР; г - вероятность успешной передачи копии по каналам связи в узел сети с разрушенным ОР; в - вероятность успешного копирования массива в узле с разрушенным ОР.

Средние затраты на восстановление ОР будут равны:

Z

Здесь: D - стоимость восстановления одной копии массива данных в узле с ВР; d' - стоимость пересылки восстановленной копии массива в узел с разрушенным ОР; И - стоимость копирования массива в узле с разрушенным ОР.

Предположим, что М < у < N(1 < М, N< т), и рассмотрим функцию Е(у).

Из (1) следует, что Е(у) < 0 при (: < Т, Т < т) и (: > Т, t < т). Тогда:

1 тт + t + N(T - т) при Т < т

при t < Тт!п Е(у) = { тт + t + М(Т- т) при Т> т

, тт + Т + N0: - т) при t < т

при : > Тшп Е(у) = { тт + Т + М(: - т) при : > т.

Для функций Р(у) и Z(y) получим:

о/ ч.^О при рг > в -

тах Р

/Z(N) при рг > в

тах р

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

Репликация, резервирование и схемы восстановления.. 2(у) ^ шт

33

при ограничениях:

Р

Е

£ е

Можно показать, что ограничение (8) задачи эквивалентно одному из следующих двух ограничений6:

a) при рг в-1 < 1:

т > у >

b) при рг в-1 > 1:

1 < у <

А ограничение (9) эквивалентно одному из следующих ограничений:

a) при £ < Т:

т > у >

1 < у <

b) при £ > Т:

т > у >

1 < у <

Величины определяют область допустимых значений для переменной у, в которой ищется решение сформулированной выше задачи (7) - (10). При этом для этих величин можно выделить 12 различных вариантов их значений, которые перечислены в таблице. При анализе данных вариантов, с учетом равенства (6), получаются все решения задачи, приведенные в таблице.

Таблица

№ Варианты значений ограничений задачи Допустимые решения задачи

D + d' < H D + d' > H

1 [AJ < [BJ < y < m m [BJ

2 [BJ < [AJ < y < m m [A1]

3 [Bj] = [AJ < y < m m [A1] = [BJ

4 1 < y < [A2] < [B2] [AJ 1

5 1 < y < [B2] < [A2] [B2] 1

6 1 < y < [B2] < [A2] [A2] < [B2] 1

7 [AJ < y < [B2] [B2] [AJ

8 1 < y < [B] [AJ < y < m; [AJ = [B2] [A1] = [B2] [AJ = [B2]

9 1 < y < [B] [AJ < y < m; [B2] = [A2] решения нет решения нет

10 [BJ < y < [A2] [A2] [BJ

11 1 < y < [A2]; [BJ < y < m; [A2] = [B2] [BJ = [A2] [A2] = [BJ

12 1 < y < [A2]; [BJ < y < m; [A2] < [B2] решения нет решения нет

Задача поиска оптимальной схемы восстановления разрушенных данных по критерию минимума среднего времени восстановления E(y) имеет формулировку:

E

при ограничениях:

Z

Р

у е

Ранее было показано, что в зависимости от параметров системы ограничение (19) эквивалентно (11) или (12). Из (3) следует, что ограничение (18) эквивалентно одному из следующих неравенств:

т > у >

1 < у <

Аналогично задаче поиска оптимальной схемы восстановления по критерию минимума затрат, ограничения (11), (12) и (21), (22) определяют область значений переменной у, на которой ищется решение задачи.

В этом случае также возможны 12 ситуаций, анализ которых позволяет получить все решения задачи (17)-(20). Данные ситуации и соответствующие им решения показаны в таблице 1, в которой В , В2 и (Б + й '< Н), (Б + й '> Н) необходимо заменить, соответственно, на С1, С2 и (£ < Т< т или т > £ > Т), (£ < Т,Т> т или £ > Т, £ > т).

Задача поиска схемы восстановления разрушенных данных, оптимальной по критерию максимума вероятности успешного восстановления, имеет формулировку:

Р

при ограничениях:

2

Е

у е

При анализе двух предыдущих задач было получено, что ограничения (24) и (25) в зависимости от параметров системы эквивалентны ограничению (21) или (22) и одному из ограничений (13)-(16) соответственно. Эти неравенства определяют область значений переменной у, на которой ищется решение задачи. Возможные при этом ситуации и соответствующие им решения задачи (23)-(26) приведены в таблице 1, в которой необходимо произвести следующие замены: А и А2 заменяются на С1 и С2, выражения (Б + й'< Н) и (Б + й'> Н) заменяются на (ргв-1 > 1)и (ргв-1 < 1) соответственно.

Рассмотрим второй тип восстановительного резервирования, когда для восстановления разрушенных данных в РСОД используются узлы с размещенным в них АМН, и получим условие, которое определяет целесообразность использования этого типа восстановительного резервирования с точки зрения времени восстановления разрушенных данных в РСОД.

Узлы с размещенным в них АМН обрабатывают только запросы на восстановление разрушенных данных в других узлах РСОД. В то время как узел с ОР в случае, если он используется в качестве

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

Предположим, что РСОД построена на базе однородной сети, а для восстановления разрушенных данных можно использовать оба типа восстановительного резервирования: восстановление данных при помощи АМН и с помощью неразрушенного оперативного резерва ближайшего узла. Также предположим, что процесс обработки запросов на восстановление в узлах с АМН и ОР можно описать в терминах системы массового обслуживания вида М/М/1. Причем на вход данной системы поступает пуассоновский поток запросов, интенсивность которого для узла с ОР равна X, а для узла с АМН равна ц. Время обслуживания запросов распределено по показательному закону. Будем считать, что время передачи сообщений по каналам связи (запроса на восстановление разрушенных данных и передачи восстановленных копий в узел с разрушенными данными) одинаково для обоих типов восстановительного резервирования. При сделанных предположениях среднее время ТА восстановления разрушенных данных при помощи АМН и аналогичное время Тор при использовании неразрушенного ОР ближайшего узла РСОД будут равны7

ТА = Тп + ЕА + «А = Тп + ЕА

тор = тп + еор + «ОР = тп + Еор

Здесь:

Тп - среднее время передачи информации по каналам связи;

Еа - среднее время обработки запроса на восстановление данных в узле АМН;

«А - среднее время ожидания запроса на восстановление в очереди на обработку в узле с АМН;

Еор и «ор - среднее время обработки и ожидания в очереди на обработку запроса на восстановление данных в узле с ОР;

ц - интенсивность запросов на восстановление данных, поступающих в узел сети с АМН;

X - интенсивность всех запросов, поступающих в узел сети с неразрушенным ОР.

Очевидно, что с точки зрения величины среднего времени восстановления разрушенных данных использование для этой цели АМН нецелесообразно, если

Т < Т

ор А

Это неравенство с учетом (27), (28) эквивалентно:

X < Ц +

Тогда можно сделать вывод о том, что если выполняется неравенство (29), то с точки зрения среднего времени восстановления разрушенных данных в узле РСОД целесообразно использовать в качестве восстановительного резерва неразрушенный резерв ближайшего узла вместо АМН.

Пример 1

Пусть РСОД функционирует на базе однородной полносвязной компьютерной сети, состоящей из N узлов, в которые поступают запросы с интенсивностью X запросов в единицу времени для каждого узла.

В узлах РСОД размещен оперативный резерв по m копий массивов данных, созданный в соответствии со стратегией 1 резервирования. Вероятность разрушения одной копии массива данных при ее использовании для обработки запроса равна q.

Определим целесообразность создания в одном из узлов РСОД архива магнитных носителей объемом m копий с точки зрения величины среднего времени восстановления разрушенных данных.

Так как объем (m) оперативного резерва, созданного в узлах РСОД, совпадает с объемом АМН, а компьютерная сеть однородна, то получим, что ЕА = EOp, а условие (29) примет вид

X < ц.

Так как в соответствии с нашими условиями оперативный резерв в узлах РСОД создан согласно стратегии 1 резервирования, то очевидно, что интенсивность ц запросов на восстановление разрушенного ОР, поступающих в узел с АМН, будет равна

ц = EXqm = NXqm. i=i

Тогда условие (30) будет эквивалентно следующему неравенству

i < Nqn2.

Рассмотрим теперь два частных случая.

1) Пусть m = 3 и N = 4.

В этом случае использование АМН в РСОД нецелесообразно с точки зрения величины среднего времени восстановления разру-

шенных данных при д > 0,69. Однако на практике в реальных системах обработки данных д < 1/2. Из этого следует, что при заданных параметрах использование АМН будет целесообразно.

2) Пусть т = 3.

Для данного случая определим число N узлов РСОД с размещенными в них репликами и резервом данных, при котором использование только одного узла с АМН для их восстановления будет нецелесообразно в том смысле, что время ожидания запроса на восстановление данных в очереди на обслуживание в узле с АМН будет больше, чем в случае, если для восстановления данных будем использовать узел с неразрушенным ОР вместо узла с АМН.

Из выражения (31) следует, что при т = 3 получим N > д-3. Тогда при д < 1/2 создание и размещение в компьютерной сети только одного АМН будет нецелесообразно для N> 8, а при д = 0,1 для N> 1000.

Теперь рассмотрим ситуацию, когда в РСОД используется несколько АМН, размещенных в узлах компьютерной сети. Предположим, что все возникающие запросы на восстановление разрушенных данных распределяются между всеми узлами с АМН равномерно. Пусть К - это число узлов с АМН.

Определим, какое число К узлов с АМН должно быть в РСОД, чтобы среднее время восстановления разрушенных данных с помощью узла с АМН было меньше, чем с помощью ближайшего узла с неразрушенным ОР. Из (30) следует, что для этого необходимо не менее ц/Х узлов с АМН. Используя неравенство (31), получим, что при условии

К >

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

Пример 2

Предположим, что N = 30, т = 2, д = 0,2. При данных параметрах из (32) следует, что в РСОД необходимо разместить АМН объемом в 2 копии в К = 2 узлам РСОД.

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

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

Примечания

Казарин О.В. Безопасность программного обеспечения компьютерных систем. М.: МГУЛ, 2003.

Таненбаум Э., ван Стеен М. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003.

Микрин Е.А., Сомов С.К. Оптимальное оперативное резервирование информации в системах обработки данных на базе вычислительных сетей // Проблемы управления. 2016. № 5. С. 47-56.

Микрин Е.А., Сомов С.К. Анализ эффективности стратегий восстановления информации в распределенных системах обработки данных // Информационные технологии и вычислительные системы. 2016. № 3. С. 5-19. Кульба В.В., Сомов С.К, Шелков А.Б. Резервирование данных в сетях ЭВМ. Казань: Изд-во Казанского ун-та, 1987.

Сомов С.К. Резервирование программных модулей и информационных массивов в сетях ЭВМ: Дис. ... канд. техн. наук. М.: ИПУ РАН, 1983. Клейнрок Л. Вычислительные системы с очередями. М.: Мир, 1979.

2

3

4

5

6

7