Управление дублированным виртуальным хранилищем на сайтах восстановления

Иллюстрации

Показать все

Изобретение относится к области компьютерной техники, в частности к дублированию хранилища данных. Технический результат заключается в обеспечении корректности и исключении ошибок при сохранении дублированных данных. Технический результат достигается за счет управления дублированием, которое включает в себя размещение принятых копий разностных дисков относительно дублированного базового виртуального диска, при этом принятые копии разностных дисков упомянутого множества типов копии организованы в цепочку, первый разностный диск из принятых копий, организованных в цепочку, содержит согласованный с приложениями тип копии, основанный на данных приложения, которые были подготовлены к созданию копии, а второй разностный диск из принятых копий, организованных в цепочку, содержит соответствующий отказу тип моментального снимка, основанный на данных приложения, которые не были подготовлены к созданию копии. 3 н. и 17 з.п. ф-лы, 19 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг. 1 в общем виде показывает иллюстративный вариант осуществления для дублирования виртуальных машин с использованием разностных дисков;

Фиг. 2A и 2B изображают иллюстративные вычислительные среды, в которых может быть реализовано дублирование в соответствии с раскрытием;

Фиг. 3 показывает иллюстративный способ, посредством которого среда первичного компьютера/сервера может обеспечить возможность своего аварийного восстановления и дублирования своих данных, когда они изменяются со временем;

Фиг. 4A и 4B изображают последовательные состояния иллюстративной цепочки дисков, по мере того как виртуальное хранилище изменяется, и делается одна или более копий;

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

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

Фиг. 7A-7F изображает иллюстративный пример для асинхронного копирования хранилища виртуальной машины или другого вычислительного объекта из первой вычислительной среды по меньшей мере в одну другую вычислительную среду;

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

Фиг. 9 иллюстрирует пример соединения и модификации соединения дублированных разностных дисков при доступе к цепочке дисков;

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

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

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

ПОДРОБНОЕ ОПИСАНИЕ

В последующем описании сделана ссылка на сопроводительные чертежи, которые изображают представительные примеры реализации. Следует понимать, что могут быть использованы другие варианты осуществления и реализации, поскольку могут быть сделаны структурные и/или операционные изменения без отступления от объема раскрытия.

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

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

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

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

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

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

Фиг. 1 в общих чертах показывает иллюстративный вариант осуществления для дублирования виртуальных машин с использованием разностных дисков. Первый сайт 100 может включать в себя одну или более базовых вычислительных систем 102-104, которые могут разместить одну или более виртуальных машин (VM) 106. Вычислительная система 102 имеет соответствующее хранилище, и в примере на фиг. 1 виртуальная машина 106 имеет соответствующее виртуальное хранилище (VS) 108. Виртуальное хранилище может представлять, например, виртуальный жесткий диск, который в общем представляет логическое хранилище, обычно обеспечиваемое как файл(ы) образа диска. Виртуальная машина 106 рассматривает виртуальное хранилище 108 как свой жесткий диск или другое подобное устройство хранения.

В одном варианте осуществления дублирование сохраненных данных или другой информации в виртуальном хранилище 108 включает в себя использование цепочки или дерева состояния хранилища, причем вершина цепочки (также называемая здесь "верхушкой дерева") обеспечивает возможность чтения и записи для записи изменений, записанных в виртуальное хранилище. Например, виртуальное хранилище 108 может представлять виртуальный жесткий диск, имеющий формат файла виртуального жесткого диска (VHD). Дерево хранения может включать в себя базовый виртуальный диск 110 и один или более разностных дисков 112A-112n, которые соответствуют базовому виртуальному диску 110. Разностный диск 112A, который является дочерним элементом базового виртуального диска 110, захватывает изменения в виртуальном хранилище 108. Как описано более полно ниже, разностный диск, такой как разностный диск 112A, может быть предохранен посредством защиты от записи, и новый разностный диск, такой как разностный диск 112B, может быть создан, чтобы принимать изменения виртуального хранилища 108 с того момент. Это может продолжаться для любого количества разностных дисков 112n, тем самым создавая цепочку сохраненных виртуальных дисков и разностного диска 112n для захвата новых изменений.

