Миграция учетной записи Azure Cosmos DB из периодического режима резервного копирования в непрерывный

Область применения: Nosql Mongodb Гремлин Таблица

Учетные записи Azure Cosmos DB с политикой периодического резервного копирования можно перенести в непрерывный режим с помощью шаблонов портал Azure, CLI, PowerShell или Resource Manager. Миграция из периодического режима в непрерывный является однонаправленной и необратимой. После миграции из периодического режима в непрерывный можно использовать все преимущества второго.

Ниже приведены основные причины миграции в непрерывный режим:

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

Примечание.

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

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

  • Если учетная запись имеет тип API для NoSQL, API для таблицы, Gremlin или API для MongoDB.
  • если учетная запись имеет один регион записи;
  • если учетная запись не включена с помощью аналитического хранилища.

Если учетная запись использует ключи, управляемые клиентом, управляемое удостоверение (назначаемое системой или назначаемое пользователем) должно быть объявлено в политике доступа Key Vault и должно быть установлено в качестве удостоверения по умолчанию в учетной записи.

Разрешения

Для выполнения миграции требуется разрешение Microsoft.DocumentDB/databaseAccounts/write для переносимой учетной записи.

Стоимость после миграции

Когда вы перенесете свою учетную запись в режим непрерывного резервного копирования, затраты изменятся по сравнению с режимом периодического резервного копирования. Выбор 30-дневного уровня вместо 7-дневного также повлияет на стоимость резервного копирования. Дополнительные сведения см. в разделе о стоимости резервного копирования в непрерывном режиме.

Миграция с помощью портала

Выполните следующие действия, чтобы перенести учетную запись из периодического режима резервного копирования в непрерывный:

  1. Войдите на портал Azure.

  2. Перейдите к учетной записи Azure Cosmos DB и откройте область резервного копирования и восстановления . Перейдите на вкладку Политики резервного копирования и выберите Изменить. Выбрав целевой непрерывный режим, нажмите кнопку Сохранить.

    Migrate to continuous mode using Azure portal

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

    Check the status of migration from Azure portal

