Opérations de maintenance de noeud de calcul

Pour les opérations de maintenance, y compris la mise à niveau ou l'application de correctifs au logiciel Private Cloud Appliance, et lorsque la réparation matérielle est nécessaire, les noeuds de calcul doivent être placés en mode de maintenance. Cela nécessite l'évacuation des instances de calcul en cours d'exécution et le verrouillage du noeud de toute autre opération du système.

Évacuation d'un noeud de calcul

Certaines opérations de noeud de calcul ne peuvent être effectuées que si le noeud de calcul n'a pas d'instance de calcul en cours d'exécution. Les administrateurs peuvent migrer toutes les instances en cours d'exécution à partir d'un noeud de calcul, également appelé évacuation du noeud de calcul.

Par défaut, si suffisamment de ressources sont disponibles, les instances en cours d'exécution sont migrées en direct vers d'autres noeuds de calcul du même domaine d'erreur.

Important

Avant d'effectuer une évacuation de noeud de calcul, vérifiez ce que sera le comportement pour toutes les instances qui ne peuvent pas être migrées en direct vers un autre noeud de calcul dans le même domaine d'erreur.

Cette rubrique et Configuration de la haute disponibilité pour les instances de calcul décrivent comment vérifier les paramètres et comment les instances sont traitées pour différents paramètres.

La migration en direct entre différents types de noeud de calcul n'est pas prise en charge. Par exemple, vous ne pouvez pas migrer des instances de calcul d'un serveur Oracle X10 vers un serveur Oracle X11.

Vérifiez si une application stricte du domaine d'erreur est définie.

  • Lorsque l'application stricte d'un domaine d'erreur est désactivée (la valeur FD stricte est réglée à Désactivée dans l'interface utilisateur Web du service ou la valeur Strict FD Enabled est false dans l'interface de ligne de commande du service), les instances qui ne peuvent pas être migrées en direct vers un autre noeud de calcul du même domaine d'erreur sont migrées en direct vers un autre domaine d'erreur si suffisamment de ressources sont disponibles dans ce domaine d'erreur.

  • Lorsque l'application stricte d'un domaine d'erreur est activée (l'option Délai de livraison strict est réglée à Activé dans l'interface utilisateur Web du service ou Strict FD Enabled est réglée à true dans l'interface de ligne de commande du service), les instances qui ne peuvent pas être migrées en direct vers un autre noeud de calcul dans le même domaine d'erreur ne sont pas migrées; ces instances s'exécutent toujours dans le noeud de calcul que vous voulez évacuer.

Activez ou désactivez l'application stricte de domaine d'erreur pour déterminer si les instances qui ne peuvent pas migrer en direct vers d'autres noeuds de calcul du même domaine d'erreur seront migrées en direct vers un autre domaine d'erreur ou s'exécuteront toujours dans le même noeud de calcul après avoir tenté d'évacuer le noeud de calcul.

Si certaines instances ne peuvent pas être migrées en direct, soit parce que le domaine d'erreur courant ne peut pas les accueillir et que l'application stricte du domaine d'erreur est activée, soit parce que l'application stricte du domaine d'erreur est désactivée mais que d'autres domaines d'erreur ne peuvent pas non plus prendre en charge les instances, vous pouvez réexécuter l'opération de migration avec l'option forcer spécifiée. Lorsque l'option Forcer est spécifiée, le composant logiciel du service de calcul arrête toutes les instances dont la migration en direct échoue, ce qui permet à l'évacuation de se poursuivre.

Redémarrez les instances arrêtées. Si les instances ont été arrêtées par le service de calcul (non arrêtées manuellement par un administrateur) et que vous souhaitez qu'elles reprennent automatiquement leur exécution lorsque les ressources deviennent disponibles, vérifiez que la propriété de récupération automatique du service de calcul est activée et que l'action de récupération de disponibilité d'instance est réglée à RESTORE_INSTANCE. Voir Consultation et définition de la configuration du service de calcul et Configuration de l'état de récupération pour une instance arrêtée.

