IBM Cloud Docs
Traitement des incidents liés aux instances de serveur virtuel pour VPC

Traitement des incidents liés aux instances de serveur virtuel pour VPC

Si vous rencontrez des difficultés avec vos instances IBM Cloud® Virtual Servers for Virtual Private Cloud, examinez les causes possibles suivantes.

Droits non définis sur IBM Cloud

Avant de créer Virtual Servers for VPC, vous devez configurer les droits d'accès corrects dans la console IBM Cloud. Si vos droits ne sont pas corrects, vous pouvez créer un serveur qui affiche le statut Pending, lequel se transforme rapidement en Failed. Assurez-vous que l'administrateur du compte vous affecte les permissions correctes.

Les serveurs sont tous à l'état Inconnu

Il est fort probable que vous ne disposiez pas des droits adéquats pour afficher le statut du serveur. Vérifiez que vous disposez des droits corrects.

Le statut Inconnu peut également être dû à un jeton IMS arrivé à expiration. Exécutez de nouveau bx sl init et relancez ims_subject avec le nouveau jeton. Veillez à transmettre le paramètre X-Subject-Token:$ims_subject dans l'en-tête de la demande.

Erreur 409 : Conflit lorsque vous créez une action d'instance

Vous ne pouvez pas créer certaines actions d'instance si le statut de votre instance est en conflit avec une autre action. Par exemple, si le statut d'instance est stopped, et que vous tentez de créer une action reboot, le système renvoie une erreur 409.

Conflits de statut de la table 1.Instance
Statut Action Conflit
En cours d'exécution start yes
Arrêté toute action autre qu'un démarrage yes
Pas en cours d'exécution suspendre yes
Pas en cours d'exécution réamorcer yes
Non en pause reprendre yes
Suspendu toute action autre qu'une reprise yes

L'instance ne répond pas à la demande instance-reboot

Si votre instance ne répond pas à une demande instance-reboot, vous pouvez essayer une demande instance-reset. La demande instance-reboot envoie une demande de réamorçage du système d'exploitation à l'instance, tandis qu'une demande instance-reset effectue une réinitialisation de l'instance de serveur virtuel. Vous pouvez comparer la différence entre ces opérations à la différence entre la saisie de "ctrl-alt-suppr" sur le clavier de votre ordinateur et l'utilisation de la touche de réinitialisation ou du bouton d'alimentation. Gardez à l'esprit que l'exécution de la demande instance-reset est plus longue que celle de la demande instance-reboot.

Pourquoi ne puis-je pas ajouter ma clé SSH ?

Si vous tentez d'ajouter une clé SSH à votre compte et obtenez un message d'erreur indiquant que la clé ne peut pas être analysée, vérifiez qu'il n'y a pas de retour à la ligne dans la chaîne. Une clé SSH est une chaîne continue de caractères ; parfois, des retours à la ligne sont introduits quand la clé SSH est copiée depuis un terminal. Pour éviter ce problème, collez d'abord votre clé SSH dans un éditeur de texte et retirez les retours à la ligne. Copiez ensuite la clé SSH à partir de l'éditeur de texte et collez-la dans l'interface utilisateur VPC, l'interface de ligne de commande ou l'API.

Comment réenregistrer une instance de serveur virtuel RHEL?

Si le message d'erreur suivant apparaît :

This system is not registered with an entitlement server.

Votre instance de serveur virtuel REHL a été désenregistrée du serveur de la capsule. Pour résoudre ce problème, exécutez le script reregister-ng-rhel-vsi.sh afin de réenregistrer l'instance de serveur virtuel.

