Activation du module d'extension de gestion des volumes de blocs

Activez le module d'extension de gestion des volumes de blocs sur une instance de calcul.

Le module d'extension de gestion des volumes de blocs est requis pour les scénarios d'attachement de volume suivants :

  • Volumes attachés iSCSI configurés pour le niveau Performances très élevées. La fonctionnalité de chemins d'accès multiples doit être activée pour ces attachements de volume afin d'atteindre les performances optimisées offertes par le niveau Performances très élevées.

  • Volumes attachés iSCSI configurés pour d'autres niveaux de performances et la connexion automatique. Ces volumes ont été attachés avec l'option Utiliser l'agent Oracle Cloud pour se connecter automatiquement aux volumes attachés iSCSI sélectionnée. Cette option est prise en charge pour les attachements à des instances Linux et Windows. Le tableau suivant répertorie la version disponible du logiciel d'agent Oracle Cloud pour les différents systèmes d'exploitation :

    Systèmes d'exploitation et versions d'agent Oracle Cloud correspondantes
    OS Version de l'agent Oracle Cloud
    Oracle Linux ou une image personnalisée basée sur une image Oracle Linux 1.23.0 ou plus récent
    Windows ou une image personnalisée basée sur une image Windows 1.24.0 ou plus récent
    Ubuntu ou image personnalisée basée sur une image Ubuntu. 1.35.0 ou plus récent

Le module d'extension de gestion des volumes de blocs est géré par le logiciel d'agent Oracle Cloud. Il effectue les actions suivantes :

  1. Il interroge les métadonnées de l'instance toutes les minutes afin de trouver des attachements à chemins d'accès multiples à des volumes de niveau Performances très élevées ou des attachements configurés pour la connexion automatique à des volumes configurés avec d'autres niveaux de performances.

  2. Il n'installe device-mapper-multipath rpm et ajoute "/etc/multipath.conf" que s'il existe des attachements avec chemins d'accès multiples.

  3. S'il existe des associations à chemins d'accès multiples ou des associations configurées pour la connexion automatique dans les métadonnées de l'instance, le module d'extension exécute les commandes iSCSI login en batch pour les associations de volume.

Prérequis

Le module d'extension de gestion des volumes de blocs est pris en charge sur les images Oracle Autonomous Linux et Oracle Linux, ainsi que sur les images personnalisées basées sur ces images.

Les étapes suivantes sont requises pour le module d'extension de gestion des volumes de blocs.

  • Passerelles de service ou adresses IP publiques : l'instance de calcul doit disposer d'une adresse IP publique ou d'une passerelle de service pour pouvoir se connecter aux services Oracle.

    Si l'instance ne dispose pas d'une adresse IP publique, configurez une passerelle de service sur le réseau cloud virtuel. Une passerelle de service permet à votre instance d'accéder de façon privée à des services Oracle sans exposer les données sur le réseau Internet public. Voici des remarques spéciales concernant la configuration de la passerelle de service pour le module d'extension de gestion des volumes de blocs :

    • Lors de la création de la passerelle de service, activez le libellé de service Tous les services <region> dans Oracle Services Network.
    • Lors de la configuration du routage pour le sous-réseau qui contient l'instance, configurez une règle de routage dont le type de cible est défini sur Passerelle de service, et le service de destination sur Tous les services <region> dans Oracle Services Network.

    Pour obtenir des instructions détaillées, reportez-vous à Accès aux services Oracle : passerelle de service.

  • Agent Oracle Cloud : le logiciel d'agent Oracle Cloud doit être installé sur l'instance. L'agent Oracle Cloud est installé par défaut sur des images de plate-forme en cours. Pour obtenir la procédure d'installation manuelle de l'agent Oracle Cloud sur des images plus anciennes, reportez-vous à Installation du logiciel d'agent Oracle Cloud. Pour effectuer la mise à jour, reportez-vous à Mise à jour du logiciel d'agent Oracle Cloud.
    Important

    Si vous activez le module d'extension de gestion des volumes de blocs de sorte à prendre en charge le scénario de connexion automatique à un volume, l'instance doit exécuter la version 1.23.0 ou une version plus récente du logiciel d'agent Oracle Cloud.
  • Configuration des droits d'accès : ces droits d'accès autorisent l'instance à effectuer des appels d'API vers les services Oracle Cloud Infrastructure, ce qui permet au module d'extension de gestion des volumes de blocs de signaler les résultats relatifs à la configuration iSCSI des attachements iSCSI à chemins d'accès multiples.

    Pour configurer les droits d'accès, procédez comme suit :

    1. Créez un groupe dynamique avec les règles de mise en correspondance illustrées dans l'exemple de code suivant afin d'inclure toutes les instances contenues dans les compartiments indiqués :

      ANY {instance.compartment.id = 'ocid1.tenancy.oc1..<tenancy_ID>', instance.compartment.id = 'ocid1.compartment.oc1..<compartment_OCID>'}
    2. Configurez une stratégie pour le groupe dynamique : configurez une stratégie octroyant les droits d'accès requis au groupe dynamique créé à l'étape précédente afin d'autoriser l'agent d'instance à appeler le service Block Volume pour extraire la configuration d'attachement.

      Allow dynamic-group InstantAgent to use instances in tenancy
      Allow dynamic-group InstantAgent to use volume-attachments in tenancy

