source /etc/keystone/admin-openrc.sh #在执行OpenStack的命令,要先执行此脚本
一、服务命令
#查看租户
openstack project list
#查看所有服务的状态
openstack-service status
#查看所有的组件状态
openstack-status
#查看OpenStack中所有的端点
openstack endpoint list
#查看openstack发行版本
nova-manage --version
#查看openstack中的镜像
glance image-list
#查看rabbitmq的状态
systemctl status rabbitmq-server
补充:rabbitmq有一个web页面,可以学习学习
# 启动rabbitmqGUI页面,也就是web页面
rabbitmq-plugins enable rabbitmq_management # 访问控制节点IP:15672
# 如果web页面没有打开,可以重启下rabbitmq服务
service rabbitmq-server restart
# 查看用户列表
rabbitmqctl list_users
# 必须用管理员账号登录,管理员密码即使管理员的名称
# 也可以新增一个管理员账号,在服务器上运行以下命令即可:
rabbitmqctl add_user newadmin newpassword
rabbitmqctl set_user_tags newadmin administrator
rabbitmqctl set_permissions -p / newadmin ".*" ".*" ".*"
# newadmin为新管理员账号,newpassword为密码 , 可以自行命名
二、查看日志
/var/log
├── anaconda
│ ├── anaconda.log
│ ├── ifcfg.log
│ ├── journal.log
│ ├── ks-script-4sJsyx.log
│ ├── ks-script-xHVfx_.log
│ ├── packaging.log
│ ├── program.log
│ ├── storage.log
│ ├── syslog
│ └── X.log
├── aodh
│ ├── aodh-dbsync.log
│ ├── evaluator.log
│ ├── listener.log
│ └── notifier.log
├── audit
│ └── audit.log
├── barbican
├── boot.log
├── boot.log-20210918
├── boot.log-20210920
├── boot.log-20210924
├── boot.log-20211026
├── boot.log-20211027
├── boot.log-20211028
├── boot.log-20211029
├── btmp
├── btmp-20210906
├── btmp-20211026.gz
├── ceilometer
│ ├── agent-notification.log
│ ├── ceilometer-upgrade.log
│ └── central.log
├── chrony
├── cinder
│ ├── api.log
│ ├── cinder-manage.log
│ └── scheduler.log
├── cron
├── cron-20210906
├── cron-20210916
├── cron-20210924
├── cron-20211026.gz
├── dmesg
├── dmesg.old
├── firewalld
├── glance
│ ├── api.log
│ └── registry.log
├── glusterfs
├── gnocchi
│ ├── api.log
│ ├── app.log
│ └── metricd.log
├── grubby_prune_debug
├── heat
│ ├── heat-api-cfn.log
│ ├── heat-api.log
│ └── heat-engine.log
├── horizon
├── httpd
│ ├── access_log
│ ├── access_log-20210906.gz
│ ├── access_log-20210916.gz
│ ├── access_log-20210924.gz
│ ├── access_log-20211026
│ ├── aodh_wsgi_access.log
│ ├── aodh_wsgi_error.log
│ ├── barbican_wsgi_main_access_ssl.log
│ ├── barbican_wsgi_main_error_ssl.log
│ ├── error_log
│ ├── error_log-20210906.gz
│ ├── error_log-20210916.gz
│ ├── error_log-20210924.gz
│ ├── error_log-20211026
│ ├── gnocchi_wsgi_access.log
│ ├── gnocchi_wsgi_error.log
│ ├── keystone_access.log
│ ├── keystone_access.log-20210906.gz
│ ├── keystone_access.log-20210916.gz
│ ├── keystone_access.log-20210924.gz
│ ├── keystone_access.log-20211026
│ └── keystone.log
├── keystone
│ └── keystone.log
├── lastlog
├── maillog
├── maillog-20210906
├── maillog-20210916
├── maillog-20210924
├── maillog-20211026.gz
├── mariadb
│ └── mariadb.log
├── messages
├── messages-20210906
├── messages-20210916
├── messages-20210924
├── messages-20211026.gz
├── neutron
│ ├── dhcp-agent.log
│ ├── l3-agent.log
│ ├── linuxbridge-agent.log
│ ├── metadata-agent.log
│ └── server.log
├── nova
│ ├── nova-api.log
│ ├── nova-conductor.log
│ ├── nova-consoleauth.log
│ ├── nova-manage.log
│ ├── nova-novncproxy.log
│ ├── nova-placement-api.log
│ └── nova-scheduler.log
├── rabbitmq
│ ├── rabbit@controller.log
│ ├── rabbit@controller.log-20210906.gz
│ ├── rabbit@controller.log-20210916.gz
│ ├── rabbit@controller.log-20210924.gz
│ ├── rabbit@controller.log-20211026
│ └── rabbit@controller-sasl.log
├── rhsm
├── secure
├── secure-20210906
├── secure-20210916
├── secure-20210924
├── secure-20211026.gz
├── spooler
├── spooler-20210906
├── spooler-20210916
├── spooler-20210924
├── spooler-20211026.gz
├── swift
├── tallylog
├── tuned
│ └── tuned.log
├── vmware-vgauthsvc.log.0
├── vmware-vmsvc.log
├── wtmp
├── xferlog
├── xferlog-20210906
├── xferlog-20210916
├── xferlog-20210924
├── xferlog-20211026
├── yum.log
└── zun
├── zun-api.log
└── zun-wsproxy.log
这些日志都在/var/log/ 下的
查看日志是否有错误
如: tail -n 50 /var/log/keystone/keystone.log | grep ERROR
三、各服务排错步骤
Keystone排错
1、首先查看5000和35357端口是否处于开放状态 lsof -i:5000 和 lsof -i:35357(有输出说明开放,反之没开放)
2、确保数据库服务处于active状态 systemctl status mariadb
3、查看Keystone的endpoint端点是否存在 openstack endpoint list | grep keystone
Glance排错
1、查看数据库服务是否处于active状态 systemctl status mariadb
2、查看Glance服务的endpoint是否存在 openstack endpoint list | grep glance
3、查看Keystone服务是否处于active状态 systemctl status httpd (keystone集成到apache里了)
4、若Glance后端存储对接其他存储,查看Glance后端存储目录的用户和用户组是否为Glance:
[root@controller ~]# cd /var/lib/glance/
[root@controller glance]# ll
total 0
drwxr-x---. 2 glance glance 94 Sep 18 15:17 images
Nova排错
1、查看数据库服务是否处于active状态 systemctl status mariadb
2、查看Nova服务的endpoint是否存在 openstack endpoint list | grep nova
3、查看Keystone服务是否处于active状态 systemctl status httpd (keystone集成到apache里了)
4、使用nova service-list看哪些服务不正常 nova service-list
5、若Nova服务后端修改存储位置,查看Nova实例存储目录的权限是否发生了变化:
[root@compute ~]# cd /var/lib/nova/instances/
[root@compute instances]# ll
total 4
drwxr-xr-x. 2 nova nova 54 Oct 29 15:09 355813b1-c438-4a75-86d4-bf91ca6e84f0(云主机在这)
drwxr-xr-x. 2 nova nova 54 Oct 29 15:09 _base
-rw-r--r--. 1 nova nova 30 Oct 29 16:16 compute_nodes
drwxr-xr-x. 2 nova nova 93 Oct 29 15:09 locks
drwxr-xr-x. 2 nova nova 6 Sep 18 15:17 snapshots
Neutron排错
1、查看数据库服务是否处于active状态 systemctl status mariadb
2、查看Neutron服务的endpoint是否存在 openstack endpoint list | grep neutron
3、查看Keystone服务是否处于active状态 systemctl status httpd (keystone集成到apache里了)
4、查看linuxbridge-agent.service服务是否处于active状态 openstack-service status |grep neutron-linuxbridge
5、查看Neutron各服务是否处于active状态 openstack-service status |grep neutron
Cinder排错
1、查看数据库服务是否处于active状态 systemctl status mariadb
2、查看Cinder服务的endpoint是否存在 openstack endpoint list | grep cinder
3、查看Keystone服务是否处于active状态 systemctl status httpd (keystone集成到apache里了)
4、查看cinder-volume卷组是否处于可用状态或者是否还有剩余空间 cinder service-list | grep cinder-volume
5、查看Cinder各服务是否处于active状态 openstack-service status |grep cinder
Swift排错
1、查看数据库服务是否处于active状态 systemctl status mariadb
2、查看Swift服务的endpoint是否存在 openstack endpoint list | grep swift
3、查看Keystone服务是否处于active状态 systemctl status httpd (keystone集成到apache里了)
4、查看/swift/node目录是否已满:
[root@compute ~]# cd /swift/node
[root@compute node]# ll
total 0
drwxr-xr-x. 3 swift swift 21 Sep 24 18:05 sdc
四、OpenStack重启服务命令
#重启OpenStack全部服务
openstack-service restart
#重启OpenStack的nova服务
openstack-service restart nova
#重启OpenStack的nova中的nova-api.service
systemctl restart openstack-nova-api.service
总结
OpenStack出现报错,我们首先想到的排错思路应该去看日志,以自己的经验
来定位错误在那个服务上,然后去看它的日志
参考:https://blog.csdn.net/weixin_45786162/article/details/115449754