#!/bin/bash
##
## =============================================================================
## IBM Confidential
## © Copyright IBM Corp. 2020
##
## The source code for this program is not published or otherwise divested of
## its trade secrets, irrespective of what has been deposited with the
## U.S. Copyright Office.
## =============================================================================
##
#
# Description: Reregister an RHEL virtual server instance to its respective capsule server
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
argumentsFound=false
FILE_DIR=/var/lib/cloud/instance/scripts/vendor
file=$(grep -src -r -w 'REDHAT_CAPSULE_SERVER\|OS_INSTALL_CODE' $FILE_DIR | awk -F: '$2 != 0 {print $1}')
echo "Processing $file..."
if [ -f  "$file" ]; then
    capsule="$(grep "REDHAT_CAPSULE_SERVER=" $file | cut -d\" -f2)"
    organization="$(grep "OS_REDHAT_ORG_NAME=" $file | cut -d\" -f2)"
    activationKey="$(grep "ACTIVATION_KEYS=" $file | cut -d\" -f2)"
    profileName="$(grep "PROFILENAME=" $file | cut -d\" -f2)"
    if [ ! -z "$capsule" ] && [ ! -z "$organization" ] && [ ! -z "activationKey" ] && [ ! -z "profileName" ]; then
        argumentsFound=true
    fi
fi
if [ "$argumentsFound" = false ]; then
    if [ -z "$4" ]; then
        echo Please provide capsule hostname, organization, activation key and profile name
        exit
    fi
    capsule="$(echo $1 | cut -d. -f1).adn.networklayer.com"
    organization=$2
    activationKey=$3
    profileName=$4
fi
echo "Cleaning metadata..."
yum clean all
echo "Unregistering system..."
subscription-manager unregister
subscription-manager clean
echo "Removing any existing katello-ca RPMs..."
rpm -qa | grep katello-ca | xargs rpm -e
echo "Installing consumer RPM..."
rpm -Uvh http://${capsule}/pub/katello-ca-consumer-latest.noarch.rpm
subscription-manager config --server.hostname=${capsule}
subscription-manager config --rhsm.baseurl=https://${capsule}/pulp/repos
if [ -f /etc/rhsm/facts/katello.facts ]; then
    mv /etc/rhsm/facts/katello.facts /etc/rhsm/facts/katello.facts.bak.$(date +%s)
fi
echo '{"network.hostname-override":"'${profileName}'"}' > /etc/rhsm/facts/katello.facts
echo "Registering system..."
subscription-manager register --org="${organization}" --activationkey="${activationKey}" --force

Pour exécuter le script :

  1. chmod +x reregister-ng-rhel-vsi.sh
  2. ./reregister-ng-rhel-vsi.sh

Si le script échoue, indiquez les paramètres suivants :

  • le nom d'hôte de capsule
  • organisation
  • la clé d'activation
  • le nom de profil

Puis-je configurer la virtualisation imbriquée sur une instance de serveur virtuel ?

La virtualisation imbriquées sur les instances de serveur virtuel n'est pas prise en charge.

Comment résoudre une erreur de clé SSH?

Quand vous copiez une clé SSH à partir d'un terminal pour ajouter la clé à votre VPC, des retours à la ligne supplémentaires sont parfois introduits, ce qui provoque une erreur d'analyse syntaxique. Pour éviter ce problème, collez d'abord votre clé SSH dans un éditeur de texte et supprimez les retours à la ligne en trop. Copiez ensuite la clé SSH à partir de l'éditeur de texte et collez-la dans l'interface utilisateur VPC, l'interface de ligne de commande ou l'API.

Pourquoi est-ce que je reçois une erreur de clé SSH de type autorisation refusée ?

Lorsque vous recevez une erreur d'autorisation de clé SSH refusée, il se peut que votre hôte ne soit pas reconnu comme hôte autorisé. Pour ajouter votre hôte en tant qu'hôte connu, exécutez la commande suivante dans votre terminal. Veillez à remplacer [sFTP] par votre hôte.

ssh-keyscan -t rsa [sFTP] >> ~/.ssh/known_hosts

Si nécessaire, vous pouvez ouvrir un dossier de support.

Pour plus d'informations sur le traitement des incidents liés aux instances de serveur virtuel z/OS, voir la documentation deIBM Wazi as a Service.