Обеспечен по меньшей мере один второй сайт 150, который включает в себя одну или более базовых вычислительных систем 152, 153, 154, где дублированная информация от первого сайта 100 может быть принята и сохранена, и где вычислительные операции восстановления могут быть инициированы в случае аварийной ситуации или другого события, приводящих первый сайт 100 к неспособности продолжать свои вычислительные обязанности. Первый сайт 100 и второй сайт 150 взаимодействуют посредством линий 130 связи, которые могут включать в себя любой тип интерфейса электронной связи, такой как прямые кабельные соединения, проводные сети, беспроводные сети и т.п. и любая их комбинация. Дублирование виртуальной машины 106 может быть обеспечено для второго сайта 150 посредством электронных средств и т.п. для обеспечения дублированной виртуальной машины 156. Аналогичным образом, разностные диски 112A-112n или другие части виртуального хранилища 108, выполненные с возможностью захватывать изменения виртуального хранилища 108, могут быть переданы, когда данные были защищены от дальнейших операций записи, как описано более полно ниже. Дублированное виртуальное хранилище 158, таким образом, соответствует тому, которое было передано от виртуального хранилища 108 на первичном сайте 100.

Хранилище, такое как виртуальное хранилище 108 на первом сайте 100, может выполнить потоковую передачу своих данных на второй сайт асинхронно. Однако в такой конфигурации, если первый сайт 100 перестал работать, второму сайту 150 будет трудно узнать, что было успешно передано, и является ли хранилище непротиворечивым. Настоящее раскрытие описывает, что моментальные снимки данных (или другие фиксированные образы) разностных дисков 112A-112n первого сайта 100 создаются и передаются второму сайту 150. Использование функции создания моментальных снимков данных обеспечивает возможность для асинхронного дублирования хранилища 108 виртуальной машины 106 с одного места на другое. Таким образом, если первичный сервер (серверы) на первом сайте 100 имеет сбой или иным образом перестает работать, не будет никаких различий между моментальными снимками данных и данными, которые были дублированы. Следовательно, будет известно, какие данные были приняты на втором сайте 150. Раскрытие, таким образом, предусматривает, что первый сайт 100 передает моментальные снимки данных или другие образы разностных дисков в конкретные моменты времени на второй сайт 150.

Например, когда получено дублирование виртуального хранилища 108, оно может дополнительно включать в себя передачу данных разностного диска на второй сайт 150 и создание нового разностного диска. В качестве более конкретного примера, моментальный снимок 114 данных или другое дублирование/копия могут быть взяты с разностного диска 112B, чтобы обеспечить образ (например, файл образа AVHD) базовой вычислительной системе 152 на втором сайте 150. В одном варианте осуществления разностный диск 112B, моментальный снимок 114 данных которого был сделан, будет изменен как защищенный от записи, и новый разностный диск 112n будет создан как файл виртуального хранилища для чтения/записи.

