SMF 服务和各个 Oracle Solaris 进程会生成日志文件,您可以在其中查找错误消息或收集有关在屏幕上显示的消息的更多信息。SMF 服务日志文件包含有价值的调试信息。
因为 OpenStack 通常是跨多个系统安装的,因此需要检查的日志文件也在不同的位置。有关更系统化的故障排除,请查阅每个节点的日志。
有关修复 SMF 服务问题的一般帮助,请参见适用于您操作系统发行版的《在 Oracle Solaris 中管理系统服务》中的故障排除一节。转至 http://docs.oracle.com/en/operating-systems/ 中的适用库。
要查看服务日志,请确保拥有恰当的授权。采用相应的 RBAC 配置文件查看 OpenStack 服务日志文件或使用 pfedit 命令修改 OpenStack 服务配置文件。可以指定以下配置文件:
OpenStack Block Storage Management(OpenStack 块存储管理)
OpenStack Compute Management(OpenStack 计算管理)
OpenStack Identity Management(OpenStack 身份管理)
OpenStack Image Management(OpenStack 映像管理)
OpenStack Network Management(OpenStack 网络管理)
OpenStack Object Storage Management(OpenStack 对象存储管理)
OpenStack Management(OpenStack 管理)
要进行故障排除,请使用以下常规命令:
找出特定节点上正在运行哪些 OpenStack 服务:
# svcs -a | grep openstack
列出哪些服务可能处于维护模式:
# svcs -x svc:/application/openstack/swift/swift-replicator-rsync: default (OpenStack Swift Replication Service) State: maintenance since Fri May 22 04:06:11 2015 Reason: Start method exited with $SMF_EXIT_ERR_FATAL. See: http://support.oracle.com/msg/SMF-8000-KS See: rsync(1) See: rsyncd.conf(5) See: /var/svc/log/application-openstack-swift-swift-replicator-rsync:default.log Impact: This service is not running.
如果某个服务处于维护模式,请检查服务日志文件。
确定特定 OpenStack 服务的日志:
# svcs -L openstack-service
例如:
# svcs -L neutron-server /var/svc/log/application-openstack-neutron-neutron-server:default.log
在拥有恰当授权的情况下,您可以组合选项(如 –Lv)来列出和查看服务的日志。
要立即确定在特定日志中记录的错误实例,可使用通用的 UNIX 命令,如 grep。
# grep keyword `svcs -L openstack-service`
可以搜索 error、warning 及其他重要关键字实例来直接阅读错误消息。
要在解决网络问题时检查 EVS 属性,可使用各种 evsadm 子命令,如 evsadm show-prop。
OpenStack list 命令行可提供有关组件状态的信息。例如,nova list 显示计算节点上的活动实例,而 nova image-list 则显示可用的映像及其状态。有关输出样例,请参见显示有关映像的信息。
以下日志通常包含对故障排除有用的信息:
nova-compute
nova-scheduler
cinder-scheduler
neutron-server
除了 SMF 服务日志文件,还可以检查 /var/log 目录中的日志。就像其他 Oracle Solaris 进程一样,OpenStack 服务还会在 /var/log/openstack-service 目录中生成自己的日志文件。
例如,OpenStack 映像存储日志文件位于 /var/log/glance。创建和引导 VM 实例的问题可能会记录在 /var/log/zones 目录中。消息日志存储为 /var/log/rabbitmq/rabbit@hostname.log。
大多数 OpenStack 配置文件位于 /etc 目录中的 OpenStack 服务名称下。例如,OpenStack 网络配置文件位于 /etc/neutron。Horizon 的配置文件位于 /etc/openstack_dashboard。Nova 的这些配置文件位于 /etc/nova 中,依此类推。可以使用这些文件排除特定服务的故障:在服务的配置文件中设置或取消注释以下参数:
debug=true
verbose=true
通过这些参数,可以看到更多受该配置文件影响的操作的输出。请参见 OpenStack 文档站点上 http://www.oracle.com/technetwork/articles/servers-storage-admin/getting-started-openstack-os11-2-2195380.htmlGetting Started with OpenStack on Oracle Solaris 11.3 和《OpenStack Configuration Reference》(《OpenStack 配置参考》)中 "Common Configuration Parameters for OpenStack"(“OpenStack 的常见配置参数”)中的配置选项表。