[ English | русский | Deutsch | 한국어 (대한민국) | English (United Kingdom) | Indonesia ]

Aksesibilitas untuk r multi-region Object Storage

Dalam multi-region Object Storage menggunakan backend database terpisah, objek dapat diambil dari lokasi alternatif jika default_project_id untuk pengguna dalam database keystone adalah sama di setiap backend database.

Penting

Dianjurkan untuk melakukan langkah-langkah berikut sebelum terjadi kegagalan untuk menghindari harus membuang dan mengembalikan database.

Jika terjadi kegagalan, ikuti langkah-langkah ini untuk memulihkan database dari Primary (failed) Region:

  1. Rekam output Primary Region dari default_project_id untuk pengguna yang ditentukan dari tabel pengguna di database keystone:

    Catatan

    Pengguna adalah admin dalam contoh ini.

    # mysql -e "SELECT default_project_id from keystone.user WHERE \
      name='admin';"
    
    +----------------------------------+
    | default_project_id               |
    +----------------------------------+
    | 76ef6df109744a03b64ffaad2a7cf504 |
    +-----------------—————————————————+
    
  2. Rekam output Secondary Region dari default_project_id untuk pengguna yang ditentukan dari tabel pengguna di database keystone:

    # mysql -e "SELECT default_project_id from keystone.user WHERE \
      name='admin';"
    
    +----------------------------------+
    | default_project_id               |
    +----------------------------------+
    | 69c46f8ad1cf4a058aa76640985c     |
    +----------------------------------+
    
  3. Di Secondary Region, perbarui referensi ke project_id untuk mencocokkan ID dari Primary Region:

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

Pengguna di Secondary Region sekarang memiliki akses ke objek PUT di Primary Region. Secondary Region dapat PUT objek yang dapat diakses oleh pengguna di Primary Region.