Les instances peuvent être arrêtées par le service de calcul si l'option Forcer est utilisée lorsqu'un administrateur évacue un noeud de calcul ou en réponse à une interruption non planifiée du noeud de calcul. Vous pouvez modifier le paramètre de récupération automatique à tout moment avant ou après la disponibilité des ressources après une maintenance administrative ou une interruption non planifiée pour redémarrer les instances arrêtées par le service de calcul. Si l'action de récupération de disponibilité d'instance est réglée à STOP_INSTANCE, l'instance reste arrêtée même si la propriété de récupération automatique est activée. Si l'action de récupération de la disponibilité de l'instance est par la suite remplacée par RESTORE_INSTANCE, une passe de récupération automatique suivante redémarrera l'instance.

Retourne les instances déplacées. Si les instances sont migrées en direct vers un autre domaine d'erreur (déplacées) et que vous voulez qu'elles soient retournées au domaine d'erreur sélectionné (domaine d'erreur spécifié dans la configuration d'instance) lorsque les ressources deviennent disponibles, vérifiez que la propriété de résolution automatique du service de calcul est activée. Voir Consultation et définition de la configuration du service de calcul et Commandes de configuration du service de calcul. Vous pouvez définir la propriété de résolution automatique à tout moment avant ou après la fin de l'évacuation du noeud de calcul pour déplacer les instances déplacées.

Utilisez les procédures suivantes pour effectuer l'opération de migration.

Calculer l'évacuation des noeuds : Avant de commencer
  1. Vérifiez les ressources de domaine d'erreur et de noeud de calcul. Voir admin-monitor-capacity.htm. Sur la base de ces informations, décidez s'il faut effectuer l'une des actions suivantes :

    • Mettre fin aux instances qui ne sont plus nécessaires.

    • Reconfigurez certaines instances pour utiliser moins de ressources. Par exemple, spécifiez une forme différente.

    • Reconfigurez certaines instances pour spécifier un autre domaine d'erreur.

    • Arrêtez certaines instances pendant que vous effectuez l'évacuation du noeud de calcul.

    • Arrêtez les instances non migrables. Voir l'étape suivante.

    • Spécifiez l'option forcer l'opération de migration à arrêter temporairement toutes les instances qui ne peuvent pas être migrées en direct. Voir la discussion ci-dessus sur l'action de récupération de disponibilité d'instance et la configuration de récupération automatique.

  2. Bien qu'il soit possible de spécifier l'option force sur l'opération vmMigrate pour arrêter temporairement toutes les instances qui ne peuvent pas être migrées en direct, la meilleure pratique consiste à arrêter correctement les instances non migrables avant la migration afin que toutes les charges de travail exécutées sur l'instance soient dans un bon état.

    1. Affichez la liste des instances non migrables.

      Copiez l'ID des instances en cours d'exécution pour pouvoir les arrêter.

      PCA-ADMIN> getNonMigratableInstances
      Data:
        id                           Display Name  Compute Node Id  Domain State
        --                           ------------  ---------------  ------------
        ocid1.instance.unique_ID     instance202   CN_ID            running
        ocid1.instance.unique_ID     kqh027        CN_ID            shut off
    2. Arrêtez les instances en cours d'exécution.

      Voir Arrêt, démarrage et réinitialisation d'une instance.

  3. Désactivez le provisionnement sur le noeud de calcul.

    Voir Désactivation du provisionnement de noeud de calcul.

