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配置情况
从结果可以看出有问题的卷的 target iqn.2010-10.org.openstack:volume-cb485c3e-3b1b-4dd4-ae0d-37d75d0c4c0f
acls是空的。这样这个target是无法正常使用的。
解决办法:
调用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的
另外如果targrt丢失,或被删除了。重启cinder-volume服务会自动生成targrt。