在测试openstack中的volume服务时把lvm挂载到虚拟机实例时失败

以下是计算节点nova-compute.log 的错误日志:

2012-07-24 14:33:08 TRACE nova.rpc.amqp ProcessExecutionError: Unexpected error while running command.
2012-07-24 14:33:08 TRACE nova.rpc.amqp Command: sudo nova-rootwrap iscsiadm -m node -T iqn.2010-10.org.openstack:volume-00000011 -p 192.168.0.23:3260 –rescan
2012-07-24 14:33:08 TRACE nova.rpc.amqp Exit code: 255
2012-07-24 14:33:08 TRACE nova.rpc.amqp Stdout: ”
2012-07-24 14:33:08 TRACE nova.rpc.amqp Stderr: ‘iscsiadm: No portal found.\n

以上错误是没有找到iscsi服务端共享出的存储,查找了很多openstack 资料说要添加以下两个参数:

iscsi_ip_prefix=192.168.10         #openstack环境内网段
iscsi_ip_address=192.168.10.3   # volume机器内网IP

可是问题依然无法解决
 

之前我同事在部署测试时,发现只要在nova.conf配置文件中添加参数 iscsi_helper=tgtadm 就挂载失败

根据这个情况进行了测试 查看日志发现:

在添加参数iscsi_helper=tgtadm 后创建volume时使用的命令如下:

openstack中volume服务挂载lvm到虚拟机实例失败_第1张图片

如果不使用 参数iscsi_helper=tgtadm 时创建volume时使用的命令:

openstack中volume服务挂载lvm到虚拟机实例失败_第2张图片

看到上面的截图 ,我想大家应该明白了 ,如果使用参数 iscsi_helper=tgtadm 时就必须使用 tgt 服务,反之使用iscsitarget服务

我测试环境的问题是tgt和iscsitarget服务都已安装并运行着,在nova.conf配置中添加参数iscsi_helper=tgtadm ,查看端口3260 发现是iscsitarget服务占用,所以导致挂载失败,大家可以根据情况来使用哪个共享存储服务!!

如果觉得有什么不明白的可以留言, 一起学习 一起成长!!