[ English | Deutsch | Indonesia | русский | English (United Kingdom) ]

Доступность для мультирегиональных объектных хранилищ

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

Важно

It is recommended to perform the following steps before a failure occurs to avoid having to dump and restore the database.

Если произошел сбой, выполните следующие действия для восстановления базы данных из основного (сбойного) региона:

  1. Запишите вывод основного региона для default_project_id указанного пользователя из таблицы пользователей в базе данных keystone:

    Примечание

    В данном примере пользователем является admin.

    # mariadb -e "SELECT default_project_id from keystone.user WHERE \
      name='admin';"
    
    +----------------------------------+
    | default_project_id               |
    +----------------------------------+
    | 76ef6df109744a03b64ffaad2a7cf504 |
    +-----------------—————————————————+
    
  2. Запишите вывод вторичного региона для default_project_id указанного пользователя из таблицы пользователей в базе данных keystone:

    # mariadb -e "SELECT default_project_id from keystone.user WHERE \
      name='admin';"
    
    +----------------------------------+
    | default_project_id               |
    +----------------------------------+
    | 69c46f8ad1cf4a058aa76640985c     |
    +----------------------------------+
    
  3. In the Secondary Region, update the references to the project_id to match the ID from the Primary Region:

    # export PRIMARY_REGION_TENANT_ID="76ef6df109744a03b64ffaad2a7cf504"
    # export SECONDARY_REGION_TENANT_ID="69c46f8ad1cf4a058aa76640985c"
    
    # mariadb -e "UPDATE keystone.assignment set \
    target_id='${PRIMARY_REGION_TENANT_ID}' \
    WHERE target_id='${SECONDARY_REGION_TENANT_ID}';"
    
    # mariadb -e "UPDATE keystone.user set \
    default_project_id='${PRIMARY_REGION_TENANT_ID}' WHERE \
    default_project_id='${SECONDARY_REGION_TENANT_ID}';"
    
    # mariadb -e "UPDATE keystone.project set \
    id='${PRIMARY_REGION_TENANT_ID}' WHERE \
    id='${SECONDARY_REGION_TENANT_ID}';"
    

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