Utiliser l'interface utilisateur Web du service
  1. Dans le menu de navigation, cliquez sur Rack Units.

  2. Dans le tableau Unités de bâti, recherchez le nom d'hôte du noeud de calcul à évacuer. Cliquez sur le menu Actions pour cet hôte, puis cliquez sur l'option Migrate All Vms.

    Vous pouvez également, dans le tableau Unités de bâti, cliquer sur le nom d'hôte du noeud de calcul à évacuer pour afficher la page de détails de ce noeud de calcul. Cliquez sur le menu Controls et cliquez sur l'option Migrate All Vms.

  3. Dans la boîte de dialogue Confirmer la migration des machines virtuelles, choisissez de forcer l'arrêt des instances qui ne peuvent pas être migrées.

    Par défaut, l'option Forcer l'arrêt n'est pas activée et les instances qui ne peuvent pas être migrées continueront de s'exécuter sur le noeud une fois l'opération de migration terminée. Pour forcer l'arrêt des instances qui ne peuvent pas être migrées, activez l'option forcer l'arrêt dans la boîte de dialogue Confirmer la migration des machines virtuelles.

  4. Dans la boîte de dialogue Confirmer la migration des machines virtuelles, cliquez sur le bouton Migrer.

    Le service de calcul migre en direct les instances en cours d'exécution vers d'autres noeuds de calcul si suffisamment de ressources sont disponibles et que des paramètres de haute disponibilité sont configurés pour l'autoriser. Si l'option Force a été spécifiée, toutes les instances qui n'ont pas pu être migrées sont arrêtées temporairement. Si aucune instance n'a pu être migrée et que la force n'a pas été spécifiée, ces instances restent en cours d'exécution dans le noeud de calcul que vous tentez d'évacuer.

Utilisation de l'interface de ligne de commande du service
  1. Affichez la liste des noeuds de calcul.

    Copiez l'ID du noeud de calcul que vous voulez évacuer.

    PCA-ADMIN> list ComputeNode
    Data:
      id                                     name       provisioningState   provisioningType
      --                                     ----       -----------------   ----------------
      3e62bf25-a26c-407e-ab8b-df01a4ad98b6   pcacn002   Provisioned         KVM
      f7b8356b-052f-4911-babb-447e6ab9c78d   pcacn003   Provisioned         KVM
      4e06ebdf-faed-484e-996d-d77af786f123   pcacn001   Provisioned         KVM
  2. Utilisez la commande migrateVm pour migrer en direct toutes les instances de calcul en cours d'exécution à partir du noeud de calcul. Pour arrêter temporairement toutes les instances qui ne peuvent pas migrer, définissez l'option force :

    PCA-ADMIN> migrateVm id=7a0236f4-b00e-461d-93a0-b22673a18d9c force=true
    JobId: 6f1e94bc-7d5b-4002-ada9-7d4b504a2599

    Le service de calcul migre en direct les instances en cours d'exécution vers d'autres noeuds de calcul si suffisamment de ressources sont disponibles et que des paramètres de haute disponibilité sont configurés pour l'autoriser. Si force=true a été spécifié, toutes les instances qui n'ont pas pu être migrées sont arrêtées temporairement. Si des instances n'ont pas pu être migrées et que force=true n'a pas été spécifié, elles restent en cours d'exécution sur le noeud de calcul que vous tentez d'évacuer.

    Utilisez l'ID tâche pour vérifier le statut de la commande migrateVm.

    PCA-ADMIN> show Job id=6f1e94bc-7d5b-4002-ada9-7d4b504a2599
    [...]
      Done = true
      Name = MODIFY_TYPE
      Run State = Succeeded

Désactivation du provisionnement des noeuds de calcul

Plusieurs opérations de noeud de calcul ne peuvent être effectuées que si le provisionnement a été désactivé. Suivez ces instructions pour imposer et libérer un verrouillage de provisionnement.

Utiliser l'interface utilisateur Web du service
  1. Dans le menu de navigation, cliquez sur Rack Units.

  2. Dans le tableau Unités de bâti, cliquez sur le nom d'hôte du noeud de calcul auquel vous souhaitez apporter des modifications.

    La page Détails noeud calcul s'affiche.

  3. Dans le coin supérieur droit de la page, cliquez sur Controls et sélectionnez la commande Provisioning Lock.

    Lorsque la fenêtre de confirmation apparaît, cliquez sur Verrouiller pour continuer.

    Une fois l'exécution terminée, l'onglet Informations sur le noeud de calcul affiche Provisioning Locked = Yes.

  4. Pour déverrouiller le provisionnement, cliquez sur Controls et sélectionnez la commande Provisioning Unlock.

    Lorsque la fenêtre de confirmation apparaît, cliquez sur Déverrouiller pour continuer.

    Une fois l'exécution réussie, l'onglet Informations sur le noeud de calcul affiche Provisionnement verrouillé = Non.

