Архивация неуправляемых дисков виртуальной машины Azure с помощью добавочных моментальных снимков

Область применения: ✔️ Виртуальные машины Windows

Обзор

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

Диски виртуальной машины Azure хранятся в службе хранилища Azure как страничные BLOB-объекты. Так как в статье рассматривается стратегия резервного копирования для дисков виртуальной машины, то говорить о моментальных снимках мы будем в контексте страничных BLOB-объектов. Дополнительные сведения о моментальных снимках см. в статье Создание моментального снимка BLOB-объекта.

Что такое моментальный снимок?

Моментальный снимок большого двоичного объекта — это доступная только для чтения версия большого двоичного объекта, созданная в определенный момент времени. После создания моментального снимка его можно читать, копировать или удалять, но нельзя изменять. Моментальные снимки обеспечивают способ резервного копирования BLOB-объекта в том виде, в котором он находится в данный момент времени. До REST версии 2015-04-05 можно было копировать полные моментальные снимки. Начиная с REST версии 2015-07-08 и выше стало возможным копировать добавочные моментальные снимки.

Копирование полных моментальных снимков

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

Примечание

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

Архивация дисков с помощью моментальных снимков

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

Восстановление дисков с помощью моментальных снимков

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

Реализация копирования полных моментальных снимков

Копирование полных моментальных снимков можно реализовать, выполнив следующее.

Копирование добавочных моментальных снимков

Новая функция в API GetPageRanges обеспечивает намного более эффективное резервное копирование моментальных снимков для страничных BLOB-объектов или дисков. Этот API возвращает список изменений в базовом большом двоичном объекте по сравнению с моментальными снимками, что позволяет уменьшить объем хранилища, используемого в учетной записи резервного копирования. Этот API поддерживает страничные BLOB-объекты в хранилищах уровней "Премиум" и "Стандартный". С помощью этого API можно создавать более быстрые и эффективные решения резервного копирования для виртуальных машин Azure. Этот API будет доступен в REST версии 2015-07-08 и выше.

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

  • между базовым большим двоичным объектом и его моментальным снимком ИЛИ
  • между любыми двумя моментальными снимками базового большого двоичного объекта.

Ниже указаны поддерживаемые условия.

  • BLOB-объект был создан 1 января 2016 г. или позже.
  • BLOB-объект не был перезаписан с помощью операций PutPage или копирования BLOB-объекта между двумя моментальными снимками.

Примечание

Эта функция доступна для страничных BLOB-объектов Azure класса Премиум или "Стандартный".

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

Реализация копирования добавочных моментальных снимков

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

  • Создайте моментальный снимок базового BLOB-объекта с помощью операции создания моментального снимка BLOB-объекта.
  • Затем скопируйте этот моментальный снимок в целевую учетную запись хранения резервных копий в том же или другом регионе Azure с помощью операции копирования BLOB-объекта. Это будет резервный страничный BLOB-объект. Создайте моментальный снимок резервного страничного BLOB-объекта и сохраните его в учетной записи резервного копирования.
  • Создайте другой моментальный снимок базового BLOB-объекта с помощью операции создания моментального снимка BLOB-объекта.
  • Получите разницу между первым и вторым моментальными снимками базового большого двоичного объекта с помощью операции GetPageRanges. Используйте новый параметр prevsnapshot, чтобы указать значение DateTime моментального снимка, разницу с которым вы хотите получить. При наличии этого параметра ответ REST содержит только страницы, которые были изменены в целевом моментальном снимке с момента создания предыдущего моментального снимка, включая пустые страницы.
  • С помощью операции PutPage примените эти изменения к архивному страничному BLOB-объекту.
  • Наконец, создайте моментальный снимок архивного страничного BLOB-объекта и сохраните его в архивной учетной записи хранения.

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

Сценарий

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

Рассмотрим виртуальную машину Azure серии DS с подключенным диском P30 хранилища уровня "Премиум". Диск P30 с названием mypremiumdisk хранится в учетной записи хранения класса "Премиум" с названием mypremiumaccount. Учетная запись хранения mybackupstdaccount класса "Стандартный" используется для хранения резервной копии mypremiumdisk. Нам нужно сохранять моментальный снимок mypremiumdisk каждые 12 часов.

