La configuration par défaut de VMware Integrated OpenStack peut être insuffisante pour les opérations de sauvegarde Cinder avec simultanéité élevée ou grands volumes.

Problème

Lorsque vous augmentez la simultanéité des opérations de sauvegarde Cinder ou la taille des volumes Cinder, les opérations peuvent échouer et des erreurs GetResourceFailure peuvent figurer dans les journaux.

Solution

  1. Augmentez la charge du plan de contrôle et le nombre d'espaces de sauvegarde Cinder.
    Chaque nœud de contrôleur ne peut contenir qu'un seul espace de sauvegarde Cinder.
    1. Augmentez le nombre de nœuds de contrôleur dans votre déploiement.
    2. Augmentez le nombre d'espaces de sauvegarde Cinder dans votre déploiement.
  2. Connectez-vous à Integrated OpenStack Manager en tant qu'utilisateur root.
    ssh root@mgmt-server-ip
  3. Mettez à jour le délai de réponse RPC et la taille du pool de threads de l'exécuteur pour Cinder.
    1. Modifiez la configuration Cinder.
      viocli update cinder
    2. Dans la section DEFAULT, ajoutez le paramètre rpc_response_timeout et définissez sa valeur sur 6000.
    3. Ajoutez le paramètre executor_thread_pool_size et définissez sa valeur sur 640.
      Le fichier de configuration a maintenant l'aspect suivant.
      conf:
        backends:
          [...]
        cinder:
          DEFAULT:
            [...]
            rpc_response_timeout: 6000
            executor_thread_pool_size: 640
  4. Mettez à jour les paramètres de délai d'expiration de la base de données et de connexion maximum.
    1. Modifiez la configuration MariaDB.
      viocli update mariadb
    2. Dans la section conf, ajoutez le paramètre connect_timeout et définissez sa valeur sur 5.
    3. Ajoutez le paramètre max_connections et définissez sa valeur sur 5000.
    4. Ajoutez le paramètre net_read_timeout et définissez sa valeur sur 1200.
    5. Ajoutez le paramètre net_write_timeout et définissez sa valeur sur 1200.
    6. Dans la section conf, ajoutez la section ingress.
    7. Dans la section ingress, ajoutez le paramètre proxy-read-timeout et définissez sa valeur sur 1200.
    8. Ajoutez le paramètre proxy-send-timeout et définissez sa valeur sur 1200.
    9. Ajoutez le paramètre proxy-stream-timeout et définissez sa valeur sur 3600s.
      Le fichier de configuration a maintenant l'aspect suivant.
      conf:
        connect_timeout: 5
        max_connections: 5000
        net_read_timeout: 1200
        net_write_timeout: 1200
        ingress:
          proxy-read-timeout: "1200"
          proxy-send-timeout: "1200"
          proxy-stream-timeout: 3600s
  5. Mettez à jour les tailles de pool et les ratios d'allocation pour Nova.
    1. Modifiez la configuration Nova.
      viocli update nova
    2. Dans la section nova, ajoutez la section DEFAULT.
    3. Dans la section DEFAULT, ajoutez le paramètre cpu_allocation_ratio et définissez sa valeur sur 30.
    4. Ajoutez le paramètre executor_thread_pool_size et définissez sa valeur sur 640.
    5. Ajoutez le paramètre ram_allocation_ratio et définissez sa valeur sur 6.
    6. Dans la section nova, ajoutez la section database.
    7. Dans la section database, ajoutez le paramètre max_pool_size et définissez sa valeur sur 50.
    Le fichier de configuration a maintenant l'aspect suivant.
    conf:
      nova:
        DEFAULT:
          cpu_allocation_ratio: 30
          executor_thread_pool_size: 640
          ram_allocation_ratio: 6
        database:
          max_pool_size: 50
  6. Mettez à jour les paramètres d'expiration de jeton et d'interface WSGI (Web Server Gateway Interface) pour Keystone.
    1. Modifiez la configuration Keystone.
      viocli update keystone
    2. Dans la section conf, ajoutez la section keystone.
    3. Dans la section keystone, ajoutez le paramètre wsgi_processes et définissez sa valeur sur 8.
    4. Ajoutez le paramètre wsgi_threads et définissez sa valeur sur 15.
    5. Dans la section keystone, ajoutez la section token.
    6. Dans la section token, ajoutez le paramètre expiration et définissez sa valeur sur 28800.
      Le fichier de configuration a maintenant l'aspect suivant.
      conf:
        keystone:
          wsgi_processes: 8
          wsgi_threads: 15
            token:
              expiration: 28800