Некоторые варианты осуществления включают в себя различные типы копий разностных дисков или других образов виртуального хранилища. Фиг. 1 изображает множество таких разных типов дублирования или "копий", в том числе тип-A 116 копии, тип-B 118 копии и до типа-n 120 копии. Например, первый тип копии, такой как тип-B 118 копии, может представлять копию или моментальный снимок данных разностного диска 112A-112n с малым воздействием, который происходят без существенных усилий для увеличения непротиворечивости данных. Один способ получения такой копии состоит в том, чтобы дать конкретному разностному диску метку "только для чтения" в любое требуемое время и создать новый разностный диск для захвата записанных после этого данных. Например, моментальный снимок данных виртуальной машины может быть получен с использованием программного обеспечения виртуализации, гипервизора, функциональных средств операционной системы и т.д., которые могут захватывать состояние, данные и аппаратную конфигурацию работающей виртуальной машины. Этот тип копии или другой подобной копии с малым воздействием может упоминаться в этом раскрытии как соответствующая отказу копия, поскольку то, что сохранено на разностном диске, обычно соответствует тому, что было бы на диске после отказа системы или отключения электричества. В этих случаях могут работать прикладные программы, которые временно хранят данные в кэше или памяти, которые не были сохранены в памяти. Не все метаданные файловой системы могли быть обработаны для их помещения на диск, прежде чем он был помечен как защищенный от записи. Для этого типа копии возможно, что попытка вернуть к жизни копию на сайте восстановления не будет полностью успешна, поскольку данные могут не являться полностью непротиворечивыми. Однако, этот тип копии не вызывает прерывания выполняющихся программ, и поэтому имеет очень низкую цену, поскольку это имеет отношение к системной производительности вычислительных систем 102-104 на первом сайте 100.

Другой тип копии, такой как тип-A 116 копии, может представлять копию/моментальный снимок данных с более высокой непротиворечивостью разностного диска 112A-112n, которые происходят с некоторым усилием для увеличения непротиворечивости данных до того, как будет взят моментальный снимок 114 данных. Например, такой моментальный снимок 114 данных может быть получен с использованием службы операционной системы, такой как служба теневой копии (VSS) корпорации MICROSOFT®, которая выполняет координацию между функциональными средствами резервного копирования и прикладными программами пользователя, которые обновляют данные на диске. Работающее программное обеспечение (то есть, средства записи данных) может быть уведомлено относительно предстоящего резервного копирования и привести свои файлы к согласованному состоянию. Этот тип копии обеспечивает более высокую вероятность надлежащего возврата к жизни на втором сайте 150. Однако поскольку работающие прикладные программы, возможно, должны подготовиться к резервному копированию посредством сброса ввода/вывода, сохранения своего состояния и т.д., рабочая нагрузка прерывается и подвергается задержкам и низкой пропускной способности. Разные типы копии могут использоваться в разное время или в разных расписаниях для обеспечения требуемого баланса между прерыванием рабочей нагрузки и непротиворечивостью данных.

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

Фиг. 2A и 2B изображают иллюстративные вычислительные среды, в которых может быть реализовано дублирование в соответствии с раскрытием. Иллюстративные системы на фиг. 2A и 2B являются лишь примерами и не представляют исключительные конфигурации. Вычислительная среда на фиг. 2A иллюстрирует первый сайт, такой как сайт 200 первичного сервера. В этом примере сайт 200 первичного сервера включает в себя один или более серверов 202A-202n или другие вычислительные устройства. Каждый из серверов 200A-200n может соответственно включать в себя вычислительные возможности, такие как один или более физических или логических процессоров 204A, 204n, память 206A, 206n, хранилище 208A, 208n и т.д. Хранилище 208A, 208n может дублироваться, с тем чтобы копии 210A, 210n хранилища, такие как моментальные снимки данных хранилища, могли быть обеспечены для сайта (сайтов) 212 восстановления в целях аварийного восстановления. Фиг. 2A иллюстрирует, что описанные здесь методики применимы к любому хранилищу, соответствующему процессору, а также применимы к виртуальному хранилищу и виртуальным машинам. Следует отметить, что сайт восстановления 212 может включать в себя серверы или другие вычислительные устройства, имеющие подобные возможности обработки, памяти и хранилища.