Миграция с помощью PowerShell

  1. Установите последнюю версию Azure PowerShell или версию выше 6.2.0.

  2. Чтобы включить режим Continous7Days для подготовки или миграции, вам необходимо использовать предварительную версию расширения cosmosdb. Использование Install-Module -Name Az.CosmosDB -AllowPrerelease

  3. Затем выполните следующие действия:

    1. Подключитесь к учетной записи Azure:

      Connect-AzAccount
      
    2. Перенесите учетную запись из периодического режима резервного копирования в непрерывный с уровнем continuous30days или continuous7days днями. Если значение уровня не указано, предполагается continuous30days:

      Update-AzCosmosDBAccount ` 
         -ResourceGroupName "myrg" ` 
         -Name "myAccount" `
         -BackupPolicyType "Continuous"
      
         Update-AzCosmosDBAccount ` 
         -ResourceGroupName "myrg" ` 
         -Name "myAccount" `
         -BackupPolicyType "Continuous" `
         -ContinuousTier "Continuous7Days"
      

Миграция с помощью CLI

  1. Установите последнюю версию Azure CLI:
  • Если вы еще не установили Azure CLI, перейдите в раздел Установка Azure CLI. Кроме того, можно использовать Azure Cloud Shell на портале Azure.
  1. Войдите в учетную запись Azure и выполните следующую команду, чтобы перевести учетную запись в непрерывный режим:

    az login
    
  2. Перенесите учетную запись на уровень continuous30days или continuous7days. Если значение уровня не указано, предполагается continuous30days:

    az cosmosdb update -n <myaccount> -g <myresourcegroup> --backup-policy-type continuous
    
    az cosmosdb update -g "my-rg" -n "my-continuous-backup-account" --backup-policy-type "Continuous" --continuous-tier "Continuous7Days"
    
  3. После успешного завершения миграции в выходных данных отобразится объект backupPolicy, который включает свойство type со значением Continuous.

     {
       "apiProperties": null,
       "backupPolicy": {
            "continuousModeProperties": {
                    "tier": "Continuous7Days"
            },
            "migrationState": null,
            "type": "Continuous"
       },
          …
     }
    

Проверка состояния миграции

Выполните следующую команду и проверьте свойства status и targetType объекта backupPolicy. После запуска миграции отобразится состояние in-progress:

az cosmosdb show -n "myAccount" -g "myrg"

Check the migration status using PowerShell command

После завершения миграции тип резервного копирования изменится на Непрерывное и отобразится выбранный уровень. Если уровень не был указан, будет задано значение Continuous30Days. Чтобы проверить состояние, выполните ту же команду:

az cosmosdb show -n "myAccount" -g "myrg"

Backup type changes to continuous after the migration is complete

Миграция с периодического режима на непрерывный с помощью шаблона Resource Manager

Чтобы выполнить миграцию в непрерывный режим резервного копирования с помощью шаблона ARM, найдите в шаблоне раздел backupPolicy и измените свойство type. Например, если существующий шаблон содержит такую политику резервного копирования, как следующий объект JSON:

"backupPolicy": {
   "type": "Periodic",
   "periodicModeProperties": {
   "backupIntervalInMinutes": 240,
   "backupRetentionIntervalInHours": 8
   }
}

Замените его следующим объектом JSON:

"backupPolicy": { 
   "type": "Continuous", 
   "continuousModeProperties": { 
      "tier": "Continuous7Days" 
    } 
} 

Затем разверните шаблон с помощью Azure PowerShell или CLI. В следующем примере показано, как развернуть шаблон с помощью команды CLI:

az deployment group create -g <ResourceGroup> --template-file <ProvisionTemplateFilePath>

Изменение уровней непрерывного режима

Вы можете переключаться между Continuous30Days и Continous7Days с помощью Azure PowerShell, Azure CLI и портала Azure.

На портале для указанной учетной записи Azure Cosmos DB выберите область "Восстановление точки во времени", выберите ссылку на изменение рядом с режимом политики резервного копирования, чтобы отобразить параметр "Непрерывный" (30 дней) или "Непрерывный" (7 дней). Выберите необходимый целевой объект и нажмите кнопку Сохранить.

Screenshot of dialog to select tier of continuous mode.

Следующая команда Azure CLI переключает существующую учетную запись на Continous7Days:

az cosmosdb update \ 
    --resource-group "my-rg" \ 
    --name "my-continuous-backup-account" \ 
    --backup-policy-type "Continuous" \ 
    --continuous-tier "Continuous7Days" 

Следующая команда Azure PowerShell переключает существующую учетную запись на Continous7Days:

Update-AzCosmosDBAccount ` 
    -ResourceGroupName "myrg" ` 
    -Name "myAccount" `
    -BackupPolicyType Continuous `
    -ContinuousTier Continuous7Days

Вы также можете использовать шаблон ARM аналогично использованию Azure CLI и Azure PowerShell.

Примечание.

При переходе с 30-дневного на 7-дневный уровень сразу становится недоступной возможность восстановления данных более чем за 7 дней. При переходе с 7-дневного на 30-дневный уровень вы не сможете сразу восстановить данные более чем за 7 дней. Самое раннее время восстановления можно извлечь из метаданных учетной записи с помощью Azure PowerShell или Azure CLI. Влияние переключения между 7-дневным и 30-дневным уровнями на цену также будет заметно сразу.

Что ожидать во время и после миграции?

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

Учетную запись можно восстановить после завершения миграции. Если миграция завершится в 13:00 по Тихоокеанскому времени, восстановление до точки во времени можно будет выполнить начиная с 13:00 по Тихоокеанскому времени.

Часто задаваемые вопросы

Миграция выполняется только на уровне учетной записи?

Да.

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

В настоящее время API для NoSQL, API для таблиц, API Gremlin и API для учетных записей MongoDB с одним регионом записи с общим, подготовленным или автомасштабированием подготовленной пропускной способности поддерживает миграцию.

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

Занимает ли миграция время? Какова типичная длительность?

Длительность миграция может быть разной в зависимости от размера данных и количества регионов в вашей учетной записи. Состояние миграции можно получить с помощью команд Azure CLI или PowerShell. Для больших учетных записей с десятками терабайт данных миграция может занять до нескольких дней.

Влияет ли миграция на доступность и приводит ли к простоям?

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

Что произойдет, если миграция не выполнится? Я буду по-прежнему получать периодические резервные копии или уже непрерывные?

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

Как выполнить восстановление на определенную метку времени до, во время или после миграции?

Предположим, что вы начали миграцию в t1 и завершили в t5. Вы не можете использовать метки времени восстановления между t1 и t5.

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

Чтобы выполнить восстановление на момент времени до t1, можно создать запрос в службу поддержки, как это обычно делается при работе с учетной записью в периодическом режиме резервного копирования. После миграции периодическое восстановление можно выполнить в течение 30 дней. В течение этих 30 дней можно выполнить восстановление на основе срока хранения резервной копии или интервала резервного копирования учетной записи до миграции. Например, если конфигурация резервного копирования предусматривала сохранение 24 копий с интервалом в 1 час, можно выполнить восстановление на любой момент времени между (t1 – 24 hours) и t1.

Какие операции уровня управления на уровне учетной записи блокируются во время миграции?

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

Если миграция завершится сбоем из-за какой-либо основной проблемы, будет ли она блокировать операции уровня управления до повторной попытки и успешного завершения?

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

Можно ли отменить миграцию?

Отменить миграцию невозможно, так как это необратимая операция.

Существует ли инструмент, с помощью которого можно оценить время миграции на основе использования данных и количества регионов?

Инструмент для оценки времени не существует. Наши тесты и масштабные запуски показывают, что для учетной записи одного региона с 1 ТБ данных требуется примерно 90 минут.

Для учетных записей с несколькими регионами общий объем данных можно вычислить по следующей формуле: Number_of_regions * Data_in_single_region.

Учитывая, что режим непрерывного резервного копирования теперь предоставляется в общедоступной версии, вы все еще рекомендуете восстанавливать копию своей учетной записи? Вы бы порекомендовали попробовать выполнить миграцию с копией, прежде чем принять решение о переносе рабочей учетной записи?

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

Следующие шаги

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