Pourquoi une erreur se produit-t-elle lorsque je tente d'ajouter plus de 5 interfaces réseau pour une instance de serveur virtuel existante?

Si le x86 instance profile que vous avez utilisé pour provisionner votre serveur virtuel comprend 17 vCPUs, ou plus, vous pouvez maintenant ajouter plus de 5 interfaces réseau. Pour tirer parti de la possibilité d'ajouter d'autres interfaces réseau à un serveur virtuel qui existait avant l'augmentation de la limite d'interface réseau, vous devez d'abord arrêter un serveur virtuel en cours d'exécution, puis le redémarrer. Pour plus d'informations sur les interfaces réseau multiples, voir Gestion des interfaces réseau.

Comment puis-je utiliser la clé Linux SysRq pour dépanner une instance de serveur virtuel Linux à partir de la console série ?

Une instance de serveur virtuel Linux qui ne répond pas peut se produire pour diverses raisons, telles que des pannes de système, des situations de blocage ou des problèmes liés au noyau. Lorsque le serveur virtuel ne répond pas, les méthodes de dépannage standard (telles que SSH ou l'accès direct) peuvent ne pas fonctionner. Dans ces cas, la console série reste accessible, ce qui permet aux administrateurs d'interagir avec le serveur à un niveau plus restreint en utilisant la clé Linux System RequestSysRq.

Les défaillances du système, les paniques du noyau ou les processus qui ne répondent pas peuvent rendre un serveur Linux indisponible par le biais de processus réguliers. Ces problèmes peuvent être dus à des bogues logiciels, à des défaillances matérielles ou à une mauvaise configuration des paramètres du système. La clé SysRq permet un accès de bas niveau au noyau Linux et contourne les processus de niveau supérieur qui sont gelés ou ne répondent pas. Ce mécanisme est intégré au noyau Linux en tant que sécurité intégrée pour aider les utilisateurs à effectuer des actions système critiques, telles que le redémarrage du serveur ou l'extraction d'informations de diagnostic, même lorsque d'autres méthodes d'entrée ne sont pas disponibles. Il offre une méthode directe pour contrôler le serveur et obtenir des informations au niveau du système lorsque les méthodes d'accès habituelles échouent.

Pour dépanner et résoudre le problème en utilisant la clé SysRq à partir de la console série, procédez comme suit :

  1. Accédez à l'instance du serveur virtuel en vous connectant à une console série. Pour plus d'informations, voir Accès aux instances de serveur virtuel à l'aide d'une console VNC ou en série.

  2. Activer les commandes SysRq. Si les commandes d' SysRq s sont déjà activées, vous pouvez ignorer cette étape. Pour activer les commandes SysRq, définissez le paramètre kernel.sysrq

    echo 1 > /proc/sys/kernel/sysrq
    
  3. Envoyer une commande SysRq à partir de la console série. L'exemple suivant lance un crash dump du noyau (kdump).

    1. Appuyez sur la touche Entrée.
    2. Appuyez sur ~B (touche tilde suivie de la touche B majuscule).
    3. L'appui sur c (c minuscule) lance un crash dump du noyau (kdump).

    Exemple :

    ENTER + ~ + B + c
    

    Pour déclencher un crash dump, assurez-vous que l'crashkernel est configurée sur l'instance du serveur virtuel Linux. Pour plus d'informations, voir le mécanisme de crash dump du noyau.

  4. Analyser les résultats du diagnostic. Par exemple, le crash dump du noyau SysRq précédent génère des données de diagnostic cruciales que vous pouvez analyser. En envoyant des commandes SysRq pertinentes, vous pouvez collecter des données de diagnostic précieuses pour le dépannage et la reprise du contrôle du système.

Pour obtenir la liste des touches de commande SYSRQ, appuyez sur Enter suivi de ~Bh (tilde, B majuscule, h minuscule). Pour plus de détails sur ces touches, voir Linux Magic System Request Key Hacks - What are the 'command' keys ?