Сведения о создании учетной записи хранения см. в разделе Создание учетной записи хранения.

Сведения о резервном копировании виртуальных машин Azure см. в разделе Планирование инфраструктуры резервного копирования виртуальных машин в Azure.

Хранение архивов диска с помощью добавочных моментальных снимков

Далее описано, как создавать моментальные снимки для mypremiumdisk и хранить резервные копии в mybackupstdaccount. Резервная копия представляет собой стандартный страничный BLOB-объект с именем mybackupstdpageblob. Резервный страничный BLOB-объект всегда отражает состояние последнего моментального снимка mypremiumdisk.

  1. Создайте резервный страничный BLOB-объект для диска хранилища класса "Премиум", используя моментальный снимок с именем mypremiumdisk_ss1 для диска mypremiumdisk.
  2. Скопируйте этот моментальный снимок в mybackupstdaccount как страничный BLOB-объект с именем mybackupstdpageblob.
  3. Создайте моментальный снимок mybackupstdpageblob с именем mybackupstdpageblob_ss1 с помощью операции создания моментального снимка BLOB-объекта и сохраните его в mybackupstdaccount.
  4. Во время окна резервного копирования создайте другой моментальный снимок mypremiumdisk, например mypremiumdisk_ss2, и сохраните его в mypremiumaccount.
  5. Получите добавочные изменения между моментальными снимками mypremiumdisk_ss2 и mypremiumdisk_ss1 с помощью операции GetPageRanges в mypremiumdisk_ss2, где для параметра prevsnapshot задано значение метки времени mypremiumdisk_ss1. Запишите эти добавочные изменения в резервную копию страничного BLOB-объекта mybackupstdpageblob, расположенного в mybackupstdaccount. Если добавочные изменения содержат какие-либо удаленные диапазоны, их следует удалить из архивного страничного BLOB-объекта. С помощью операции PutPage запишите добавочные изменения в архивный страничный BLOB-объект.
  6. Создайте моментальный снимок резервной копии страничного BLOB-объекта mybackupstdpageblob с именем mybackupstdpageblob_ss2. Удалите предыдущий моментальный снимок mypremiumdisk_ss1 из учетной записи хранения класса "Премиум".
  7. Повторите шаги 4–6 в каждом окне архивации. Так вы сможете хранить архивы mypremiumdisk в учетной записи хранения класса "Стандартный".

Архивация диска с помощью добавочных моментальных снимков

Восстановление диска из моментальных снимков

Далее описано, как восстановить диск класса "Премиум" mypremiumdisk до более раннего моментального снимка из учетной записи хранилища резервных копий mybackupstdaccount.

  1. Определите момент времени, до которого вы хотите восстановить диск класса "Премиум". Предположим, что это моментальный снимок mybackupstdpageblob_ss2, который хранится в учетной записи хранилища резервных копий mybackupstdaccount.
  2. В mybackupstdaccount повысьте уровень моментального снимка mybackupstdpageblob_ss2 до новой резервной копии базового страничного BLOB-объекта mybackupstdpageblobrestored.
  3. Создайте моментальный снимок восстановленного из резервной копии страничного BLOB-объекта с именем mybackupstdpageblob_ss1.
  4. Скопируйте восстановленный страничный BLOB-объект mybackupstdpageblobrestored из mybackupstdaccount в mypremiumaccount как новый диск класса "Премиум" mypremiumdiskrestored.
  5. Создайте моментальный снимок mypremiumdiskrestored с именем mypremiumdiskrestored_ss1 для дальнейшего добавочного резервного копирования.
  6. Укажите виртуальной машине серии DS восстановленный диск mypremiumdiskrestored и отключите от нее старый mypremiumdisk.
  7. Начните процесс резервного копирования, описанный в предыдущем разделе, для восстановленного диска mypremiumdiskrestored, используя mybackupstdpageblobrestored в качестве резервной копии страничного BLOB-объекта.

Восстановление диска из моментальных снимков

Next Steps

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