Фиг. 2B иллюстрирует пример, включающий в себя одну или более виртуальных машин. В этом примере сайт 220 первичного сервера и сайт 250 сервера восстановления соответственно включают в себя один или более серверов 222A-222n, каждый из которых может включать в себя вычислительные возможности, такие как один или более физических или логических процессоров 224A, 224n, память 226A, 226n, хранилище 228A, 228n и т.д. Один или более серверов могут включать в себя гипервизор 230A, 230n или другой модуль управления виртуальной машиной, который представляет виртуальную операционную платформу, на которой могут работать операционные системы 232A, 232n и виртуальные машины 234A-236A, 234n-236n. Функции гипервизора 230A, 230n и/или операционной системы 232A, 232n могут быть использованы, приспособлены или добавлены для обеспечения такой функциональности, как модуль 238A, 238n управления дублированием (RMM). В соответствии с настоящим раскрытием модуль 238A, 238n управления дублированием может обеспечить такую функциональность, как хранилище, изменения которого (например, разностный диск) были последними изменениями, которые передаются от первичного сайта 220 на сайт 250 восстановления, запрос этих копий в ответ на расписания или другие сигналы инициализации событий, подготовка информации для передачи на сайт 250 восстановления, слияние разностных дисков в их соответствующие родительские диски и т.д. Виртуальное хранилище (не показано) соответствует каждой виртуальной машине, которая может быть сохранена в файлах в памяти 226A, 226n серверов 222A, 222n, локальном хранилище 228A, 228n, кластеризованном хранилище (не показано), если серверы 222A, 222n сконфигурированы в кластере, и т.д. Виртуальное хранилище может быть дублировано, таким образом, моментальные снимки данных хранилища или другие копии, 242A, 242n обеспечиваются для сайта (сайтов) 250 восстановления для аварийного восстановления или других целей. Таким образом, фиг. 2B иллюстрирует, что описанные здесь методики применимы к виртуальному хранилищу, соответствующему виртуальной машине. Следует отметить, что сайт 250 восстановления может включать в себя серверы или другие вычислительные устройства, имеющие аналогичные возможности обработки, памяти, хранилища, виртуальной машины и управления виртуальной машиной, как описано на фиг. 2A и/или 2B.

Фиг. 3 показывает иллюстративный способ, посредством которого среда первичного компьютера/сервера может обеспечить возможность своего аварийного восстановления и дублирования своих данных, когда они изменяются со временем. Фиг. 4A изображает первое состояние дисковой цепочки 404A, и фиг. 4B изображает второе состояние дисковой цепочки 404B. В последующем примере фиг. 3, 4A и 4B упоминаются все вместе.

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

Как показано на этапе 302, изменения виртуального диска 402 могут быть записаны на текущий разностный диск 410A (фиг. 4A), на который может быть выполнена запись в дополнение к чтению. В одном варианте осуществления текущий разностный диск 410A логически находится сверху дисковой цепочки 404A, которая включает в себя базовый образ 406 виртуального диска и любые промежуточные разностные диски 408. Если текущий разностный диск 410A будет первым дочерним разностным диском родительского базового виртуального диска 406, то промежуточных разностных дисков не будет. Кроме того, если промежуточные разностные диски 408 уже были объединены с базовым образом 406 виртуального диска, то промежуточных разностных дисков не будет.

С другой стороны, могут быть разностные диски 408, которые предназначены только для чтения, например, когда моментальный снимок данных или другая копия того разностного диска должны быть сохранены. Чтобы данные моментального снимка данных (который может быть передан для дублирования) соответствовали разностному диску, разностный диск может быть защищен от записи вместе с моментальным снимком данных. В этих случаях может быть один или более разностных дисков 408 только для чтения между базовым образом 406 виртуального диска и текущим разностным диском 410A чтения/записи. Как описано более подробно ниже, цепочка дисков по меньшей мере только для чтения на первичном сайте будет дублироваться на сайте (сайтах) восстановления, и тем самым изображение данных дублированной виртуальной машины поддерживается синхронизированным с соответствующим сервером (серверами) на первичном сайте.

В некоторый момент копия текущего разностного диска 410A чтения-записи будет создана и защищена от записи, как показано на этапе 304. Например, запрос 414 копии текущего разностного диска 410A может быть сделан посредством исполняемого процессором модуля 412 управления дублированием, который может являться службой или функцией гипервизора, базовой операционной системы, операционной системы родительского раздела и т.д. Как отмечено выше, тип копии, которая будет сделана, также может быть отмечен, например, соответствующая отказу копия, в которой данные приложения могут быть не подготовлены для копии. Другой пример - согласованная с приложениями копия, имеющая более высокую вероятность последующего надлежащего возвращения к жизни, которая может включать в себя, например, некоторое уведомление прикладной программе для сброса данных/записей и другой подготовки к моментальному снимку данных или другой копии.

