IBM Cloud Docs
VPC の仮想サーバー・インスタンスのトラブルシューティング

VPC の仮想サーバー・インスタンスのトラブルシューティング

IBM Cloud® Virtual Servers for Virtual Private Cloud インスタンスで問題が発生した場合は、考えられる以下の原因を確認してください。

IBM Cloud で権限がセットアップされていない

Virtual Servers for VPC を作成する前に、IBM Cloud コンソールで適切な権限をセットアップする必要があります。 権限が適切でない場合は、サーバーを作成できても、状況にPendingと表示され、その後すぐにFailedに変わります。 アカウントの管理者から、適切な権限の割り当てを受けてください。

サーバーがすべて「不明」状況である

おそらく、サーバー状況を表示するための適切な権限を持っていません。 適切な権限があることを確認してください。

「不明」状況は、IMS トークンの有効期限が切れたことが原因である場合もあります。 bx sl init を再実行し、新規トークンを使用して ims_subject を再作成してください。 要求ヘッダーの X-Subject-Token:$ims_subject パラメーターで渡すようにしてください。

エラー: 409 インスタンス・アクションの作成時に競合が発生しました

ある一部のインスタンスのアクションは、インスタンスが別のアクションと競合する状況にあると、生成することができません。 例えば、インスタンスの状況がstoppedの場合に rebootのアクションを作成しようとすると、システムから 409 エラーが戻されます。

表 1.Instance 状況の競合
ステータス アクション 競合
実行中 start はい
停止 開始以外のアクション はい
未実行 一時停止 はい
未実行 リブート はい
一時停止中でない 再開 はい
一時停止 再開以外のアクション はい

インスタンスが instance-reboot 要求に応答しない

インスタンスが instance-reboot 要求に応答しない場合は、instance-reset 要求を試してください。 instance-reboot 要求は OS リブート要求をインスタンスに送信しますが、instance-reset 要求は仮想サーバー・インスタンスのハード・リセットを実行します。 この違いは、コンピューターのキーボードで「ctrl-alt-delete」を入力するか、リセット・ボタンや電源ボタンを押すかの違いと見なすこともできます。 instance-reset 要求は instance-reboot 要求よりも完了までに時間がかかることに注意してください。

SSH 鍵を追加できないのはなぜですか?

アカウントに SSH 鍵を追加しようとして、鍵を構文解析できないというエラーが発生した場合は、文字列に改行が含まれていないことを確認してください。 SSH 鍵は、文字が連続した文字列です。SSH 鍵を端末からコピーしたときに、改行が挿入されることがあります。 この問題を防止するために、まずは、SSH 鍵をテキスト・エディターに貼り付けて余分な改行を削除してください。 それから、SSH 鍵をテキスト・エディターからコピーして VPC の UI、CLI、または API に貼り付けてください。

RHEL仮想サーバーインスタンスを再登録するにはどうすればよいですか?

次のエラー・メッセージが表示された場合:

This system is not registered with an entitlement server.

REHL 仮想サーバー・インスタンスが Capsule Server から登録解除されています。 この問題を解決するには、reregister-ng-rhel-vsi.sh スクリプトを実行して仮想サーバー・インスタンスを再登録します。

#!/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

スクリプトを実行するには、以下のようにします。

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

スクリプトが失敗した場合は、以下のパラメーターを指定します。

  • capsule hostname
  • 組織
  • activation key
  • profile name

仮想サーバー・インスタンスでネストされた仮想化を構成できますか?

仮想サーバー・インスタンス上のネストされた仮想化は、サポートされない構成です。

SSH 鍵エラーをどのように解決すればよいですか?

SSH 鍵を端末からコピーして VPC に追加すると、余分な改行が挿入され、構文解析エラーの原因になることがあります。 この問題を防止するために、まずは、SSH 鍵をテキスト・エディターに貼り付けて余分な改行を削除してください。 それから、SSH 鍵をテキスト・エディターからコピーして VPC の UI、CLI、または API に貼り付けてください。

SSH 鍵の許可拒否エラーを受け取るのはなぜですか?

SSH 鍵の権限が拒否されたというエラーが発生した場合は、ホストが認証されたホストとして認識されていない可能性があります。 ホストを既知のホストとして追加するには、端末で以下のコマンドを実行します。 [sFTP] は、ご使用のホストに置き換える必要があります。

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

