OpenStack上重装了cinder-volume后无法正常启动

问题现象:cinder-volume服务无法正常启动

发生原因:重装cinder组件的时候,依赖关系存在问题,依照OpenStack文档安装cinder组件的时候,安装了一个组件叫:iscsitarget,Ubuntu上的Target服务还有另外一个包叫tgt,也能完成iscsitarget的功能,重新安装cinder-volume的时候,tgt组件被安装上了,结果占用了iscsitarget组件的3260端口,导致iscsitarget无法启动,从而cinder-volume服务也无法正常启动。

可以使用lsof命令查看端口情况,如:lsof -i:3260

解决办法

第一步、卸载iscsitarget组件及依赖组件,重新安装cinder组件,但是将其中的iscsitarget换成tgt,如

apt-get install cinder-api cinder-scheduler cinder-volume open-iscsi tgt

第二步、修改/etc/cinder/cinder.conf文件如:

[DEFAULT]
rootwrap_config=/etc/cinder/rootwrap.conf
sql_connection = mysql://cinderUser:[email protected]/cinder
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper=tgtadm
volume_name_template = volume-%s
volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
state_path=/var/lib/cinder
volumes_dir=/var/lib/cinder/volumes

第三步、重启所有cinder服务

cd /etc/init.d/; for i in $( ls cinder-* ); do sudo service $i restart; done

问题解决。

注意:若此时cinder-volume服务还是无法启动,请检查是否还有iscsitarget的进程占用,同时检查3260端口是否被占用

相关阅读

相关推荐