Utilisation de l'interface de ligne de commande du service
  1. Affichez la liste des noeuds de calcul.

    Copiez l'ID du noeud de calcul pour lequel vous voulez désactiver les opérations de provisionnement.

    PCA-ADMIN> list ComputeNode
    Data:
      id                                     name       provisioningState   provisioningType
      --                                     ----       -----------------   ----------------
      3e62bf25-a26c-407e-ab8b-df01a4ad98b6   pcacn002   Provisioned         KVM
      f7b8356b-052f-4911-babb-447e6ab9c78d   pcacn003   Provisioned         KVM
      4e06ebdf-faed-484e-996d-d77af786f123   pcacn001   Provisioned         KVM
  2. Définissez un verrouillage de provisionnement sur le noeud de calcul.

    PCA-ADMIN> provisioningLock id=f7b8356b-052f-4911-babb-447e6ab9c78d
    JobId: 6ee78c8a-e227-4d31-a770-9b9c96085f3f

    Utilisez l'ID tâche pour vérifier le statut de votre commande.

    PCA-ADMIN> show Job id=6ee78c8a-e227-4d31-a770-9b9c96085f3f
    [...]
      Done = true
      Name = MODIFY_TYPE
      Run State = Succeeded
  3. Une fois la tâche terminée, vérifiez que le noeud de calcul est verrouillé pour le provisionnement.

    PCA-ADMIN> show ComputeNode id=f7b8356b-052f-4911-babb-447e6ab9c78d
    [...]
      Provisioning State = Provisioned
      [...]
      Provisioning Locked = true
      Maintenance Locked = false

    Toutes les opérations de provisionnement sont maintenant désactivées jusqu'à ce que le verrouillage soit libéré.

  4. Pour déverrouiller le provisionnement, utilisez la commande suivante :

    PCA-ADMIN> provisioningUnlock id=f7b8356b-052f-4911-babb-447e6ab9c78d
    JobId: 523892e8-c2d4-403c-9620-2f3e94015b46

    Utilisez l'ID tâche pour vérifier le statut de votre commande.

    PCA-ADMIN> show Job id=523892e8-c2d4-403c-9620-2f3e94015b46
    [...]
      Done = true
      Name = MODIFY_TYPE
      Run State = Succeeded
  5. Une fois la tâche terminée, vérifiez que le verrouillage de provisionnement a été libéré.

    PCA-ADMIN> show ComputeNode id=f7b8356b-052f-4911-babb-447e6ab9c78d
    [...]
      Provisioning State = Provisioned
      [...]
      Provisioning Locked = false
      Maintenance Locked = false

Verrouillage d'un noeud de calcul pour maintenance

Pour les opérations de maintenance, les noeuds de calcul doivent être placés en mode de maintenance. Suivez ces instructions pour imposer et libérer un verrou de maintenance. Pour pouvoir verrouiller un noeud de calcul pour maintenance, vous devez d'abord désactiver le provisionnement. Les opérations de maintenance ne peuvent être effectuées que si le noeud de calcul n'a pas d'instance de calcul en cours d'exécution.

Attention

Selon la configuration à haute disponibilité du service de calcul, les migrations automatiques d'instance peuvent vous empêcher de verrouiller un noeud de calcul. Voir Configuration de la haute disponibilité pour les instances de calcul. Cette situation est plus susceptible de se produire lorsque la capacité de calcul disponible est limitée.

  • Les opérations de récupération d'instance ou de migration après une interruption du noeud de calcul peuvent entraîner l'échec d'un verrouillage de maintenance. Les noeuds de calcul impliqués dans les migrations d'instance rejetteront le verrouillage de maintenance jusqu'à ce que les migrations soient terminées.

  • Les instances déplacées peuvent être migrées de nouveau vers leur domaine d'erreur initial lorsqu'un verrouillage de maintenance de noeud de calcul est libéré. Un noeud de calcul à partir duquel une instance déplacée est à nouveau migrée rejettera le verrouillage de maintenance jusqu'à ce que la migration soit terminée.

  • La migration d'une instance ne prend généralement pas plus de 30 secondes. Toutefois, les instances volumineuses et les charges de travail volumineuses augmentent le temps requis.

  • Si une instance est bloquée en déplacement et que la migration échoue, son noeud de calcul hôte ne peut pas être verrouillé pour maintenance. Communiquez avec Oracle pour obtenir de l'aide.

