Как выполнить резервное копирование и восстановление сервера в базе данных Azure для PostgreSQL — отдельный сервер с использованием Azure CLI

Область применения: отдельный сервер Базы данных Azure для PostgreSQL

Внимание

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

Чтобы обеспечить возможность восстановления, для серверов службы "База данных Azure для PostgreSQL" периодически выполняется резервное копирование. С помощью этой функции можно восстановить сервер и все его базы данных до более ранней точки во времени на новом сервере.

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

Для работы с этим руководством должны быть выполнены следующие условия.

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  • Для работы с этой статьей требуется Azure CLI версии 2.0 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

Настройка конфигурации резервного копирования

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

Примечание.

После создания сервера тип избыточности (локальная или географическая) изменить нельзя.

При создании сервера с помощью команды az postgres server create параметр --geo-redundant-backup определяет тип избыточности для резервного копирования. Если установлено значение Enabled, выполняется геоизбыточное резервное копирование. Если установлено значение Disabled, выполняется локальное избыточное резервное копирование.

Период хранения резервных копий устанавливается с помощью параметра --backup-retention-days.

Дополнительные сведения о настройке этих значений при создании см. в статье Создание сервера базы данных Azure для MySQL с помощью Azure CLI.

Вот как можно изменить срок хранения резервной копии сервера.

az postgres server update --name mydemoserver --resource-group myresourcegroup --backup-retention 10

В указанном выше примере период хранения резервных копий mydemoserver изменен на 10 дней.

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

Восстановление сервера до точки во времени

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

Чтобы выполнить восстановление сервера, используйте команду Azure CLI az postgres server restore.

Выполнение команды restore

Для восстановления сервера в командной строке Azure CLI введите следующую команду:

az postgres server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time 2018-03-13T13:59:00Z --source-server mydemoserver

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

Параметр Предлагаемое значение Описание
resource-group  myresourcegroup  Группа ресурсов, в которой находится исходный сервер. 
name mydemoserver-restored Имя нового сервера, созданного командой restore.
restore-point-in-time 2018-03-13T13:59:00Z Выберите точку во времени, до которой необходимо выполнить восстановление. Значения даты и времени должны находиться в пределах срока хранения резервной копии исходного сервера. Используйте формат даты и времени ISO8601. Можно использовать местный часовой пояс, например 2018-03-13T05:59:00-08:00. Также можно использовать формат UTC Zulu, например 2018-03-13T13:59:00Z.
source-server mydemoserver Имя или идентификатор исходного сервера, с которого необходимо выполнить восстановление.

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

Значения расположения и ценовой категории для восстановленного сервера совпадают со значениями исходного сервера.

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

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

Геовосстановление

Если вы настроили сервер для геоизбыточного резервного копирования, из резервной копии можно создать новый сервер. Его можно создать в любом регионе, где доступна службы "База данных Azure для PostgreSQL".

Чтобы создать сервер с помощью геоизбыточного резервного копирования, выполните команду Azure CLI az postgres server georestore.

Примечание.

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

Для геовосстановления сервера в командной строке Azure CLI введите следующую команду.

az postgres server georestore --resource-group myresourcegroup --name mydemoserver-georestored --source-server mydemoserver --location eastus --sku-name GP_Gen5_8 

С помощью этой команды можно создать сервер mydemoserver-georestored в восточной части США, который будет принадлежать группе ресурсов myresourcegroup. Это сервер общего назначения 5-го поколения с 8 виртуальными ядрами. Он создан на основе геоизбыточных резервных копий mydemoserver, которые также расположены в группе ресурсов myresourcegroup.

Если необходимо создать сервер в другой группе ресурсов с имеющегося сервера, в параметре --source-server необходимо определить имя сервера следующим образом.

az postgres server georestore --resource-group newresourcegroup --name mydemoserver-georestored --source-server "/subscriptions/$<subscription ID>/resourceGroups/$<resource group ID>/providers/Microsoft.DBforPostgreSQL/servers/mydemoserver" --location eastus --sku-name GP_Gen5_8

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

Параметр Предлагаемое значение Описание
resource-group myresourcegroup Имя группы ресурсов, к которой будет принадлежать новый сервер.
name mydemoserver-georestored Имя нового сервера.
source-server mydemoserver Имя имеющегося сервера, геоизбыточные резервные копии которого используются.
расположение eastus Расположение нового сервера.
sku-name GP_Gen5_8 Этот параметр определяет ценовую категорию, поколение вычислительных ресурсов и количество виртуальных ядер нового сервера. GP_Gen5_8 сопоставляется с сервером общего назначения 5-го поколения с 8 виртуальными ядрами.

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

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

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

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