Возврат к исходной топологии
Сейчас кластер B выполняет роль основного.
Когда кластер A снова в рабочем состоянии, ему можно вернуть роль основного. Для этого повысьте роль кластера A, затем понизьте роль кластера B до вторичного.
Для операции нужен токен операций DR. Если пакетного токена нет, сначала выпустите токен операций DR.
|
Если пакетный токен операций DR уже есть, пропустите выпуск токена и используйте пакетный токен. |
1. Генерация токена операций DR на кластере A
Выполните шаги на кластере A.
С помощью веб-интерфейса
-
На вкладке Аварийное восстановление кластера A нажмите Создать DR operation token.
-
Нажмите Инициализировать. Для создания токена передайте части ключа распечатывания.
-
Сохраните одноразовый пароль (OTP).
-
Передайте части ключа распечатывания.
-
Скопируйте команду для декодированиятокена операций DR.
-
Выполните скопированную команду в терминале.
starvault operator generate-root -dr-token \ -otp="I4BbXfN0F2biXY53bXx4bKPwU0" \ -decode="OhobGjUifglzc1oPEwtyfSUWEUAHAT4yPHU"Пример вывода:s.YxmD095A8fKRGNGNiteJnEiE
С помощью CLI
-
Запустите генерацию токена операций DR.
starvault operator generate-root -dr-token -initПример вывода:A One-Time-Password has been generated for you and is shown in the OTP field. You will need this value to decode the resulting root token, so keep it safe. Nonce b4738404-0a11-63aa-2cb6-e77dfd96946f Started true Progress 0/3 Complete false OTP EYHAkPQYvvz93e8iI3pg1maQ OTP Length 24Передайте
nonceкаждому держателю ключа распечатывания. -
Каждый держатель ключа передает свою часть.
starvault operator generate-root -dr-token \ -nonce=b4738404-0a11-63aa-2cb6-e77dfd96946f \ <unseal-key> -
Когда передан порог частей, в выводе появляется закодированный токен.
Пример вывода:Nonce b4738404-0a11-63aa-2cb6-e77dfd96946f Started true Progress 3/3 Complete true Encoded Token djw4BR1iaDUFIBxaAwpiCC1YGhQHHDMf -
Расшифруйте закодированный токен.
starvault operator generate-root -dr-token \ -decode="djw4BR1iaDUFIBxaAwpiCC1YGhQHHDMf" \ -otp="EYHAkPQYvvz93e8iI3pg1maQ"Пример вывода:s.3epDv29lsVfc0oZadkjs6qRN
С помощью API
-
Запустите генерацию.
curl \ --header "X-Vault-Token: ..." \ --request POST \ http://127.0.0.1:8200/v1/sys/replication/dr/secondary/generate-operation-token/attemptСохраните
nonceиotp. -
Передавайте части ключа распечатывания, пока
completeне станетtrue.curl \ --header "X-Vault-Token: ..." \ --request POST \ --data '{"key": "<unseal-key>", "nonce": "<nonce>"}' \ http://127.0.0.1:8200/v1/sys/replication/dr/secondary/generate-operation-token/update -
Расшифруйте
encoded_token.starvault operator generate-root -dr-token \ -decode="<encoded-token>" \ -otp="<otp>"Описание запросов см. в разделе Генерация токена операций DR.
2. Повышение роли кластера A
Повысьте роль кластера A до основного. Передайте токен операций DR, полученный при понижении роли кластера A в варианте 1.
С помощью веб-интерфейса
|
Если в конфигурации кластера не задан |
-
Вернитесь на страницу Аварийное восстановление и нажмите Повысить secondary.
-
Введите токен операций DR, полученный при понижении роли кластера A.
-
Нажмите Подтвердить.
С помощью CLI
starvault write sys/replication/dr/secondary/promote \
dr_operation_token="s.3epDv29lsVfc0oZadkjs6qRN"
WARNING! The following warnings were returned from Vault:
* This cluster is being promoted to a replication primary. Vault will be
unavailable for a brief period and will resume service shortly.
С помощью API
|
Если в конфигурации кластера не задан |
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data '{"dr_operation_token": "<dr-operation-token>"}' \
http://127.0.0.1:8200/v1/sys/replication/dr/secondary/promote
+ Описание запроса см. в разделе Повышение роли вторичного кластера.
3. Понижение роли кластера B
Понизьте роль кластера B до вторичного.
С помощью веб-интерфейса
-
Откройте пользовательский интерфейс кластера B. Выберите раздел Репликация и нажмите на панель Аварийное восстановление.
-
Нажмите Понизить primary
-
В окне описаны последствия понижения роли. Чтобы продолжить, введите
Аварийное восстановлениеи нажмите Понизить.
С помощью CLI
starvault write -f sys/replication/dr/primary/demote
WARNING! The following warnings were returned from Vault:
* This cluster is being demoted to a replication secondary. Vault will be
unavailable for a brief period and will resume service shortly.
С помощью API
curl \
--header "X-Vault-Token: ..." \
--request POST \
http://127.0.0.1:8200/v1/sys/replication/dr/primary/demote
+ Описание запроса см. в разделе Понижение роли основного кластера.
4. Токен активации вторичного кластера
Вернитесь на кластер A. Сформируйте токен активации вторичного кластера и скопируйте его.
С помощью веб-интерфейса
-
Перейдите на страницу Аварийное восстановление и нажмите Добавить secondary.
-
Заполните поле ID Secondary, например
172.20.0.72, и нажмите Сгенерировать токен.
-
Нажмите Копировать.
С помощью CLI
starvault write sys/replication/dr/primary/secondary-token id="clusterB"
Сохраните wrapping_token. Он понадобится для sys/replication/dr/secondary/update-primary.
С помощью API
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data '{"id": "clusterB"}' \
http://127.0.0.1:8200/v1/sys/replication/dr/primary/secondary-token
+
Сохраните wrap_info.token. Описание запроса см. в разделе Генерация токена активации вторичного кластера.
5. Назначение кластера A основным для кластера B
Вернитесь на кластер B. Передайте токен операций DR, выпущенный при повышении роли кластера B, и токен активации, скопированный с кластера A.
Если токена операций DR больше нет, выпустите новый. Порядок приведен в статье Генерация токена операций DR.
С помощью веб-интерфейса
|
Если в конфигурации кластера не задан |
-
В кластере B перейдите на страницу Аварийное восстановление и нажмите Обновить primary.
-
Введите токен операций DR и вставьте токен активации вторичного кластера с кластера A.
-
Нажмите Обновить. На этом возврат ролей завершен.
С помощью CLI
starvault write sys/replication/dr/secondary/update-primary \
dr_operation_token="<dr-operation-token>" \
token="<wrapping-token>"
С помощью API
|
Если в конфигурации кластера не задан |
curl \
--header "X-Vault-Token: ..." \
--request POST \
--data '{"dr_operation_token": "<dr-operation-token>", "token": "<wrapping-token>"}' \
http://127.0.0.1:8200/v1/sys/replication/dr/secondary/update-primary
+ Описание запроса см. в разделе Обновление основного кластера для вторичного.