さらに支援が必要な場合は、サポート Case をオープンすることができます。

z/OS 仮想サーバー・インスタンスのトラブルシューティング情報については、 IBM Wazi as a Service の資料を参照してください。

既存の仮想サーバー・インスタンスに 5 つを超えるネットワーク・インターフェースを追加しようとするとエラーが発生するのはなぜですか?

仮想サーバーのプロビジョニングに使用した x86インスタンスプロファイル に17個以上のvCPUs,が含まれている場合、5個以上のネットワークインターフェイスを追加できるようになりました。 ネットワーク・インターフェース制限が増加する前に存在していた仮想サーバーにさらにネットワーク・インターフェースを追加する機能を利用するには、まず実行中の仮想サーバーを停止してから、それを再始動する必要があります。 複数のネットワークインターフェースの詳細については 、「ネットワークインターフェースの管理」 を参照してください。

Linux SysRqキーを使用して、シリアル・コンソールからLinux仮想サーバー・インスタンスのトラブルシューティングを行う方法を教えてください

応答しないLinux仮想サーバー・インスタンスは、システム・クラッシュ、デッドロック、カーネル関連の問題など、さまざまな理由で発生する可能性があります。 仮想サーバーが応答しない場合、標準的なトラブルシューティング方法(SSHや直接アクセスなど)が機能しないことがあります。 このような場合でも、シリアル・コンソールはアクセス可能なままであり、管理者はLinuxシステム・リクエストSysRq)キーを使用して、より小さなレベルでサーバーと対話することができる。

システム障害、カーネルパニック、または応答しないプロセスによって、Linuxサーバーが通常のプロセスで利用できなくなることがある。 このような問題は、ソフトウェアのバグ、ハードウェアの故障、システムパラメーターの設定ミスなどから発生する可能性がある。 SysRqキーは、Linuxカーネルへの低レベル・アクセスを提供し、フリーズしたり応答しなくなったりした高レベル・プロセスをバイパスする。 このメカニズムは、他の入力方法が利用できない場合でも、サーバーのリブートや診断情報のダンプといった重要なシステム・アクションをユーザーが実行できるようにするためのフェイルセーフとして、Linuxカーネルに組み込まれている。 これは、通常のアクセス方法が失敗した場合に、サーバーを制御し、システムレベルの洞察を得るための直接的な方法を提供する。

シリアルコンソールからSysRqキーを使用してトラブルシューティングを行い、問題を解決するには、以下の手順に従ってください:

  1. シリアル・コンソールに接続して仮想サーバー・インスタンスにアクセスする。 詳しくは、VNC またはシリアル・コンソールを使用した仮想サーバー・インスタンスへのアクセスを参照してください。

  2. SysRqコマンドを有効にする。 SysRqコマンドがすでに有効になっている場合は、この手順を省略できます。 SysRqコマンドを有効にするには、kernel.sysrqパラメータを設定する。

    echo 1 > /proc/sys/kernel/sysrq
    
  3. シリアルコンソールからSysRqコマンドを送信する。 次の例は、カーネル・クラッシュ・ダンプ(kdump)を開始する。

    1. Enterキー を押します。
    2. ~B 押す(チルダキーの後に大文字のBキーを押す)。
    3. c 小文字のc)を押すと、カーネル・クラッシュ・ダンプ(kdump)を開始する。

    例:

    ENTER + ~ + B + c
    

    クラッシュダンプをトリガーするには、Linux仮想サーバーインスタンスで crashkernel 設定されていることを確認します。 手順については、Kernel crash dump mechanism を参照のこと。

  4. 診断出力を分析する。 例えば、以前のSysRqカーネル・クラッシュ・ダンプは、分析可能な重要な診断データを生成する。 関連するSysRqコマンドを送信することで、トラブルシューティングやシステムの制御を回復するための貴重な診断データを収集できます。

SYSRQコマンド・キーのリストは、Enter キーの後に ~Bh チルダ、大文字のB、小文字のh)を押してください。 これらのキーの詳細については、LinuxMagic System Request Key Hacks - What are 'command' keys?