このセクションでは、Nova ドライバの問題をトラブルシューティングする方法について説明します。
Oracle VM Server for SPARC OpenStack Nova ドライバは、nova.conf 内の debug および verbose プロパティー値に基づいてさまざまな詳細レベルを提供します。
verbose=true を指定することをお勧めします。また、問題のトラブルシューティングに役立つように debug=true を設定することもできます。
デバッグモードでは、Oracle VM Server for SPARC OpenStack Nova ドライバは、任意の特定の時点で実行中のメソッドを正確に特定するために役立つトレースメッセージを提供します。これらのメッセージは、発生した問題の原因を特定するために役立ちます。メソッドエントリを見つけるには、nova-compute サービス (SMF) ログで method_run: を検索します。メソッド戻り値を見つけるには、nova-compute サービスログで method_return: を検索します。
ドライバからのほかのログメッセージを表示します。ドライバは、DEBUG:、WARNING:、ERROR:、EXCEPTION:、または INFO: で始まるほかのログ出力も提供します。
Nova デバッグドライバのログエントリは、次のような行で始まります。
2016-07-07 15:14:51.404 29186 DEBUG nova.virt.ldoms.driver
nova-compute サービス自体は、処理されていない例外が発生した場合に TRACE メッセージを提供します。問題の根本原因を特定するには、TRACE メッセージを検索します。
ドライバが予期したとおりに起動したことを確認します。nova-compute サービスの起動時には、このサービスが正しく起動したことを確認します。ドライバの起動時または再起動時には、次のような行がログに表示されます。
2016-07-07 15:20:14.011 1098 DEBUG nova.service [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] Creating RPC server for service compute start /usr/lib/python2.7/vendor-packages/nova/service.py:188 2016-07-07 15:20:14.013 1098 INFO oslo_messaging._drivers.impl_rabbit [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] Connecting to AMQP server on 10.0.68.21:5672 2016-07-07 15:20:14.026 1098 INFO oslo_messaging._drivers.impl_rabbit [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] Connected to AMQP server on 10.0.68.21:5672 2016-07-07 15:20:14.033 1098 DEBUG nova.service [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] Join ServiceGroup membership for this service compute start /usr/lib/python2.7/vendor-packages/nova/service.py:206 2016-07-07 15:20:14.033 1098 DEBUG nova.servicegroup.drivers.db [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] DB_Driver: join new ServiceGroup member 10.0.68.22 to the compute group, service = <nova.service.Service object at 0xea967cf0> join /usr/lib/python2.7/vendor-packages/nova/servicegroup/drivers/db.py:59
AMQP への接続と DB_Driver: join new ServiceGroup member メッセージが表示されない場合は、構成の問題のためにドライバが停止していないことを確認します。これが構成の問題である場合、EXCEPTION または ERROR で始まる例外が起動ログの前半に表示されます。
ドライバが構成の問題を検出しない場合、管理ネットワークの MTU がすべての場所で同じであること、NTP が構成されていること、および名前解決が動作していることを確認します。
デバッグモード (debug=true) では、ドライバからの DEBUG メッセージは Nova コンピュートマネージャーのログに書き込まれます。Nova ドライバには run_method および method_return トレースがあります。ドライバが実行するすべてのメソッドでこれらのトレースに従うことができます。これらのトレースは、問題が発生した場所を正確に特定するために役立ち、問題につながった直前のすべてのステップを示します。
次のコマンドを使用して、デバッグモードになっているときに、またはデバッグログファイルを使用して、デバッグプロセスを簡素化できます。
nova# tail -f `svcs -L nova-compute` | egrep 'DEBUG: run_method:|TRACE|EXCEPTION'
または、戻り値を指定して、method_return を含むトレースを実行します。
nova# tail -f `svcs -L nova-compute` \ | egrep 'DEBUG: run_method:|DEBUG: method_return:|TRACE|EXCEPTION'
次のコマンドはトレースを実行して、DLM やその他の PERIODIC タスクを除外します。
nova# tail -f `svcs -L nova-compute` | egrep 'DEBUG: run_method:|TRACE|EXCEPTION' \ | egrep -v 'PERIODIC|dlm'