关于openstack中cinder模块安装后 启动状态为down
这里首先介绍一下我的环境
我只有两台主机 一台controller 一台compute 这里compute复用为存储节点
在compute上添加了一块硬盘 使用的是centos7
我们把服务开启
但是当我们过一段时间再次使用
cinder service-list
查看时就出现了这种情况
这是为什么呢?
查看日志文件
cd /var/log/cinder/ ##进入cinder模块的日志文件中
##会有以下三个文件
-rw-r--r--. 1 cinder cinder 31819 12月 3 14:04 api.log
-rw-r--r--. 1 cinder cinder 10869 12月 3 13:47 cinder-manage.log
-rw-r--r--. 1 cinder cinder 1016 12月 3 13:49 scheduler.log
###我们依次查看
tail -5 api.log
2020-12-03 14:04:19.630 41146 INFO cinder.api.openstack.wsgi [req-f5793521-df40-45bc-b9a9-250bef50f9b7 7ec37bf13aae4a608da9399a43632fd5 79a922f7d7f14ef7892e3bebf11d0286 - - -] http://controller:8776/v2/79a922f7d7f14ef7892e3bebf11d0286/os-services returned with HTTP 200
2020-12-03 14:04:19.631 41146 INFO eventlet.wsgi.server [req-f5793521-df40-45bc-b9a9-250bef50f9b7 7ec37bf13aae4a608da9399a43632fd5 79a922f7d7f14ef7892e3bebf11d0286 - - -] 192.168.19.130 "GET /v2/79a922f7d7f14ef7892e3bebf11d0286/os-services HTTP/1.1" status: 200 len: 703 time: 0.1930370
2020-12-03 14:04:29.636 41146 INFO cinder.api.openstack.wsgi [req-828b0457-00f6-4f89-9bac-408fc074f441 7ec37bf13aae4a608da9399a43632fd5 79a922f7d7f14ef7892e3bebf11d0286 - - -] GET http://controller:8776/v2/79a922f7d7f14ef7892e3bebf11d0286/os-services
2020-12-03 14:04:29.640 41146 INFO cinder.api.openstack.wsgi [req-828b0457-00f6-4f89-9bac-408fc074f441 7ec37bf13aae4a608da9399a43632fd5 79a922f7d7f14ef7892e3bebf11d0286 - - -] http://controller:8776/v2/79a922f7d7f14ef7892e3bebf11d0286/os-services returned with HTTP 200
2020-12-03 14:04:29.641 41146 INFO eventlet.wsgi.server [req-828b0457-00f6-4f89-9bac-408fc074f441 7ec37bf13aae4a608da9399a43632fd5 79a922f7d7f14ef7892e3bebf11d0286 - - -] 192.168.19.130 "GET /v2/79a922f7d7f14ef7892e3bebf11d0286/os-services HTTP/1.1" status: 200 len: 703 time: 0.1589391
tail -5 cinder-manage.log
2020-12-03 13:47:34.481 41029 INFO migrate.versioning.api [-] done
2020-12-03 13:47:34.481 41029 INFO migrate.versioning.api [-] 70 -> 71...
2020-12-03 13:47:34.511 41029 INFO migrate.versioning.api [-] done
2020-12-03 13:47:34.511 41029 INFO migrate.versioning.api [-] 71 -> 72...
2020-12-03 13:47:34.516 41029 INFO migrate.versioning.api [-] done
tail -5 scheduler.log
2020-12-03 13:49:55.273 41157 INFO cinder.rpc [req-1a66bcdf-b791-47a6-9cb7-b7750aba00cf - - - - -] Automatically selected cinder-volume objects version None as minimum service version.
2020-12-03 13:49:55.277 41157 INFO cinder.rpc [req-1a66bcdf-b791-47a6-9cb7-b7750aba00cf - - - - -] Automatically selected cinder-volume RPC version None as minimum service version.
2020-12-03 13:49:55.287 41157 INFO cinder.service [-] Starting cinder-scheduler node (version 8.0.0)
###可以看到三个文件都是没有问题的 这是在controller节点上的信息
但是你要清楚,cinder模块中我们的存储设备是放在存储节点(计算节点)的,而且volume.service 也是运行在各个存储节点的 所以cinder的主要或者说重要配置和启动项都是在存储节点上的,更多的问题应该是在存储节点上
cd /var/log/cinder
ll
tail -5 volume.log
这时,文件里面会有明显的报错信息
翻译过来就是
compute@lvm is reporting problems,not sending heartbeat.service will appear "down
计算@lvm是报告问题,而不是发送心跳。服务将显示“向下
意思就是说我们的controller和compute之间无法传递消息,通不了信。当然就没办法更新他的状态
具体源码解析看这位大神的解析
这个时候我们的问题就可以迎刃而解了
就是把主机间的时间同步一下就好了,可以选择使用ntp等等。我选择了最简单粗暴的做法
tzselect ##设置是时区
然后再次查看就可以啦