Centos7+Packstack安装部署Openstack Mitaka之(一) 安装Packstack

2023-05-16

学习Openstack的前两个月, 时间都花在环境部署上了, 主要是版本的问题, 导致了一系列的麻烦. 之前使用devstack已经部署成功了, 但是manila不能用, 残念, 问题主要出在网络上, 研究完manila的网络模块之后再回头找原因吧. 不打算继续在环境上花时间了, 这里给了一套可以重复的安装部署流程, 使用packstack.

1. 安装环境

虚拟机软件: VirtualBox
Centos镜像: CentOS-7-x86_64-DVD-1511(1).iso
网络: 一张NAT网卡 (默认IP: 10.0.2.15)

2. packstack安装过程

2.1 增加对packstack的解析

安装过程中可能会出现以下错误:

* unable to connect to epmd (port 4369) on packstack

原因是因为配置文件里将该进程放到了packstack这台主机上. 为了解决这个问题, 增加域名解析就行了:

[root@packstack ~]# uname -a
[root@packstack ~]# vim /etc/hosts
10.0.2.15   packstack
192.168.9.217   server

其中, server是我自己搭建的Centos7的本地源. 不使用本地源的不用增加这一项.

2.2 修改Centos和epel源

(1) Centos源

[root@packstack ~]# cd /etc/yum.repos.d/
[root@packstack ~]# mkdir bak
[root@packstack ~]# mv CentOS-* bak/
[root@packstack ~]# mv local_mitaka.repo /etc/yum.repos.d/

这里我使用了本地源. 没有搭建本地源的朋友直接修改成阿里云开源镜像即可. 方法类似下面的epel源.

(2) epel源

[root@packstack ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@packstack ~]# yum clean all
[root@packstack ~]# yum makecache

2.3 关防火墙和seliunx

[root@packstack ~]# systemctl stop firewalld
[root@packstack ~]# systemctl disable firewalld
[root@packstack ~]# vim /etc/selinux/config 
SELINUX=disabled

2.4 安装packstack包

[root@packstack ~]# yum -y install centos-release-openstack-mitaka epel-release 
[root@packstack ~]# yum -y install openstack-packstack

2.5 准备answer文件

answer文件根据我自己的环境修改过, 在下一篇博客中我将给出完整的文件.

[root@packstack ~]# touch packstack-answers-20160915-011640.txt_serverworld第二个版本有manila
[root@packstack ~]# vim packstack-answers-20160915-011640.txt_serverworld第二个版本有manila 

2.6 开始安装

[root@packstack ~]# packstack --answer-file packstack-answers-20160915-011640.txt_serverworld第二个版本有manila 

2.7 切换权限

[root@packstack ~]# source keystonerc_admin 
[root@packstack ~]# cat keystonerc_admin 
[root@packstack ~(keystone_admin)]# manila pool-list
+------+------+---------+------+
| Name | Host | Backend | Pool |
+------+------+---------+------+
+------+------+---------+------+

因为我的重点是研究manila模块, 所以安装成功之后第一时间检查了manila模块. 很遗憾, manila模块安装失败. 原因应该是版本的问题, 没有时间去具体研究脚本, 下面直接给出解决方案. 这一步成功安装, 或者不需要manila服务的朋友, 可以不用继续向下了.

3. manila服务安装错误排查

3.1 查看日志

[root@packstack ~]# cat /var/log/manila/share.log | grep ERROR
2016-09-16 11:50:08.123 15388 ERROR oslo_service.periodic_task Traceback (most recent call last):
2016-09-16 11:50:08.123 15388 ERROR oslo_service.periodic_task   File "/usr/lib/python2.7/site-packages/oslo_service/periodic_task.py", line 220, in run_periodic_tasks
2016-09-16 11:50:08.123 15388 ERROR oslo_service.periodic_task     task(self, context)
2016-09-16 11:50:08.123 15388 ERROR oslo_service.periodic_task   File "/usr/lib/python2.7/site-packages/manila/utils.py", line 615, in wrapper
2016-09-16 11:50:08.123 15388 ERROR oslo_service.periodic_task     raise exception.DriverNotInitialized(driver=driver_name)
2016-09-16 11:50:08.123 15388 ERROR oslo_service.periodic_task DriverNotInitialized: Share driver 'GenericShareDriver' not initialized.

查看了manila几个进程的日志后发现, 是manila-share进程出现错误. 其实可以理解, 因为manila pool为空, 说明share进程没有成功管理后端存储. 更详细的错误信息如下:

