이 절에서는 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'