11.3. オーバークラウドの作成のトラブルシューティング
デプロイメントが失敗する可能性のあるレイヤーは 3 つあります。
- Orchestration (Heat および Nova サービス)
- Bare Metal Provisioning (Ironic サービス)
- デプロイメント後の設定 (Puppet)
オーバークラウドのデプロイメントがこれらのレベルで失敗した場合には、OpenStack クライアントおよびサービスログファイルを使用して、失敗したデプロイメントの診断を行います。
11.3.1. オーケストレーション
多くの場合は、オーバークラウドの作成に失敗した後に、Heat により失敗したオーバークラウドスタックが表示されます。
$ heat stack-list +-----------------------+------------+--------------------+----------------------+ | id | stack_name | stack_status | creation_time | +-----------------------+------------+--------------------+----------------------+ | 7e88af95-535c-4a55... | overcloud | CREATE_FAILED | 2015-04-06T17:57:16Z | +-----------------------+------------+--------------------+----------------------+
スタック一覧が空の場合には、初期の Heat 設定に問題があることが分かります。Heat テンプレートと設定オプションをチェックし、さらに
openstack overcloud deploy
を実行後のエラーメッセージを確認してください。
11.3.2. Bare Metal Provisioning
ironic
をチェックして、全登録ノードと現在の状態を表示します。
$ ironic node-list +----------+------+---------------+-------------+-----------------+-------------+ | UUID | Name | Instance UUID | Power State | Provision State | Maintenance | +----------+------+---------------+-------------+-----------------+-------------+ | f1e261...| None | None | power off | available | False | | f0b8c1...| None | None | power off | available | False | +----------+------+---------------+-------------+-----------------+-------------+
プロビジョニングプロセスでよく発生する問題を以下に示します。
- 結果の表の Provision State および Maintenance の列を確認します。以下をチェックしてください。
- 空の表または、必要なノード数よりも少ない
- Maintenance が True に設定されている
- Provision State が
manageable
に設定されている
これにより、登録または検出プロセスに問題があることが分かります。たとえば、Maintenance が True に自動的に設定された場合は通常、ノードの電源管理の認証情報が間違っています。 - Provision State が
available
の場合には、ベアメタルのデプロイメントが開始される前に問題が発生します。 - Provision State が
active
で、Power State がpower on
の場合には、ベアメタルのデプロイメントは正常に完了しますが、問題は、デプロイメント後の設定ステップで発生することになります。 - ノードの Provision State が
wait call-back
の場合には、このノードではまだ Bare Metal Provisioning プロセスが完了していません。このステータスが変更されるまで待機してください。または、問題のあるノードの仮想コンソールに接続して、出力を確認します。 - Provision State が
error
またはdeploy failed
の場合には、このノードの Bare Metal Provisioning は失敗しています。ベアメタルノードの詳細を確認してください。$ ironic node-show [NODE UUID]
エラーの説明が含まれるlast_error
フィールドがないか確認します。エラーメッセージは曖昧なため、ログを使用して解明します。$ sudo journalctl -u openstack-ironic-conductor -u openstack-ironic-api
wait timeout error
が表示されており、Power State がpower on
の場合には、問題のあるノードの仮想コンソールに接続して、出力を確認します。
11.3.3. デプロイメント後の設定
設定ステージでは多くのことが発生する可能性があります。たとえば、設定に問題があるために、特定の Puppet モジュールの完了に失敗する可能性があります。本項では、これらの問題を診断するプロセスを説明します。
手順11.4 デプロイメント後の設定の問題の診断
- オーバークラウドスタックからのリソースをすべて表示して、どのスタックに問題があるのかを確認します。
$ heat resource-list overcloud
このコマンドでは、全リソースとその状態の表が表示されるため、CREATE_FAILED
の状態のリソースを探します。 - 問題のあるリソースを表示します。
$ heat resource-show overcloud [FAILED RESOURCE]
resource_status_reason
のフィールドの情報で診断に役立つ可能性のあるものを確認します。 nova
コマンドを使用して、オーバークラウドノードの IP アドレスを表示します。$ nova list
デプロイされたノードの 1 つにheat-admin
ユーザーとしてログインします。たとえば、スタックのリソース一覧から、コントローラーノード上にエラーが発生していることが判明した場合には、コントローラーノードにログインします。heat-admin
ユーザーには、sudo アクセスが設定されています。$ ssh heat-admin@192.0.2.14
os-collect-config
ログを確認して、考えられる失敗の原因をチェックします。$ sudo journalctl -u os-collect-config
- 場合によっては、Nova によるノードへのデプロイメントが完全に失敗する可能性があります。このような場合にはオーバークラウドのロール種別の 1 つの
OS::Heat::ResourceGroup
が失敗していることが示されるため、nova
を使用して問題を確認します。$ nova list $ nova show [SERVER ID]
最もよく表示されるエラーは、No valid host was found
のエラーメッセージです。このエラーのトラブルシューティングについては、「"No Valid Host Found" エラーのトラブルシューティング」を参照してください。その他の場合は、以下のログファイルを参照してトラブルシューティングを実施してください。/var/log/nova/*
/var/log/heat/*
/var/log/ironic/*
- システムのハードウェアおよび設定に関する情報を収集する SOS ツールセットを使用します。この情報は、診断目的とデバッグに使用します。SOS は通常、技術者や開発者のサポートに使用され、アンダークラウドでもオーバークラウドでも便利です。以下のコマンドで
sos
パッケージをインストールします。$ sudo yum install sos
レポートを生成します。$ sudo sosreport --all-logs
コントローラーノードのデプロイ後のプロセスは、6 つの主なステップで構成されます。以下のステップが含まれます。
ステップ
|
説明
|
---|---|
ControllerLoadBalancerDeployment_Step1
|
Pacemaker、RabbitMQ、Memcached、Redis、および Galera を含むロードバランシング用のソフトウェアの初期設定
|
ControllerServicesBaseDeployment_Step2
|
Pacemaker の設定、HAProxy、MongoDB、Galera、Ceph Monitor、OpenStack Platform の各種サービス用のデータベースの初期化を含む、クラスターの初期設定
|
ControllerRingbuilderDeployment_Step3
|
OpenStack Object Storage (
swift ) 用のリングファイルの初期構築
|
ControllerOvercloudServicesDeployment_Step4
|
全 OpenStack Platform サービスの設定 (
nova 、neutron 、cinder 、sahara 、ceilometer 、heat 、horizon 、aodh 、gnocchi )。
|
ControllerOvercloudServicesDeployment_Step5
|
サービス起動順序やサービス起動パラメーターを決定するための制約事項を含む、Pacemaker でのサービスの起動設定値の設定
|
ControllerOvercloudServicesDeployment_Step6
|
オーバークラウドの設定の最終段階
|