2016-09-15 17:44:06.281 2732 ERROR manila.share.manager [req-c7388245-8da4-44d8-b11a-0788defc2fcc - - - - -] Error encountered during initialization of driver 'GenericShareDriver' on 'packstack@generic' host. Class CIFSHelper cannot be found (['Traceback (most recent call last):\n', '  File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 32, in import_class\n    return getattr(sys.modules[mod_str], class_str)\n', "AttributeError: 'module' object has no attribute 'CIFSHelper'\n"])
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager Traceback (most recent call last):
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager   File "/usr/lib/python2.7/site-packages/manila/share/manager.py", line 248, in init_host
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager     self.driver.do_setup(ctxt)
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager   File "/usr/lib/python2.7/site-packages/manila/share/drivers/generic.py", line 177, in do_setup
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager     self._setup_helpers()
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager   File "/usr/lib/python2.7/site-packages/manila/share/drivers/generic.py", line 208, in _setup_helpers
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager     helper = importutils.import_class(import_str)
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager   File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 36, in import_class
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager     traceback.format_exception(*sys.exc_info())))
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager ImportError: Class CIFSHelper cannot be found (['Traceback (most recent call last):\n', '  File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 32, in import_class\n    return getattr(sys.modules[mod_str], class_str)\n', "AttributeError: 'module' object has no attribute 'CIFSHelper'\n"])
2016-09-15 17:44:06.281 2732 ERROR manila.share.manager 
2016-09-15 17:45:44.317 2732 ERROR oslo_service.periodic_task [req-a24899f7-4d96-4780-9f52-1d381654ee74 - - - - -] Error during ShareManager._report_driver_status
2016-09-15 17:45:44.317 2732 ERROR oslo_service.periodic_task Traceback (most recent call last):
2016-09-15 17:45:44.317 2732 ERROR oslo_service.periodic_task   File "/usr/lib/python2.7/site-packages/oslo_service/periodic_task.py", line 220, in run_periodic_tasks
2016-09-15 17:45:44.317 2732 ERROR oslo_service.periodic_task     task(self, context)
2016-09-15 17:45:44.317 2732 ERROR oslo_service.periodic_task   File "/usr/lib/python2.7/site-packages/manila/utils.py", line 615, in wrapper
2016-09-15 17:45:44.317 2732 ERROR oslo_service.periodic_task     raise exception.DriverNotInitialized(driver=driver_name)
2016-09-15 17:45:44.317 2732 ERROR oslo_service.periodic_task DriverNotInitialized: Share driver 'GenericShareDriver' not initialized.

很明显, 错误的根本原因是找不到CIFSHelper这个类. 查看manila.conf配置文件, 发现对generic这个后端存储有如下配置:

share_helpers = CIFS=manila.share.drivers.generic.CIFSHelper,NFS=manila.share.drivers.generic.NFSHelper

这个配置文件是由packstack生成的, 应该是版本不一致导致了配置文件信息有误. 查看Liberty版本的manila/manila/share/drivers/generic.py文件, 发现该文件有CIFSHelper类. 但是到了Mitaka版本, 该文件已经没有这个类了. 因此导致了错误. 配置文件是针对Liberty版本生成的.

下面手动修改配置文件.

3.2 杀掉share进程

image_1asohgr3k17tarc1vqq1e9p15flm.png-89kB

3.3 修改配置文件

[root@packstack ~(keystone_admin)]# vim /etc/manila/manila.conf
share_helpers = CIFS=manila.share.drivers.helpers.CIFSHelperIPAccess,NFS=manila.share.drivers.helpers.NFSHelper

image_1asohs66n3g35kdgjhu61d313.png-27.9kB

3.4 重启manila-share服务

[root@packstack ~]# /usr/bin/python2 /usr/bin/manila-share --config-file /usr/share/manila/manila-dist.conf --config-file /etc/manila/manila.conf --logfile /var/log/manila/share.log

此时再查看manila pool:

[root@packstack ~(keystone_admin)]# manila pool-list
+---------------------------+-----------+---------+---------+
| Name                      | Host      | Backend | Pool    |
+---------------------------+-----------+---------+---------+
| packstack@generic#generic | packstack | generic | generic |
+---------------------------+-----------+---------+---------+

4. Permission denied: ‘/var/log/nova/nova-manage.log’

