openstack cinder 使用LVMVolumeDriver 时。虚拟机NovaException: iSCSI device not found问题

在cinder配置后端存储为LVMVolumeDriver时

[lvm-1]

iscsi_helper = lioadm

volume_group = ecloud-c116-sdb

iscsi_ip_address = 127.0.0.1

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volumes_dir = /var/lib/cinder/volumes

iscsi_protocol = iscsi

volume_backend_name = lvm

 

实际是把lvm逻辑卷做成了iscsi target。通过iscsi的方式挂载到宿主机上。

在开机时报  NovaException: iSCSI device not found at /dev/disk/by-path/ip-127.0.0.1:3260-iscsi-iqn.2010-10.org.openstack:volume-cb485c3e-3b1b-4dd4-ae0d-37d75d0c4c0f-lun-0

多半是由于挂载到iscsi设备找不到了。

 

由于配置的是iscsi_helper = lioadm

后端使用了targetcli 作为targrt管理工具

使用 targetcli  ls 查看taget配置情况

openstack cinder 使用LVMVolumeDriver 时。虚拟机NovaException: iSCSI device not found问题

 从结果可以看出有问题的卷的 target  iqn.2010-10.org.openstack:volume-cb485c3e-3b1b-4dd4-ae0d-37d75d0c4c0f

acls是空的。这样这个target是无法正常使用的。

openstack cinder 使用LVMVolumeDriver 时。虚拟机NovaException: iSCSI device not found问题

 

解决办法:

调用targetcli 相关命令仿照上面正常的创建acls里的启动器

iscsi/iqn.2010-10.org.openstack:volume-cb485c3e-3b1b-4dd4-ae0d-37d75d0c4c0f/tpg1/acls create iqn.1994-05.com.redhat:5286d7075eb

同理 如果luns有问题可以新建lun

iscsi/iqn.2010-10.org.openstack:volume-cb485c3e-3b1b-4dd4-ae0d-37d75d0c4c0f/tpg1/luns create  /backstores/block/iqn.2010-10.org.openstack:volume-cb485c3e-3b1b-4dd4-ae0d-37d75d0c4c0f

 

参考:https://bbs.51cto.com/thread-1552183-1.html###

 

另外如果是配置iscsi_helper = lioadm

实际上是通过

cinder-rtstool 这个工具来创建和删除target的

 

openstack cinder 使用LVMVolumeDriver 时。虚拟机NovaException: iSCSI device not found问题

 

openstack cinder 使用LVMVolumeDriver 时。虚拟机NovaException: iSCSI device not found问题

 

另外如果targrt丢失,或被删除了。重启cinder-volume服务会自动生成targrt。

openstack cinder 使用LVMVolumeDriver 时。虚拟机NovaException: iSCSI device not found问题