Activation de la gestion des volumes de blocs sur de nouvelles instances

Pour activer la gestion des volumes de blocs sur une nouvelle instance de calcul, suivez les étapes ci-dessous.

Procédure d'activation de la gestion des volumes de blocs sur une nouvelle instance de calcul à l'aide de la console
  1. Suivez les étapes de Création d'une instance, jusqu'aux options avancées. Assurez-vous que l'instance dispose d'une adresse IP publique ou d'une passerelle de service, comme décrit dans les prérequis.
  2. Cliquez sur Afficher les options avancées.
  3. Dans l'onglet Agent Oracle Cloud, cochez la case Gestion des volumes de blocs.

  4. Cliquez sur Créer.

Procédure d'activation de la gestion des volumes de blocs sur une nouvelle instance de calcul à l'aide de l'API
  1. Installez le logiciel d'agent Oracle Cloud, s'il n'est pas déjà installé.
  2. Utilisez l'opération UpdateInstance. Incluez les paramètres suivants :

    #oci compute instance update --instance-id <New_Instance> --agent-config file:///agentUpdate.json
    agentUpdate.json
    {
        "is-agent-disabled": false,
        "plugins-config": [
            {"name": "Block Volume Management", "desiredState": "ENABLED" }
        ]
    }
  3. Assurez-vous que l'instance dispose d'une adresse IP publique ou d'une passerelle de service, comme décrit dans les prérequis.

Activation de la gestion des volumes de blocs sur des instances existantes

Pour activer la gestion des volumes de blocs sur une instance de calcul existante, suivez les étapes ci-dessous.

Procédure d'activation de la gestion des volumes de blocs sur une instance de calcul existante à l'aide de la console
  1. Installez le logiciel d'agent Oracle Cloud, s'il n'est pas déjà installé. L'agent Oracle Cloud doit déjà être installé sur toutes les images de plate-forme actuelles ainsi que sur les plus récentes. Exécutez la commande suivante pour vérifier s'il est installé :

    systemctl status oracle-cloud-agent

    Si la commande ne donne aucun résultat, vous devez installer le logiciel, sinon passez à l'étape suivante.

  2. Activez le module d'extension de gestion des volumes de blocs.
  3. Vérifiez que les modules d'extension sont en cours d'exécution sur l'instance.
  4. Assurez-vous que l'instance dispose d'une adresse IP publique ou d'une passerelle de service, comme décrit dans les prérequis.
Procédure d'activation de la gestion des volumes de blocs sur une instance de calcul existante à l'aide de l'API
  1. Installez le logiciel d'agent Oracle Cloud, s'il n'est pas déjà installé.
  2. Utilisez l'opération UpdateInstance. Incluez les paramètres suivants :

    #oci compute instance update --instance-id <New_Instance> --agent-config file:///agentUpdate.json
    agentUpdate.json
    {
        "is-agent-disabled": false,
        "plugins-config": [
            {"name": "Block Volume Management", "desiredState": "ENABLED" }
        ]
    }
  3. Assurez-vous que l'instance dispose d'une adresse IP publique ou d'une passerelle de service, comme décrit dans les prérequis.

Activation manuelle de la gestion des volumes de blocs sur une instance

Vous pouvez activer manuellement la gestion des volumes de blocs sur une instance de calcul à l'aide de l'interface de ligne de commande.

Cette procédure est requise uniquement pour les images personnalisées qui ont été mises à jour de façon à prendre en charge le niveau Performances très élevées, mais pour lesquelles le module d'extension de gestion des volumes de blocs n'a pas été activé dans le fichier /etc/oracle-cloud-agent/agent.yml.

Avant d'effectuer cette procédure, vous devez suivre les étapes décrites dans Activation de la gestion des volumes de blocs sur de nouvelles instances ou Activation de la gestion des volumes de blocs sur des instances existantes.

Procédure d'activation manuelle du module d'extension de gestion des volumes de blocs sur une instance
  1. Installez le logiciel d'agent Oracle Cloud sur l'instance s'il n'est pas encore installé.
  2. Connectez-vous à l'instance : reportez-vous à Connexion à une instance.
  3. Exécutez le script sed suivant pour activer la gestion des volumes de blocs :

    sed -i.saved -e '/^  oci-blockautoconfig:/,/^  [a-z]*:/{s/\(.*disabled:.*\)true/\1false/}' /etc/oracle-cloud-agent/agent.yml

    Ce script met à jour le paramètre disabled de la configuration oci-blockautoconfig dans /etc/oracle-cloud-agent/agent.yml en remplaçant la valeur true par false.

  4. Exécutez la commande suivante pour redémarrer le service de l'agent Oracle Cloud :
    systemctl restart oracle-cloud-agent.service

