Способ резервного копирования
BACKUP METHOD

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

Требования к системе резервного копирования и восстановления данных задаются при проектировании услуг и плана непрерывности их предоставления. Эти требования включаются в SLA - в соглашение об уровне услуг. Ключевыми параметрами резервного копирования являются: RPO (Recovery Point Objective) и RTO (Recovery Time Objective). RPO определяет целевую точку восстановления, a RTO определяет время, необходимое для восстановления (Foundation of ITIL V3 / Jan van Bon [и др.]. Zaltbommel: Van Haren Publishing, 2007).
RPO - это максимальный объем данных, которые могут быть потеряны по итогам восстановления услуги после ее прерывания. Целевая точка восстановления выражается в «отрезке времени» до сбоя. Например, целевая точка восстановления в «один день» может быть обеспечена резервным копированием, при этом могут быть потеряны данные не более чем за 24 часа (Словарь терминов и определений ITIL. На русском языке. Crown Copyright, 2011. Систем, требования: Adobe Reader. URL: http://itsmforum.ru/ZAM-test/Russian_Glossary_2011_v2.0.pdf [дата обр. 07.03.2017]).
Период резервного копирования задается системным администратором при настройке системы исходя из требований. При этом не учитывается состояние системы, которое меняется в ходе ее эксплуатации.
Период между моментами резервного копирования в некоторых случаях рационально изменить в ходе функционирования компьютерной системы. В случае ухудшения состояния оборудования, например хранилища файлов, при увеличивающимся количестве ошибок дискового доступа логичней резервные копии делать чаще до устранения ошибок. Или при сетевой атаке на сервер желательно иметь резервную копию, наиболее близкую от полного отказа оборудования. Если на сетевом файловом хранилище за заданный период времени произошло мало изменений, то рационально не делать полного резервного копирования, а дальше хранить только дифференциальные или инкрементные изменения. Или в заданный период происходят два обновления программного обеспечения: системных файлов и прикладного программного обеспечения - необходимо сделать две резервные копии, а не одну, как получится при использовании фиксированного расписания.
Из всех резервных копий актуальной резервной копией компьютерной системы является та, которая минимально отличается от текущего состояния компьютерной системы. Наличие актуальной резервной копии позволяет получить доступ к последним версиям обрабатываемой информации и к состоянию системы перед отказом или сбоем программного или аппаратного обеспечения. Это позволит сократить объем потери данных по итогам восстановления. Также наличие актуальной копии позволит развернуть компьютерную систему на другом типовом оборудовании до устранения причин, вызвавших аппаратный сбой.
Таким образом, для создания актуальной резервной копии компьютерной системы, позволяющей сократить объем потери данных по итогам восстановления, необходимо изменять период создания резервных копий в зависимости от текущего состояния компьютерной системы.
Известен способ и система для синтетического резервного копирования и восстановления данных (см. патент РФ №2406118, опубл. 10.12.2010). Техническим результатом способа и системы является повышение эффективности полного резервного копирования. Технический результат достигается за счет создания сначала полного резервного копирования, с целью создать полный набор данных, а потом создания инкрементных или дифференциальных наборов данных посредством соответствующего копирования. Когда потребуется новый полный набор данных, то вместо полного резервного копирования, предыдущий полный набор данных объединяется с последующими инкрементными или дифференциальными наборами данных, чем создается новый полный набор данных. Новый полный набор данных может быть создан на компьютере, отличном от компьютера, на котором размещены данные предыдущего полного набора данных, и использован в другом месте или для быстрого восстановления данных в случае повреждения или порчи файловой системы компьютера.
Недостатком указанного способа является то, что операцию синтетического резервного копирования выполняют периодически без учета текущего состояния компьютерной системы, что, в случае если сбой произойдет перед синтетическим резервным копированием, приведет к увеличению времени восстановления системы, т.к. будет необходимо восстановить сначала полную резервную копию, а потом последовательно применить накопленные дифференциальные или инкрементные наборы данных.
Известен способ защиты данных (патент РФ №2439691, дата опубл. 10.01.2012). Способ включает себя прием данных для хранения в первичном запоминающем устройстве, периодическую передачу данных для резервного копирования в резервном запоминающем устройстве с помощью последовательности операций резервного копирования, временное хранение в защищенном от аварийного воздействия запоминающем устройстве записей, которая принята в течении времени между следующими друг за другом операциями резервного копирования, при наступлении в течение временного интервала аварийного события, повреждающего данные, хранящиеся в первичном запоминающем устройстве, - восстановление данных с использованием записей в защищенном от аварийного воздействия запоминающем устройстве.
Недостатком указанного способа является то, что операцию резервного копирования выполняют периодически, без учета состояния компьютерной системы. Несмотря на то, что в одной из реализаций способа используются датчики для прогнозирования аварийной ситуации, эти датчики не учитывают внутреннее состояние системы и самого защищенного запоминающего устройства. Защищенное запоминающее устройство хранит в себе все изменения после последнего резервного копирования единым блоком данных, что в случае сбоя, вызванного, например, неправильной установкой обновлений программного обеспечения, приведет к невозможности при восстановлении из последней резервной копии восстановить данные, накопленные после операции резервного копирования.
Наиболее близким по технической сути к предлагаемому способу является способ установки, настройки, администрирования и резервного копирования программного обеспечения (п. 12 формулы) (см. патент РФ №2445686, опубл. 20.03.2012). Технический результат способа-прототипа заключается в обеспечении резервного копирования и повышения коэффициента доступности программного обеспечения компьютеров ИТ-инфраструктуры предприятия.
Указанный технический результат достигается заявленным способом резервного копирования программного обеспечения ИТ-инфраструктуры предприятия, заключающимся в том, что программное обеспечение целевого компьютера устанавливают и настраивают в соответствии с заявленным способом установки, настройки и администрирования программного обеспечения, в процессе эксплуатации целевого компьютера осуществляют периодическую синхронизацию изменений между файлами целевого компьютера и хранимым образом виртуальной машины, для чего с помощью системы контроля ревизий формируют снимок изменений в локальном репозитории целевого компьютера, распространяют снимок изменений в репозитории в хранимом образе виртуальной машины и применяют снимок изменений к образу виртуальной машины; в случае отказа или сбоя программного или аппаратного обеспечения целевого компьютера предприятия осуществляют запуск соответствующего хранимого образа виртуальной машины на сервере виртуальных машин в ИТ-инфраструктуре поставщика услуг посредством системы управления мониторами виртуальных машин и обеспечивают удаленный доступ к виртуальной машине посредством глобальной компьютерной сети.
Достоинством прототипа является то, что, благодаря использованию системы контроля версий, возможно создание резервных копий не только целого тома, но и его части, а также создание резервных копий после логически законченных действий по настройке или изменению компьютерной системы.
Недостатком способа-прототипа является то, что создание резервных копий после логически завершенных действий возможно вручную только по команде специалиста. А в ходе эксплуатации компьютерной системы резервное копирование происходит периодически без учета ее текущего состояния, что приводит к отсутствию актуальной резервной копии системы и, таким образом, снижает эффективность ее восстановления. Создание каждой резервной копии по команде специалиста приведет к увеличению времени, необходимого для подготовки создания резервной копии, и, как следствие, снижению эффективности резервного копирования.
Техническим результатом изобретения является снижение объема потери данных по итогам восстановления.
Технический результат достигается тем, что в известном способе резервного копирования, заключающегося в том, что устанавливают и настраивают программное обеспечение целевого компьютера ИТ-инфраструктуры предприятия, включающего по меньшей мере, один целевой компьютер, причем ИТ-инфраструктура предприятия соединена посредством глобальной сети с ИТ-инфраструктурой поставщика услуг, включающей один или несколько серверов виртуальных машин, сервер управления, хранилище образов виртуальных машин, для чего создают образ виртуальной машины, включающей файловую систему в гостевую операционную систему, создают репозиторий распределенной системы контроля ревизий в образе виртуальной машины, устанавливают в файловую систему образа виртуальной машины требуемое программное обеспечение, выполняют настройку программного обеспечения, формируют список изменений после каждого значимого этапа, сохраняют информацию об изменениях в файловой системе, связанных с установкой и настройкой программного обеспечения в упомянутом репозитории, формируют первый носитель информации, на котором размещают дистрибутив гостевой операционной системы, формируют второй переносной носитель информации, на котором размещают копию упомянутого репозитория и дистрибутив системы контроля ревизий, выполняют установку операционной системы на целевом компьютере с использованием дистрибутива операционной системы на первом переносном носителе информации, устанавливают программы системы контроля ревизий на постоянный носитель целевого компьютера, копируют упомянутый репозиторий со второго переносного носителя информации на постоянный носитель целевого компьютера, повторяют указанные изменения на целевом компьютере, последовательно применяя снимки изменений из копии упомянутого репозитория к файловой системе целевого компьютера с использованием системы контроля ревизий под управлением целевой операционной системы, распространяют снимок изменений в репозитории в хранимом образе виртуальной машины, применяют снимок изменений к образу виртуальной машины, осуществляют запуск соответствующего хранимого образа виртуальной машины в случае отказа или сбоя аппаратного или программного обеспечения целевого компьютера на сервере виртуальных машин в ИТ-инфраструктуре поставщика услуг посредством системы управления мониторами виртуальных машин, обеспечивают удаленный доступ к виртуальной машине посредством глобальной сети, дополнительно при установке программного обеспечения в образе виртуальной машины устанавливают событийно-ориентированный планировщик, задают правила работы событийно-ориентированного планировщика, включают событийно-ориентированный планировщик в список автоматически запускаемых служб. При запуске целевого компьютера настраивают событийно-ориентированный планировщик, для чего считывают правила работы событийно-ориентированного планировщика. Для каждого правила определяют вид условия создания резервной копии и выбирают объект наблюдения, в процессе эксплуатации целевого компьютера отслеживают изменение объекта наблюдения. При изменении объекта наблюдения сравнивают произошедшие изменения с условием, если условие выполнено, то изменяют момент времени создания резервных копий в расписании в соответствии с правилом, формируют снимок изменений в локальном репозитории целевого компьютера с помощью системы контроля ревизий в соответствии с расписанием.
В частном случае реализации правила работы событийно-ориентированного планировщика задают в виде условия наступления события. В указанном частном случае условия наступления события задают в виде изменения файлов, отмеченных флагом. Флаг задают в виде специальных символов в имени файла или задают через атрибут файловой системы образа виртуальной машины.
В другом частном случае реализации правила работы событийно-ориентированного планировщика задают в виде условий изменения временных интервалов между моментами времени создания резервных копий.
В частном случае реализации изменение временных интервалов между моментами времени создания резервных копий задают в виде увеличения интервала на заданную величину с уменьшением параметра на заданную величину.
В указанном частном случае в качестве параметра задают загрузку системных ресурсов.
В указанном частном случае в качестве параметра задают загрузку центрального процессора.
В указанном частном случае в качестве параметра задают использование оперативной памяти.
В указанном частном случае в качестве параметра задают заполнение буферов устройств.
В указанном частном случае в качестве параметра задают обмен данным с дисковыми устройствами.
В частном случае реализации изменение временных интервалов между моментами времени создания резервных копий задают в виде уменьшения интервала на заданную величину с увеличением параметра на заданную величину.
В указанном частном случае в качестве параметра задают загрузку системных ресурсов.
В указанном частном случае в качестве параметра задают загрузку центрального процессора.
В указанном частном случае в качестве параметра задают заполнение буферов устройств.
В указанном частном случае в качестве параметра задают заполнение количество ошибок в дисковых операциях.
В указанном частном случае в качестве параметра задают количество открытых сетевых соединений.
Благодаря новой совокупности существенных признаков в заявленном способе, за счет установки событийно-ориентированного планировщика и включения его в список автоматически запускаемых служб, задания правил работы событийно-ориентированного планировщика, считывания правил при запуске целевого компьютера и определения вида условия и выбора объекта наблюдения для каждого правила, отслеживания изменений объекта наблюдения, сравнения произошедших изменений с условиями и изменения момента времени создания резервных копий в расписании в соответствии с правилом, если условие выполнено, снижается объем потери данных по итогам восстановления, что указывает на возможность достижения сформулированного технического результата при использовании заявленного изобретения.
Заявленный способ поясняется чертежами, на которых показано:
фиг. 1 - алгоритм способа резервного копирования;
фиг. 2 - алгоритм синхронизации изменений между файлами целевого компьютера и хранимого образа виртуальной машины;
фиг. 3 - алгоритм настройки событийно-ориентированного планировщика;
фиг. 4 - алгоритм изменения расписания в соответствии с правилами работы;
фиг. 5 - процесс создания резервных копий при периодическом резервном копировании и при использовании заявленного изобретения.
фиг. 6 - вариант структуры файла, содержащего правила работы событийно-ориентированного планировщика;
Реализация заявленного способа объясняется следующим образом.
Заявленный способ реализован в виде алгоритма, представленного на фиг. 1.
В блоке 1 фиг. 1 задаются исходные данные. Предпочтительная реализация системы для осуществления заявленного изобретения включает в себя ИТ-инфраструктуру поставщика услуг и ИТ-инфраструктуру предприятия. ИТ-инфраструктура поставщика услуг содержит по меньшей мере один компьютер, называемый сервером управления. Сервер управления содержит программы системы управления пользователями, служащие для регистрации и создания учетных записей пользователей, аутентификации и авторизации пользователей, учета принадлежащих пользователям образов виртуальных машин. Кроме того, сервер управления содержит программы системы управления мониторами виртуальных машин, служащие для выполнения операций создания, запуска и управления виртуальными машинами.
ИТ-инфраструктура поставщика услуг также содержит кластер, в котором находится, по меньшей мере, один компьютер с установленным монитором виртуальных машин, называемый сервером виртуальных машин. Программное обеспечение сервера виртуальных машин содержит хостовую операционную систему, монитор виртуальных машин, агента системы управления монитором виртуальных машин и один или несколько запущенных образов виртуальных машин.
Каждый образ виртуальной машины содержит гостевую операционную систему, одно или несколько приложений и программы распределенной системы контроля ревизий. ИТ-инфраструктура поставщика услуг также содержит хранилище образов виртуальных машин. Хранилище содержит готовые базовые образы виртуальных машин, служащие для быстрого создания новых образов, и специализированные образы виртуальных машин, созданные пользователями. Хранилище соединено с сервером управления и серверами виртуальных машин посредством внутренней компьютерной сети поставщика услуг. ИТ-инфраструктура предприятия содержит, по крайней мере, один целевой компьютер. Целевой компьютер содержит целевую операционную систему, соответствующую гостевой операционной системе ассоциированной виртуальной машины, одно или несколько приложений и программы распределенной системы контроля ревизий. Связь между ИТ-инфраструктурой поставщика услуг и ИТ-инфраструктурой предприятия осуществляется посредством глобальной компьютерной сети (см. прототип, патент РФ №2445686, опубл. 20.03.2012).
В блоке 2 фиг. 1 создают образ виртуальной машины. Для доступа к серверу управления поставщика услуг пользователь осуществляет регистрацию в системе управления пользователями на сервере управления поставщика услуг. В результате регистрации создается учетная запись пользователя. Далее пользователь посредством системы управления мониторами виртуальных машин осуществляет выбор аппаратной конфигурации виртуальной машины, выбор и установку дистрибутива операционной системы в виртуальную машину (Там же).
В блоке 3 фиг. 1 создают репозиторий распределенной системы контроля ревизий в образе виртуальной машины. Для этого пользователь запускает образ виртуальной машины на одном из серверов виртуальных машин средствами системы управления мониторами виртуальных машин. Дальнейший доступ пользователя к образу виртуальной машины осуществляют средствами удаленного доступа. Используя удаленный доступ, пользователь устанавливает программы распределенной системы контроля ревизий в образ виртуальной машины. После чего, на основе файловой системы образа виртуальной машины пользователь создает исходный репозиторий системы контроля ревизий (Там же).
В блоке 4 фиг. 1 устанавливают событийно-ориентированный планировщик в образе виртуальной машины. Для организации периодического планирования обычно используют подсистему запуска повторяющихся заданий: для UNIX-like (Linux, *BSD) операционных систем могут использовать cron (Cron. URL: https://ru.wikipedia.org/wiki/Cron [дата обр. 12.02.2017]), для семейства Windows используют планировщик заданий (Task Scheduler. URL: https://msdn.microsoft.com/en-us/library/aa383614.aspx [дата обр. 12.02.2017]).
Повторяющиеся задания подсистема запускает в указанный срок или с заданной периодичностью. В отличие от таких подсистем событийно-ориентированный планировщик анализирует журналы системных событий и запускает выполнение действия на определенное событие. Журналы событий в операционной системе ведут соответствующие системы аудита: в Linux это auditd (Linux Audit. URL: https://people.redhat.com/sgrubb/audit/ [дата обр. 12.02.2017]), в Windows это служба EventLog (About Event Logging. URL: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363632.aspx [дата обр. 12.02.2017]). Событийно-ориентированный планировщик отслеживает заданные события в журналах и выполняет действия, связанные с этими событиями. Событийно-ориентированный планировщик может создавать задания на выполнение действия по событию в подсистеме запуска повторяющихся заданий и добавлять их в расписание или же самостоятельно выполнять запланированные действия. Событийно-ориентированный планировщик может быть написан как отдельное приложение при реализации заявленного способа или использовать готовые приложения в виде встроенных системных служб или отдельно устанавливаемых приложений. Например, для Linux, в качестве событийно-ориентированного планировщика может использоваться приложение go-audit (Go-audit. URL: https://github.com/slackhq/go-audit [дата обр. 12.02.2017]). Для Windows, в качестве событийно-ориентированного планировщика может использоваться встроенная системная утилита «Просмотр событий».
В блоке 5 фиг. 1 задают правила работы событийно-ориентированного планировщика в отдельном файле. Правило включает в себя описание события и действия, которые необходимо выполнить при наступлении этого события.
В одной реализации заявленного способа правила работы могут задаваться в виде условия наступления события. Это означает, что существует непосредственная связь «событие произошло» ⇒ «действие выполнено». В частном случае реализации условие наступления события задают в виде условия изменения файлов, отмеченных флагом. Такие события полезно отслеживать, если происходит изменение системных файлов, например при обновлении программного обеспечения или установки нового драйвера, чтобы в случае сбоя была возможность вернуться в исходное состояние. Или для снижения риска угроз, когда вредоносное программное обеспечение, например компьютерные вирусы, изменяет или уничтожает системные файлы или важные пользовательские данные. В одном частном случае реализации флаг может задаваться через атрибут файла. Например, для файловой системы NTFS возможно задать различные атрибуты файла и различные их сочетания, такие как «системный», «скрытый», «архивный» и др. В другом частном случае реализации флаг может задаваться в виде специальных символов в имени файлов. Файлы, изменения которых необходимо отслеживать, могут содержать в начале или в конце имени определенный набор символов например, «Заявка [readonly].docx», где «[readonly]» в имени файла и есть такой флаг.
В другой реализации заявленного способа правила работы могут задаваться в виде условий изменения временных интервалов между моментами времени выполнения запланированных действий. Это означает, что событийно-ориентированный планировщик при наступлении события не запускает выполнение резервного копирования, а изменяет момент времени выполнения действия в расписании подсистемы запуска повторяющихся заданий. Например, для нормального функционирования компьютерной системы задается еженедельный период создания резервных копий. При наступлении определенного события, характеризующего состояние компьютерной системы, событийно-ориентированный планировщик изменяет частоту резервного копирования с еженедельной на ежедневную или ежемесячную.
В частном случае реализации заявленного способа изменение временных интервалов между моментами времени выполнения запланированных действий задают в виде увеличения интервала на заданную величину с уменьшением параметра на заданную величину. В частном случае реализации в качестве параметра задают загрузку системных ресурсов. Для отслеживания загрузки системных ресурсов в операционных системах существуют специальные службы (демоны для UNIX-like операционных систем). Например, в Windows существует служба pla - «Журналы и оповещения производительности» (Using PLA. URL: https://msdn.microsoft.com/ru-ru/library/windows/desktop/bb509354(v=vs.85). aspx [дата обр. 12.02.2017]). В частном случае в качестве системного ресурса задают загрузку центрального процессора, или использование оперативной памяти, или заполнение буферов устройств. Низкое значение этих параметров может указывать на то, что система работает с низкой интенсивностью, а значит, и результаты ее работы можно сохранять реже. В частном случае реализации в качестве системного ресурса задают обмен данными с дисковыми устройствами. Например, в качестве параметра могут задать объем изменений файловой системы целевого компьютера. В таком случае, резервное копирование произойдет при накоплении определенного объема изменений. Событийно-ориентированный планировщик будет сдвигать момент времени создания резервной копии в расписании до наступления данного события.
В частном случае реализации заявленного способа изменение временных интервалов между моментами времени выполнения запланированных действий задают в виде уменьшения интервала на заданную величину с увеличением параметра на заданную величину. В частном случае реализации в качестве параметра задают загрузку системных ресурсов. В частном случае в качестве системного ресурса задают загрузку центрального процессора или заполнение буферов устройств. Высокое значение этих параметров может указывать на то, что система работает с высокой интенсивностью, а это в свою очередь повышает вероятность отказа или сбоя аппаратного или программного обеспечения, поэтому результаты работы необходимо сохранять чаще. В частном случае реализации в качестве системного ресурса задают количество ошибок в дисковых операциях или количество открытых сетевых соединений. Высокое значение этих параметров обычно указывает на высокую вероятность аппаратного отказа, поэтому результаты работы необходимо сохранять чаще.
Правила работы событийно-ориентированного планировщика сохраняют в отдельном файле. Тип и структура файла зависят от используемого событийно-ориентированного планировщика в реализации заявленного изобретения. При использовании встроенных системных служб, например, из состава системных утилит операционных систем семейства Windows, правила работы хранятся в файле с расширением «job» (Using the Task Scheduler. URL: https://msdn.microsoft.com/en-us/library/aa384006.aspx [дата обр. 12.02.2017]). В этом же файле хранится расписание запуска запланированных заданий. При использовании отдельно устанавливаемого приложения, например go-audit для Linux, правила работы хранятся в файле «go-audit.yaml» (goaudit/go-audit.yaml. URL: https://github.com/slackhq/go-audit/blob/master/examples/go-audit/go-audit.yaml [дата обр. 12.02.2017]). Если предлагаемый способ реализуется как отдельное самописное приложение, то способ хранения настроек событийно-ориентированного планировщика определяет автор программы. Например, настройки могут храниться в текстовом файле с разделителями, где отдельная строка соответствует одному правилу, а значения - описанию этого правила.
На фиг. 6 представлен файл, в котором в текстовом виде хранятся правила работы планировщика. Каждая строка текстового файла описывает одно правило. Значения в строке разделены с помощью текстового разделителя « | ». Первое значение «А» (1) означает вид условия: изменение временных интервалов между моментами времени создания резервных копий. Значение «DECR» (4) означает, что изменение интервалов задано в виде увеличения интервалов на заданную величину (6) с уменьшением параметра (2, 3) на заданную величину (5). В качестве параметра выбрана загрузка системных ресурсов «SYS» (2), системным ресурсом выбрано «NET_CONN» (3) - количество открытых сетевых соединений. При количестве открытых сетевых соединений меньше 10000 (5), интервал между созданиями резервных копий увеличиться вдвое (частоту событий сократить вдвое (6)).
В блоке 6 фиг. 1 включают событийно-ориентированный планировщик в список автоматически запускаемых служб. Это делается для того, чтобы планировщик смог отслеживать заданные события сразу после запуска компьютерной системы и в ходе эксплуатации целевого компьютера.
В блоке 7 фиг. 1 устанавливают в файловую систему образа виртуальной машины требуемое программное обеспечение.
N
i
Далее пользователь последовательно осуществляет модификацию конфигурационных файлов операционной системы, установку и настройку приложений (см. прототип, патент РФ №2445686, опубл. 20.03.2012). Перед началом каждого смыслового шага формируют снимки изменений. Для этого, в блоке 8 фиг. 1 определяют количество значимых этапов (настройки отдельной подсистемы или установки отдельного приложения) . В блоке 9 фиг. 1 устанавливают значение счетчика количества этапов настройки  равным «1». И приступают к настройке программного обеспечения (Там же).
i
В блоке 10 фиг. 1 выполняют настройку программного обеспечения (настройку отдельной подсистемы или установку отдельного приложения). В блоке 11 фиг. 1 формируют снимок изменений с помощью системы контроля ревизий. В блоке 12 фиг. 1 сохраняют снимок изменений в упомянутом репозитории. В блоке 13 фиг. 1 увеличивают значение счетчика количества этапов настройки  на единицу. Повторяют указанные действия для каждого значимого этапа (настройки отдельной подсистемы или установки отдельного приложения). В результате репозиторий содержит серию снимков изменений, каждый из которых может быть в отдельности применен или отменен средствами контроля ревизий.
Далее пользователь осуществляет формирование установочного образа машины. В блоке 14 фиг. 1 формируют переносной носитель информации, на котором размещают дистрибутив гостевой операционной системы. В блоке 15 фиг. 1 формируют второй переносной носитель информации, на котором размещают копию упомянутого репозитория и дистрибутив системы контроля ревизий. Повторно используемый образ виртуальной машины создан.
Далее пользователь может многократно осуществлять перенос готового образа виртуальной машины на целевые компьютеры в ИТ-инфраструктуре предприятия. В блоке 16 фиг. 1 выполняют установку операционной системы на целевом компьютере с использованием дистрибутива на первом переносном носителе информации. В блоке 17 фиг. 1 устанавливают программы контроля ревизий на постоянный носитель целевого компьютера. В блоке 18 фиг. 1 копируют упомянутый репозиторий со второго носителя информации на постоянный носитель целевого компьютера. В блоке 19 фиг. 1 последовательно применяют снимки изменений из копии упомянутого репозитория к файловой системе целевого компьютера с использованием системы контроля ревизий.
апериодически
После применения всех снимков изменений целевой компьютер готов к работе. Резервное копирование позволяет поддерживать соответствие программного обеспечения и данных между целевым компьютером в ИТ-инфраструктуре предприятия и образом виртуальной машины в ИТ-инфраструктуре поставщика услуг в течение всего срока эксплуатации целевого компьютера. Для синхронизации изменений используется распределенная система контроля ревизий. При запуске целевого компьютера настраивают событийно-ориентированный планировщик в соответствии с правилами работы (блок 20 фиг. 1). Входе эксплуатации, используя событийно-ориентированный планировщик (блоки 21-22 фиг. 1),  осуществляют синхронизацию изменений между файлами целевого компьютера и хранимого образа виртуальной машины (блок 23 фиг. 1).
Процессы отслеживания события событийно-ориентированным планировщиком (блоки 21-22 фиг. 1), синхронизация изменений между файлами целевого компьютера и хранимого образа виртуальной машины (блок 23 фиг. 1) и возможность отказа или сбоя аппаратного или программного обеспечения (блок 24 фиг. 1) изображены в виде параллельно выполняемых действий (ГОСТ 19.701-90 «Схемы алгоритмов, программ, данных и систем»), т.к. они происходят в ходе эксплуатации целевого компьютера и не зависят друг от друга.
В случае отказа или сбоя аппаратного или программного обеспечения (блок 24 фиг. 1) целевого компьютера предприятия осуществляют запуск соответствующего хранимого образа виртуальной машины на одном из серверов виртуальных машин в ИТ-инфраструктуре поставщика услуг (блок 25 фиг. 1). Для запуска образа виртуальной машины используется система управления мониторами виртуальных машин (Там же). В блоке 26 фиг. 1 обеспечивают удаленный доступ к виртуальной машине посредством глобальной сети.
Синхронизация изменений между файлами целевого компьютера и хранимого образа виртуальной машины реализовано в виде алгоритма, представленного на фиг. 2.
В блоке 1 фиг. 2 формируют снимок изменений в локальном репозитории целевого компьютера в соответствии с расписанием, используя систему контроля ревизий.
В блоке 2 фиг. 2 распространяют снимок изменений в репозитории в хранимом образе виртуальной машины (Там же).
В блоке 3 фиг. 2 применяют снимок изменений к хранимому образу виртуальной машины (Там же).
Настройка событийно-ориентированного планировщика реализована в виде алгоритма, представленного на фиг. 3.
При запуске событийно-ориентированного планировщика необходимо считать правила, для каждого правила выбрать объект наблюдения и условие создания резервной копии.
Для этого в блоке 1 считывают правила работы событийно-ориентированного планировщика из файла, в котором они сохранены (блок 5, фиг. 1).
i
В блоке 2 фиг. 3 устанавливают значение счетчика количества считанных правил  равным «1».
N
правил
В блоке 3 фиг. 3 сравнивают значение счетчика количества считанных правил с количеством считанных правил .
i
N
правил
Если текущее значение счетчика  не больше , то в блоке 4 фиг. 3 определяют вид условия создания резервных копий.
В блоке 5 фиг. 3 выбирают объекты наблюдения. При этом необходимо настроить операционную систему целевого компьютера так, чтобы системные службы вели журнал событий для выбранного объекта. При использовании встроенных системных служб или отдельно устанавливаемых приложений настройка осуществляется в соответствии с их документацией. Например, для настройки системы аудита: в Linux, отслеживающей события в виде условия изменения файлов, отмеченных флагом, необходимо выполнить команду: auditctl -w /data/Заявка[readonly].docx -р rwxa. Для отслеживания событий в виде условия изменения временных интервалов, когда в качестве параметра задано количество сетевых соединений, в тех же условиях необходимо выполнить команду: auditctl -a exit, always -S connect.
i
В блоке 6 фиг. 3 увеличивают значение счетчика количества считанных правил  на единицу.
i
N
правил
Если текущее значение счетчика  больше , то значит все правила считаны, и заканчивают настройку.
Изменение расписания в соответствии с правилами работы событийно-ориентированного планировщика реализовано в виде алгоритма, представленного на фиг. 4.
i
В блоке 1 фиг. 4 устанавливают значение счетчика количества объектов наблюдения  равным «1».
N
объектов
В блоке 2 фиг. 4 сравнивают значение счетчика количества объектов наблюдения с количеством объектов наблюдения .
i
N
i
i
объектов
Если текущее значение счетчика  не больше , то в блоке 3 фиг. 4 определяют, изменился ли  -й объект наблюдения. Если объект изменился, то в журнале событий должно появиться сообщение о событии. Если такого сообщения в журнале событий нет, то переходят к следующему объекту наблюдения, для чего в блоке 6 фиг. 4 увеличивают значение счетчика  на единицу и переходят к блоку 2 фиг. 4.
i
i
Если -й объект наблюдения изменился, то в блоке 4 проверяют, удовлетворяют ли изменения условию. Если изменения не удовлетворяют условию, то переходят к следующему объекту наблюдения, для чего в блоке 6 увеличивают значение счетчика  на единицу и переходят к блоку 2 фиг. 4.
Если изменения удовлетворяют условию, то в блоке 5 фиг. 4 изменяют момент времени формирования списка изменений в расписании в соответствии с правилом. Для правила, в виде условия изменения файлов, в расписании создают задачу формирования снимка изменений на текущий момент времени. Для правила, в виде условия изменения временных интервалов, в расписании изменяют интервал выполнения задачи формирования снимка изменений в соответствии с правилом.
i
После изменения расписания переходят к следующему объекту наблюдения, для чего в блоке 6 фиг. 4 увеличивают значение счетчика  на единицу и переходят к блоку 2 фиг. 4.
i
N
объектов
Если текущее значение счетчика количества объектов  больше , то значит все объекты отслежены и заканчивают изменение расписания.
Т
t
t
t
1
2
9
На фиг. 5 изображено функционирование компьютерной системы в виде временных графиков, отображающих состояние системы и моментов времени создания резервных копий при использовании подсистемы запуска повторяющихся заданий и событийно-ориентированного планировщика, реализованного согласно заявленного изобретения. По оси абсцисс отмечается время функционирования системы  на целевом компьютере от момента его настройки и в ходе эксплуатации. По оси ординат отмечается значение выбранного параметра. В качестве параметра выбрана загрузка системных ресурсов - количество сетевых соединений с целевым компьютером. Количество сетевых соединений в ходе эксплуатации показано непрерывной линией (1). Горизонтальные асимптоты (2) показывают уровень загрузки системных ресурсов: «низкий», «средний», «высокий» и «критический». При превышении критического уровня (6) происходит отказ аппаратного обеспечения, т.к. производительности системы недостаточно для обработки такого количества сетевых соединений. Ниже изображены графики создания резервных копий. Первыми показаны моменты создания резервных копий (3) при периодическом резервном копировании {, …, } без учета ее текущего состояния. На втором показаны моменты создания резервных копий (4) в зависимости от текущего состояния системы.
Для организации резервного копирования по заявленному способу на целевом компьютере установлен событийно-ориентированный планировщик и заданы правила его функционирования (фиг. 6). В качестве параметра задано количество сетевых соединений. Правил задано четыре:
1. При превышении среднего уровня загрузки системных ресурсов (5) (количество сетевых соединений больше 5000) уменьшить интервал создания резервных копий в два раза.
2. При превышении высокого уровня загрузки системных ресурсов (5) (количество сетевых соединений больше 10000) уменьшить интервал создания резервных копий в два раза.
3. При изменении загрузки ниже высокого уровня загрузки системных ресурсов (5) (количество сетевых соединений меньше 10000) увеличить интервал создания резервных копий в два раза.
4. При изменении загрузки ниже среднего уровня загрузки системных ресурсов (5) (количество сетевых соединений меньше 5000) увеличить интервал создания резервных копий в два раза.
Т
t
t
t
t
t
t
t
t
t
t
1
1
2
2
3
4
4
7
8
8
В ходе эксплуатации целевого компьютера событийно-ориентированный планировщик будет изменять интервалы между моментами создания резервных копий. С начала эксплуатации (=0) период создания резервных копий настроен по умолчанию (как на графике выше). Первая резервная копия будет создана в момент времени . В промежуток (; ) количество сетевых соединений превысило средний уровень. На это событие среагировал событийно-ориентированный планировщик и увеличил частоту создания резервных копий в два раза. Т.к. событие произошло в промежуток , то следующая копия была создана в момент времени  и продолжала создаваться с удвоенной частотой. Загрузка системных ресурсов упала ниже среднего уровня в промежутке (; ), и событийно-ориентированный планировщик снизил частоту создания резервных копий в два раза. Т.к. это событие произошло в промежуток , то следующая копия была создана в момент времени  и продолжала создаваться с частотой, заданной по умолчанию. Загрузка системных ресурсов снова превысила средний уровень в промежуток времени (; ). Т.к. событие произошло в промежуток , то следующая резервная копия была создана в момент времени . Ближе к моменту времени  загрузка системных ресурсов превысила высокий уровень. Событийно-ориентированный планировщик среагировал на это событие и удвоил частоту создания резервных копий. Резервные копии создавались с учетверенной частотой до самого отказа аппаратного обеспечения (6).
В момент отказа аппаратного обеспечения (6) последней резервной копией явилась:
t
8
при периодическом резервном копировании - резервная копия, созданная в момент времени ;
t
t
8
при резервном копировании заявленным способом - резервная копия создана в момент времени +Δ, где .
Наиболее актуальная резервная копия получается при резервном копировании заявленным способом, что позволяет восстановить функционирование компьютерной системе к состоянию, близкому к состоянию перед сбоем или отказом программного или аппаратного обеспечения.
Таким образом, за счет отслеживания изменений состояния компьютерной системы с помощью событийно-ориентированного планировщика и изменения момента времени создания резервных копий в расписании в соответствии с правилами его работы снижается объем потери данных по итогам восстановления, что и определяет достижение технического результата.