在虚拟机Ubuntu系统中安装openstack的过程中,出现的问题:


在安装Cinder的时候,按照官网教程需要安装


apt-get install iscsitarget iscsitarget-dkms


但是安装iscsitarget-dkms过程中会出错,错误提示如下:


Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=3.2.0-5-generic -C /lib/modules/3.2.0-5-generic/build M=/var/lib/dkms/iscsitarget/1.4.20.2/build......(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.2.0-5-generic (x86_64)

Consult /var/lib/dkms/iscsitarget/1.4.20.2/build/make.log for more information.

结果就是之后启动iscsitarget服务的时候会报错:

FATAL: Module iscsi_trgt not found.


这是由于编译的时候缺少头文件<linux/export.h>和<linux/module.h>造成的。最新版本的iscsitarget已经解决了这个问题。iscsitarget最新版本可以在这里找到

https://launchpad.net/ubuntu/+source/iscsitarget



因为通过apt-get install的iscsitarget并不是最新版本,所以会造成上述错误。解决办法如下:


https://launchpad.net/ubuntu/+ppas 搜索"iscsitarget",如图所示


Ubuntu 12.04安装iscsitarget-dkms出错解决方法_ubuntu 12.04 iscsita

然后选择包含最新版本iscsitarget的源,比如:


Ubuntu 12.04安装iscsitarget-dkms出错解决方法_ubuntu 12.04 iscsita_02

然后添加源并更新:


add-apt-repository ppa:smb/iscsitarget

apt-get  update


之后


apt-get install iscsitarget iscsitarget-dkms


就可以一路成功了。