Dépannage du module d'extension de gestion des volumes de blocs

Si le module d'extension de gestion des volumes de blocs n'est pas correctement configuré pour une instance, vous risquez de rencontrer une erreur lors de l'attachement d'un volume avec un attachement de type iSCSI. Reportez-vous aux suggestions de dépannage présentées dans cette section pour résoudre ces problèmes.

Erreur de journal du module d'extension de gestion des volumes de blocs : erreur d'attachement de volume non autorisé ou introuvable

Si vous n'avez pas configuré correctement les droits d'accès du module d'extension de gestion des volumes de blocs, le volume ne peut pas être attaché à l'instance.

Détails

Le volume n'apparaît pas comme attaché dans la console et le message d'erreur NotAuthorizedOrNotFound apparaît dans le journal du module d'extension de gestion des volumes de blocs.

Vous trouverez le journal du module d'extension de gestion des volumes de blocs à l'emplacement suivant :

"/var/log/oracle-cloud-agent/plugins/oci-blockautoconfig/oci-blockautoconfig.log

Voici un exemple d'entrée de journal d'erreurs pour ce problème :

2021/08/13 09:14:25.864932 compute_client_command.go:255: Updating volume attachment to the state LOGIN_SUCCEEDED ...
2021/08/13 09:14:26.155473 compute_client_command.go:260: Service error:NotAuthorizedOrNotFound.
volume attachment ocid1.volumeattachment.oc1.iad.<volume-attachment_ID> not found.
http status code: 404. Opc request id: <request_ID>

Cause

Le module d'extension de gestion des volumes de blocs ne dispose pas des droits d'accès permettant d'envoyer la notification de statut de connexion iSCSI au service.

Résolution

Pour configurer les droits d'accès du module d'extension de gestion des volumes de blocs, procédez comme suit :

  1. Créez un groupe dynamique avec les règles de mise en correspondance illustrées dans l'exemple de code suivant afin d'inclure toutes les instances contenues dans les compartiments indiqués :

    ANY {instance.compartment.id = 'ocid1.tenancy.oc1..<tenancy_ID>', instance.compartment.id = 'ocid1.compartment.oc1..<compartment_OCID>'
  2. Configurez une stratégie pour le groupe dynamique : configurez une stratégie octroyant les droits d'accès requis au groupe dynamique créé à l'étape précédente afin d'autoriser l'agent d'instance à appeler le service Block Volume pour extraire la configuration d'attachement.

    Allow dynamic-group InstantAgent to use instances in tenancy
    Allow dynamic-group InstantAgent to use volume-attachments in tenancy
Erreur de journal du module d'extension de gestion des volumes de blocs : l'agent utilisateur ne peut pas être vide

L'instance de calcul doit disposer d'une adresse IP publique ou d'une passerelle de service pour pouvoir se connecter aux services Oracle. Dans le cas contraire, l'attachement du volume échoue.

Détails

Le volume n'apparaît pas comme attaché dans la console et le message d'erreur user agent can not be blank apparaît dans le journal du module d'extension de gestion des volumes de blocs.

Vous trouverez le journal du module d'extension de gestion des volumes de blocs à l'emplacement suivant :

"/var/log/oracle-cloud-agent/plugins/oci-blockautoconfig/oci-blockautoconfig.log

Voici un exemple d'entrée de journal d'erreurs pour ce problème :

2021/10/15 22:16:07.881953 compute_client_command.go:255: Updating volume attachment to the state LOGIN_SUCCEEDED ...
2021/10/15 22:16:07.882185 compute_client_command.go:260: user agent can not be blank
2021/10/15 22:16:07.882204 iscsi_commands_helper.go:302: user agent can not be blank
2021/10/15 22:16:07.882212 iscsi_commands_helper.go:310: user agent can not be blank

Cause

Le module d'extension de gestion des volumes de blocs ne peut pas envoyer la notification de statut de connexion iSCSI au service en raison de la configuration réseau.

Résolution

Si l'instance ne dispose pas d'une adresse IP publique, configurez une passerelle de service sur le réseau cloud virtuel. Une passerelle de service permet à votre instance d'accéder de façon privée à des services Oracle sans exposer les données sur le réseau Internet public. Voici des remarques spéciales concernant la configuration de la passerelle de service pour le module d'extension de gestion des volumes de blocs :

  • Lors de la création de la passerelle de service, activez le libellé de service Tous les services <region> dans Oracle Services Network.
  • Lors de la configuration du routage pour le sous-réseau qui contient l'instance, configurez une règle de routage dont le type de cible est défini sur Passerelle de service, et le service de destination sur Tous les services <region> dans Oracle Services Network.

Pour obtenir des instructions détaillées, reportez-vous à Accès aux services Oracle : passerelle de service.