Разностный диск, который был наверху цепочки, помечается как защищенный от записи, как изображено разностным диском 410B только для чтения на фиг. 4B. С этим защищенным от записи диском 410B этап 306 показывает, что новый разностный диск 420 может быть создан как новая вершина дисковой цепочки 404B для замены разностного диска 410B, который только что был скопирован. Этот новая "верхушка дерева" разностного диска 420 примет на себя ответственность обработки операций чтения и записи. В одном варианте осуществления любые необъединенные промежуточные разностные диски 408, 410B и базовый виртуальный диск 406 снизу них остаются защищенными от записи.

В одном варианте осуществления базовый виртуальный диск 406 только для чтения и любые промежуточные разностные диски 408, 410B только для чтения передаются сайту восстановления, где дисковая цепочка будет воссоздана в целях восстановления. Это отмечено на этапе 308, когда разностный диск 410B, который был только что скопирован и защищен от записи, может быть передан для дублированного хранения, например, передан на адрес дублированной виртуальной машины. Таким образом, когда копия 416 получена, она может быть передана сайту восстановления передатчиком, приемопередатчиком, сетевым интерфейсом и/или другим механизмом, изображенным посредством устройства 418 передачи. Пока первичный сайт является рабочим, и больше копий должно быть дублировано, как определено на этапе 310 принятия решения, процесс создания копий и защиты от записи 304, создания новых разностных дисков 306 и передачи моментальных снимков данных 308 может продолжаться. Например, может быть установлена политика дублирования или правила дублирования, чтобы определить, когда должна быть сделана копия, а в случае нескольких типов копии, копия какого типа должна быть сделана.

Фиг. 5 является логической блок-схемой последовательности операций, которая показывает иллюстративный способ, посредством которого изображение данных дублированной виртуальной машины поддерживается синхронизированным с ее дубликатом на первичном сервере. Фиг. 6 изображает дублированный виртуальный диск 600 и дублированную дисковую цепочку 610, которые соответствует сохраненной части виртуального хранилища на первичном сайте, который дублируется. В следующем примере фиг. 5 и 6 упоминаются вместе.

Как показано на этапе 500, дублированная виртуальная машина 600 обеспечена на сайте восстановления, причем дублированная виртуальная машина 600 в значительной степени соответствует первичной виртуальной машине, которая должна быть дублирована. Она может быть передана в электронном виде или доставлена другими средствами. Дублированный виртуальный диск 602 или другое дублированное виртуальное хранилище обеспечиваются, как показано на этапе 502. Дублированный виртуальный диск 602 может включать в себя дублированный базовый виртуальный диск 604, в значительной степени соответствующий первичному базовому виртуальному диску, который должен быть дублирован (например, базовый виртуальный диск 400 на фиг. 4).

Копия разностного диска 606, который соответствует первичному базовому виртуальному диску, например, является дочерним или более дальним потомком первичного базового виртуального диска, принимается, как показано на этапе 504. В одном варианте осуществления принятая копия имеет один из множества возможных типов копий или дублирований. Как показано на этапе 506, принятая копия разностного диска 606 расположена относительно дублированного базового виртуального диска 604 таким образом, как она была расположена относительно первичного базового виртуального диска на первичном сайте. Например, если один или более промежуточных разностных дисков будут существовать на первичном сайте, то копии/моментальные снимки данных этих разностных дисков 608 будут приняты и расположены в цепочке 610 дублированных дисков, как сохраненные разностные диски расположены в первичной цепочке дисков (например, в цепочке 404A/B дисков на фиг. 4A, 4B). Хотя один или более промежуточных разностных дисков 608