安装成功后可能还会遇到一个问题, 如下:

[root@packstack ~]# cat /var/spool/mail/root
time:           2016年09月15日 星期四 120105cmdline:        /usr/bin/python2 /bin/nova-manage db archive_deleted_rows --max_rows 100
uid:            162 (nova)
abrt_version:   2.1.11
event_log:      
executable:     /bin/nova-manage
hostname:       packstack
kernel:         3.10.0-327.el7.x86_64
last_occurrence: 1473998463
pid:            24458
pkg_arch:       noarch
pkg_epoch:      1
pkg_name:       openstack-nova-common
pkg_release:    1.el7
pkg_version:    13.1.0
runlevel:       N 5
username:       nova

backtrace:
:__init__.py:925:_open:IOError: [Errno 13] Permission denied: '/var/log/nova/nova-manage.log'
:
:Traceback (most recent call last):
:  File "/bin/nova-manage", line 10, in <module>
:    sys.exit(main())
:  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1517, in main
:    logging.setup(CONF, "nova")
:  File "/usr/lib/python2.7/site-packages/oslo_log/log.py", line 243, in setup
:    _setup_logging_from_conf(conf, product_name, version)
:  File "/usr/lib/python2.7/site-packages/oslo_log/log.py", line 319, in _setup_logging_from_conf
:    filelog = file_handler(logpath)
:  File "/usr/lib64/python2.7/logging/handlers.py", line 392, in __init__
:    logging.FileHandler.__init__(self, filename, mode, encoding, delay)
:  File "/usr/lib64/python2.7/logging/__init__.py", line 902, in __init__
:    StreamHandler.__init__(self, self._open())
:  File "/usr/lib64/python2.7/logging/__init__.py", line 925, in _open
:    stream = open(self.baseFilename, self.mode)
:IOError: [Errno 13] Permission denied: '/var/log/nova/nova-manage.log'

解决如下:

[root@packstack ~]# chmod 777 /var/log/nova/nova-manage.log
[root@packstack ~]# su -s /bin/sh -c "nova-manage db sync" nova
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Centos7+Packstack安装部署Openstack Mitaka之(一) 安装Packstack 的相关文章

