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

Возврат к исходной топологии

Сейчас кластер B выполняет роль основного.

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

Для операции нужен токен операций DR. Если пакетного токена нет, сначала выпустите токен операций DR.

Если пакетный токен операций DR уже есть, пропустите выпуск токена и используйте пакетный токен.

1. Генерация токена операций DR на кластере A

Выполните шаги на кластере A.

С помощью веб-интерфейса
  1. На вкладке Аварийное восстановление кластера A нажмите Создать DR operation token.

    failback 1
  2. Нажмите Инициализировать. Для создания токена передайте части ключа распечатывания.

    failback 2
  3. Сохраните одноразовый пароль (OTP).

    failback 3
  4. Передайте части ключа распечатывания.

    failback 4
  5. Скопируйте команду для декодированиятокена операций DR.

    failback 5
  6. Выполните скопированную команду в терминале.

    starvault operator generate-root -dr-token \
      -otp="I4BbXfN0F2biXY53bXx4bKPwU0" \
      -decode="OhobGjUifglzc1oPEwtyfSUWEUAHAT4yPHU"
    Пример вывода:
    s.YxmD095A8fKRGNGNiteJnEiE
С помощью CLI
  1. Запустите генерацию токена операций 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 каждому держателю ключа распечатывания.

  2. Каждый держатель ключа передает свою часть.

    starvault operator generate-root -dr-token \
      -nonce=b4738404-0a11-63aa-2cb6-e77dfd96946f \
      <unseal-key>
  3. Когда передан порог частей, в выводе появляется закодированный токен.

    Пример вывода:
    Nonce            b4738404-0a11-63aa-2cb6-e77dfd96946f
    Started          true
    Progress         3/3
    Complete         true
    Encoded Token    djw4BR1iaDUFIBxaAwpiCC1YGhQHHDMf
  4. Расшифруйте закодированный токен.

    starvault operator generate-root -dr-token \
      -decode="djw4BR1iaDUFIBxaAwpiCC1YGhQHHDMf" \
      -otp="EYHAkPQYvvz93e8iI3pg1maQ"
    Пример вывода:
    s.3epDv29lsVfc0oZadkjs6qRN
С помощью API
  1. Запустите генерацию.

    curl \
      --header "X-Vault-Token: ..." \
      --request POST \
      http://127.0.0.1:8200/v1/sys/replication/dr/secondary/generate-operation-token/attempt

    Сохраните nonce и otp.

  2. Передавайте части ключа распечатывания, пока 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
  3. Расшифруйте encoded_token.

    starvault operator generate-root -dr-token \
      -decode="<encoded-token>" \
      -otp="<otp>"

    Описание запросов см. в разделе Генерация токена операций DR.

2. Повышение роли кластера A

Повысьте роль кластера A до основного. Передайте токен операций DR, полученный при понижении роли кластера A в варианте 1.

С помощью веб-интерфейса

Если в конфигурации кластера не задан cluster_addr, укажите Адрес Primary кластера.

  1. Вернитесь на страницу Аварийное восстановление и нажмите Повысить secondary.

    failback 6
  2. Введите токен операций DR, полученный при понижении роли кластера A.

    failback 7
  3. Нажмите Подтвердить.

С помощью 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

Если в конфигурации кластера не задан cluster_addr, в запросе /v1/sys/replication/dr/secondary/promote явно укажите primary_cluster_addr.

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 до вторичного.

С помощью веб-интерфейса
  1. Откройте пользовательский интерфейс кластера B. Выберите раздел Репликация и нажмите на панель Аварийное восстановление.

  2. Нажмите Понизить primary

    failback 8
  3. В окне описаны последствия понижения роли. Чтобы продолжить, введите Аварийное восстановление и нажмите Понизить.

    failback 9
С помощью 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. Сформируйте токен активации вторичного кластера и скопируйте его.

С помощью веб-интерфейса
  1. Перейдите на страницу Аварийное восстановление и нажмите Добавить secondary.

    failback 10
  2. Заполните поле ID Secondary, например 172.20.0.72, и нажмите Сгенерировать токен.

    failback 11
  3. Нажмите Копировать.

    failback 12
С помощью 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.

С помощью веб-интерфейса

Если в конфигурации кластера не задан cluster_addr, укажите Адрес Primary кластера.

  1. В кластере B перейдите на страницу Аварийное восстановление и нажмите Обновить primary.

    failback 13
  2. Введите токен операций DR и вставьте токен активации вторичного кластера с кластера A.

    failback 14
  3. Нажмите Обновить. На этом возврат ролей завершен.

С помощью CLI
starvault write sys/replication/dr/secondary/update-primary \
  dr_operation_token="<dr-operation-token>" \
  token="<wrapping-token>"
С помощью API

Если в конфигурации кластера не задан cluster_addr, в запросе /v1/sys/replication/dr/secondary/update-primary явно укажите primary_cluster_addr.

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

+ Описание запроса см. в разделе Обновление основного кластера для вторичного.