Создание реплик чтения и управление ими в Базе данных Azure для MariaDB с помощью Azure CLI и REST API

Важно!

База данных Azure для MariaDB находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить миграцию в База данных Azure для MySQL. Дополнительные сведения о переходе на База данных Azure для MySQL см. в статье "Что происходит с База данных Azure для MariaDB?".

В этой статье вы узнаете как создавать реплики чтения и управлять ими в службе Базы данных Azure для MariaDB с помощью Azure CLI и REST API.

Azure CLI

Вы можете создавать реплики чтения и управлять ими с помощью Azure CLI.

Необходимые компоненты

Важно!

Функция создания реплики чтения доступна только для серверов службы "База данных Azure для MariaDB" в ценовой категории "Общего назначения" или "Оптимизированная для операций в памяти". Убедитесь, что исходный сервер находится в одной из этих ценовых категорий.

Создание реплики чтения

Важно!

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

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

az mariadb server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup

Для команды az mariadb server replica create обязательны указанные ниже параметры.

Параметр Пример значения Описание
resource-group  myresourcegroup  Группа ресурсов, в которой будет создан сервер реплики. 
name mydemoreplicaserver Имя нового сервера реплики, который создается.
source-server mydemoserver Имя или идентификатор имеющегося исходного сервера для репликации.

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

В приведенном ниже примере CLI создается реплика в западной части США.

az mariadb server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus

Примечание.

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

Примечание.

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

Вывод списка реплик для исходного сервера

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

az mariadb server replica list --server-name mydemoserver --resource-group myresourcegroup

Для команды az mariadb server replica list обязательны указанные ниже параметры.

Параметр Пример значения Описание
resource-group  myresourcegroup  Группа ресурсов, в которой будет создан сервер реплики. 
server-name mydemoserver Имя или идентификатор исходного сервера.

Остановка репликации на сервер-реплику

Важно!

Остановка репликации на сервер является необратимой операцией. Остановку репликации между исходным сервером и сервером реплики отменить невозможно. Сервер-реплика становится автономным и начинает поддерживает операции чтения и записи. Это сервер нельзя снова преобразовать в реплику.

Репликацию на сервер реплики чтения можно остановить, выполнив следующую команду:

az mariadb server replica stop --name mydemoreplicaserver --resource-group myresourcegroup

Для команды az mariadb server replica stop обязательны указанные ниже параметры.

Параметр Пример значения Описание
resource-group  myresourcegroup  Группа ресурсов, в которой находится сервер реплики. 
name mydemoreplicaserver Имя сервера реплики для остановки репликации.

Удаление сервера-реплики

Сервер реплики чтения можно удалить, выполнив команду az mariadb server delete.

az mariadb server delete --resource-group myresourcegroup --name mydemoreplicaserver

Удаление исходного сервера

Важно!

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

Чтобы удалить исходный сервер, вы можете выполнить команду az mariadb server delete.

az mariadb server delete --resource-group myresourcegroup --name mydemoserver

REST API

Вы можете создавать реплики чтения и управлять ими с помощью REST API Azure.

Создание реплики чтения

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

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}"
  }
}

Примечание.

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

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

При создании реплики используются те же параметры вычислений и хранилища, что и у главного сервера. После создания реплики вы можете независимо от исходного сервера изменять следующие ее параметры: поколение вычислительных ресурсов, виртуальные ядра, хранилище и период хранения резервных копий. Изменить также можно ценовую категорию (за исключением уровня "Базовый").

Важно!

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

Список реплик

Список реплик исходного сервера можно просмотреть с помощью API списка реплик:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}/Replicas?api-version=2017-12-01

Остановка репликации на сервер-реплику

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

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

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

Удаление исходного сервера или сервера-реплики

Чтобы удалить исходный сервер или сервер-реплику, используйте API удаления:

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

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}?api-version=2017-12-01

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