Utiliser l'interface utilisateur Web du service
  1. Assurez-vous que le provisionnement a été désactivé sur le noeud de calcul.

  2. Assurez-vous que le noeud de calcul n'a aucune instance active. Ils doivent être migrés ou arrêtés.

  3. Dans le menu de navigation, cliquez sur Rack Units.

  4. Dans le tableau Unités de bâti, cliquez sur le nom d'hôte du noeud de calcul qui nécessite une maintenance.

    La page Détails noeud calcul s'affiche.

  5. Dans le coin supérieur droit de la page, cliquez sur Controls et sélectionnez la commande Maintenance Lock.

    Lorsque la fenêtre de confirmation apparaît, cliquez sur Verrouiller pour continuer.

    Une fois l'exécution terminée, l'onglet Informations sur le noeud de calcul affiche Maintenance Locked = Yes.

  6. Pour libérer le verrouillage de maintenance, cliquez sur Contrôles et sélectionnez la commande Déverrouillage de maintenance.

    Lorsque la fenêtre de confirmation apparaît, cliquez sur Déverrouiller pour continuer.

    Une fois l'exécution terminée, l'onglet Informations sur le noeud de calcul affiche Maintenance Locked = No.

Utilisation de l'interface de ligne de commande du service
  1. Affichez la liste des noeuds de calcul.

    Copiez l'ID du noeud de calcul qui nécessite une maintenance.

    PCA-ADMIN> list ComputeNode
    Data:
      id                                     name       provisioningState   provisioningType
      --                                     ----       -----------------   ----------------
      3e62bf25-a26c-407e-ab8b-df01a4ad98b6   pcacn002   Provisioned         KVM
      f7b8356b-052f-4911-babb-447e6ab9c78d   pcacn003   Provisioned         KVM
      4e06ebdf-faed-484e-996d-d77af786f123   pcacn001   Provisioned         KVM
  2. Assurez-vous que le provisionnement a été désactivé sur le noeud de calcul.

  3. Verrouillez le noeud de calcul pour maintenance.

    PCA-ADMIN> maintenanceLock id=f7b8356b-052f-4911-babb-447e6ab9c78d
    JobId: e46f6603-2af2-4df4-a0db-b15156491f88

    Utilisez l'ID tâche pour vérifier le statut de votre commande.

    PCA-ADMIN> show Job id=e46f6603-2af2-4df4-a0db-b15156491f88
    [...]
      Done = true
      Name = MODIFY_TYPE
      Run State = Succeeded
  4. Une fois la tâche terminée, vérifiez que le noeud de calcul a été verrouillé pour maintenance.

    PCA-ADMIN> show ComputeNode id=f7b8356b-052f-4911-babb-447e6ab9c78d
    [...]
      Provisioning State = Provisioned
      [...]
      Provisioning Locked = true
      Maintenance Locked = true

    Le noeud de calcul est maintenant prêt pour la maintenance.

  5. Pour déverrouiller la maintenance, utilisez la commande suivante :

    PCA-ADMIN> maintenanceUnlock id=f7b8356b-052f-4911-babb-447e6ab9c78d
    JobId: 625af20e-4b49-4201-879f-41d4405314c7

    Utilisez l'ID tâche pour vérifier le statut de votre commande.

    PCA-ADMIN> show Job id=625af20e-4b49-4201-879f-41d4405314c7
    [...]
      Done = true
      Name = MODIFY_TYPE
      Run State = Succeeded
  6. Une fois la tâche terminée, vérifiez que le verrouillage de provisionnement a été libéré.

    PCA-ADMIN> show ComputeNode id=f7b8356b-052f-4911-babb-447e6ab9c78d
    [...]
      Provisioning State = Provisioned
      [...]
      Provisioning Locked = true
      Maintenance Locked = false