热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

openstackcinder中的iscsitarget和tgt

作为个人学习笔记分享,有任何问题欢迎交流!根据《Ubuntu13.04安装OpenStackGrizzly》,安装Cinder组件:apt-getinstall-ycinder-apicinder-schedulercinder-volumeiscsitargetopen-iscsiiscsitarget-dkms在/

作为个人学习笔记分享,有任何问题欢迎交流!

根据《Ubuntu13.04安装OpenStack Grizzly》,安装Cinder组件:

apt-get install-y cinder-api cinder-scheduler cinder-volume iscsitargetopen-iscsi iscsitarget-dkms

在/etc/cinder/cinder.conf文件中,更改对应iscsitarget 组件的配置:iscsi_helper= ietadm  。

以上方法无法正常使用volume,原因如下:

ubuntu下安装target服务有2个包都能完成,一个是 iscsitarget,另外一个是tgt这俩个的区别就在于:

A)iscsitarget 是ietd.conf 为主配置文件,用ietadm动态加载;

B)而tgt 是  targets.conf,tgtadm动态加载

但是,重启电脑后,tgt将首先启动,占据与iscsi的通信端口3260,可以netstat ?tulpn| grep 3260查看,导致iscsitarget无法启动,从而导致无法使用volume。

解决方法:

卸载iscsitarget:

apt-get removeiscsitarget

         根据另外一种安装方法(参考官方安装文档:bk-block-storage-adminguide-grizzly)重新安装cinder:

sudo apt-getinstall cinder-api

cinder-schedulercinder-volume open-iscsi python-cinderclient tgt

在/etc/cinder/cinder.conf文件中,更该对应iscsitarget 组件的配置:iscsi_helper= tgtadm。

此时还不能正常运行,提示如下错误:

OSError: [Errno 13] Permission denied:'/usr/lib/python2.7/dist-packages/volumes'

解决方法:在/etc/cinder/cinder中添加配置:

state_path=/var/lib/cinder

volumes_dir=/var/lib/cinder/volumes

原因:tgt为了以便节点或它自身重启后查询volume,会在volumes_dir目录下写入volume的信息。

grizzly中cinder-volume和tgt存在依赖关系,推荐用tgt.

2013.7.11更新:

分析上面报Errno13错误的原因

以下是/var/log/cinder/cinder-volume.log中的报错信息:

2013-07-11 07:14:32    ERROR [cinder.service] Unhandled exception
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/cinder/service.py", line 224, in _start_child
    self._child_process(wrap.server)
  File "/usr/lib/python2.7/dist-packages/cinder/service.py", line 201, in _child_process
    launcher.run_server(server)
  File "/usr/lib/python2.7/dist-packages/cinder/service.py", line 95, in run_server
    server.start()
  File "/usr/lib/python2.7/dist-packages/cinder/service.py", line 342, in start
    self.manager.init_host()
  File "/usr/lib/python2.7/dist-packages/cinder/volume/manager.py", line 152, in init_host
    self.driver.ensure_export(ctxt, volume)
  File "/usr/lib/python2.7/dist-packages/cinder/volume/drivers/lvm.py", line 391, in ensure_export
    old_name=old_name)
  File "/usr/lib/python2.7/dist-packages/cinder/volume/iscsi.py", line 127, in create_iscsi_target
    utils.ensure_tree(FLAGS.volumes_dir)
  File "/usr/lib/python2.7/dist-packages/cinder/utils.py", line 1166, in ensure_tree
    os.makedirs(path)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/dist-packages/volumes'


推荐阅读
  • 本文详细探讨了在使用 Python 的 pip 工具安装包时遇到的 ReadTimeoutError 错误,并提供了有效的解决方案。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 在执行市场篮子分析时遇到性能瓶颈,尤其是在设定频繁项集的支持度阈值为1%时。本文探讨了如何通过调整代码和参数来提高分析效率。 ... [详细]
  • AI炼金术:KNN分类器的构建与应用
    本文介绍了如何使用Python及其相关库(如NumPy、scikit-learn和matplotlib)构建KNN分类器模型。通过详细的数据准备、模型训练及新样本预测的过程,展示KNN算法的实际操作步骤。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • Python 领跑!2019年2月编程语言排名更新
    根据最新的编程语言流行指数(PYPL)排行榜,Python 在2019年2月的份额达到了26.42%,稳坐榜首位置。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • Markdown 编辑技巧详解
    本文介绍如何使用 Typora 编辑器高效编写 Markdown 文档,包括代码块的插入方法等实用技巧。Typora 官方网站:https://www.typora.io/ 学习资源:https://www.markdown.xyz/ ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • Jenkins API当前未直接提供获取任务构建队列长度的功能,因此需要通过解析HTML页面来间接实现这一需求。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 本文介绍如何在阿里云环境中利用 Docker 容器化技术部署一个简单的 Flask Web 应用,并确保其可通过互联网访问。内容涵盖 Python 代码编写、Dockerfile 配置、镜像构建及容器运行等步骤。 ... [详细]
author-avatar
陈小默gg
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有