22.7. 「No Valid Host Found」エラーに関するトラブルシューティング


/var/log/nova/nova-conductor.log に、以下のエラーが含まれる場合があります。

NoValidHost: No valid host was found. There are not enough hosts available.

このエラーは、Compute Scheduler が新規インスタンスをブートするのに適したベアメタルノードを検出できない場合に発生します。通常これは、Compute サービスが検出を想定しているリソースと、Bare Metal サービスが Compute に通知するリソースが、一致していないことを意味します。以下の手順で、その確認方法を説明します。

手順

  1. stackrc ファイルを取得します。

    $ source ~/stackrc
  2. ノードのイントロスペクションが成功したことを確認します。イントロスペクションが失敗する場合には、各ノードに必要な ironic ノードの属性が含まれていることを確認してください。

    (undercloud) $ openstack baremetal node show [NODE UUID]

    properties JSON フィールドの cpuscpu_archmemory_mb、および local_gb キーに有効な値が指定されていることを確認してください。

  3. ノードにマッピングされた Compute フレーバーを確認します。

    (undercloud) $ openstack flavor show [FLAVOR NAME]

    必要なノード数のノードプロパティーを超えないようにしてください。

  4. openstack baremetal node list コマンドを実行して、available 状態のノードが十分にあることを確認します。ノードの状態が manageable の場合には、通常イントロスペクションに失敗します。
  5. openstack baremetal node list コマンドを実行し、ノードがメンテナンスモードに設定されていないことを確認します。ノードが自動的にメンテナンスモードに切り替わる場合には、電源管理の認証情報が間違っていることが一般的な原因として考えられます。電源管理の認証情報を確認し、メンテナンスモードを解除します。

    (undercloud) $ openstack baremetal node maintenance unset [NODE UUID]
  6. プロファイルの自動タグ付けを使用している場合には、各フレーバー/プロファイルに対応するノードが十分に存在することを確認します。ノードで openstack baremetal node show コマンドを実行し、properties フィールドの capabilities キーを確認します。たとえば、Compute ロールのタグを付けられたノードには、profile:compute が含まれているはずです。
  7. イントロスペクションの後に Bare Metal から Compute にノードの情報が反映されるには、若干時間がかかります。ただし、一部のステップを手動で実行した場合には、短時間ですが、Nova でノードが利用できなくなる場合があります。以下のコマンドを使用して、システム内の合計リソースをチェックします。

    (undercloud) $ openstack hypervisor stats show
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.