随机推荐

  • BlockCode 少儿编程 1《拔萝卜》

    1题目 34 拔萝卜 34 34 拔萝卜 xff0c 拔萝卜 xff0c 嗨呦拔萝卜 老太婆 xff0c 小姑娘 xff0c 小黄狗 xff0c 小花猫快来一起拔萝卜 34 34 老太婆 xff0c 小姑娘 xff0c 小黄狗 xff0c
  • Wifiphisher —— 非常非常非常流氓的 WIFI 网络钓鱼框架

    编者注 xff1a 这是一个非常流氓的 WIFI 网络钓鱼工具 xff0c 甚至可能是非法的工具 xff08 取决于你的使用场景 xff09 在没有事先获得许可的情况下使用 Wifiphisher 攻击基础网络设施将被视为非法活动 使用时请
  • BlockCode 少儿编程 2 《做早操》

    1 题目 34 做早操 34 34 小朋友们排成一队做早操 xff0c 小明前面有4个小朋友 xff0c 后面有3个小朋友 34 34 4个同学 xff0c 3个同学 34 34 这队一共多少个小朋友 xff1f 34 2 编程知识 CPU
  • BlockCode 少儿编程 10 《分铅笔》

    1 题目 34 分铅笔 34 34 妈妈给姐姐买了8支铅笔 xff0c 给弟弟买了4支铅笔 xff0c 姐姐分给弟弟 xff0c 使得姐弟俩两人的铅笔一样多 34 34 8支 xff0c 4支 34 34 姐姐最后有几只铅笔 xff1f 3
  • USB3.0扩展坞集线器Hub引起鼠标卡顿飘解决方法

    大部分USB3 0扩展坞集线器Hub会引起鼠标卡顿飘 xff0c 尤其是无线鼠标 蓝牙鼠标 xff0c 无线键盘也会出现输入迟缓的问题 mac 和 Windows都是这样 解决方法 xff1a 1 xff09 usb3 0集线器插入2 0接
  • 禁止鼠标唤醒睡眠的电脑,无线鼠标、蓝牙鼠标

    经常一不小心碰到鼠标就会唤醒睡眠的电脑 xff0c 有时咳嗽声大一点也能唤醒 解决方法 xff1a xff08 1 xff09 打开 设备管理器 在 此电脑 上右键 xff0c 属性 左侧找到设备管理器 或者 xff0c 在开始按钮上右键
  • C#与C++ dll 之间传递字符串string wchar_t* char* IntPtr

    1 由C 向C 43 43 dll 传入字符串时 xff0c 参数直接用string xff0c 设置编码格式 CharSet Unicode CharSet Ansi C 43 43 dll接收使用wchar t 或 char 2 由C
  • SwiftUI 导航 NavigationStack NavigationLink navigationDestination

    导航的显示区域使用NavigationStack 导航的新视图会显示在NavagationStack中 左右分栏导航使用NavigationSplitView 触发导航的按钮使用NavigationLink 示例1 显示颜色视图 struc
  • SwiftUI 数组初始化 append 不工作 无效 init中 State Array

    State的数组在初始化函数init是不能添加数据的 xff0c append在init中无效 xff0c 不能添加数据 实现方法如下 xff1a 采用视图控件的回调函数 appear if myArray count 61 61 0 my
  • SwiftUI List 中 多个 按钮 button 同时触发 buttonStyle

    在list中的一个单元格中设置多个按钮会出现同时触发的问题 xff0c 解决方法是增设按钮的类型属性 buttonStyle borderless 在List的单元格中 xff0c 按钮的下面 buttonStyle borderless
  • 隐私策略

    隐私权声明 软件注重对您的个人隐私的保护 我们不会在任何情况下收集您的信息 本隐私权声明适用于本软件的所有相关服务 您个人信息的搜集 本软件不收集任何您的个人信息 控制您的个人信息 本软件不控制您的任何个人信息 您个人信息的安全 严格保护您
  • MMPlayer同步文件到手机应用中的方法

    自己准备好要同步的文件 xff0c 如mp3 mp4 xff0c 然后按照如下操作 xff1a xff08 1 xff09 mac电脑插上iPhone xff08 2 xff09 打开访达Finder xff08 3 xff09 在左上列表
  • 全世界到底有多少软件开发人员?

    埃文斯数据公司 Evans Data Corporation 2019 最新的统计数据 xff08 原文 xff09 显示 xff0c 2018 年全球共有 2300 万软件开发人员 xff0c 预计到 2019 年底这个数字将达到 264
  • 并查集【通俗易懂】【知识点】

    为了解释并查集的原理 xff0c 我将举一个有爱的例子 话说江湖上散落着各式各样的大侠 xff0c 有上千个之多 他们没有什么正当职业 xff0c 整天背着剑在外面走来走去 xff0c 碰到和自己不是一路人的 xff0c 就免不了要打一架
  • QtreeWiget各节点之间连线样式设置

    QTreeWidget树状图默认各节点直接是没有线连接的 xff0c 看着层次感不强 xff0c 用户体验不太好 xff0c 所以需要设置一下样式 方法一 xff1a 通过对qtreewidget进行qss样式设置 效果图如下 xff1a
  • gitlab安装部署及问题解决(实践篇)

    系统环境 xff1a centos7 9 gitlab版本 xff1a 11 1 4 一 GitLab简介 GitLab 是一个用于仓库管理系统的开源项目 xff0c 使用Git作为代码管理工具 xff0c 并在此基础上搭建起来的web服务
  • 详解利用nodejs对json文件进行新增数据及删除指定的数据

    细节链接 详解利用nodejs对本地json文件进行增删改查 文件 1 首先存在packagename json文件 xff0c 具体内容如下 34 label 34 34 星享优惠 34 34 value 34 34 com kyy xx
  • VS.NET中Web Services入门

    Visual Studio NET 中的 XML Web services 入门 摘要 xff1a Microsoft Visual Studio NET 和 XML Web services 提供了一个简单 灵活且基于标准的模型 xff0
  • Openstack Manila使用初探 (Packstack)

    使用Packstack All in one 安装好Openstack之后 研究一下Manila组件的使用 主机名 cloud 192 168 31 233 1 manila conf 1 1 配置文件分析 Packstack的配置文件pa
  • Centos7+Packstack安装部署Openstack Mitaka之(一) 安装Packstack

    学习Openstack的前两个月 时间都花在环境部署上了 主要是版本的问题 导致了一系列的麻烦 之前使用devstack已经部署成功了 但是manila不能用 残念 问题主要出在网络上 研究完manila的网络模块之后再回头找原因吧 不打算