首页 > 网络 > 云计算 >

世界杯外围投注官网

2016-09-18

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

学习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 &世界杯外围投注官网39;GenericShareDriver&世界杯外围投注官网39; 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 &世界杯外围投注官网39;GenericShareDriver&世界杯外围投注官网39; on &世界杯外围投注官网39;packstack@generic&世界杯外围投注官网39; host. Class CIFSHelper cannot be found ([&世界杯外围投注官网39;Traceback (most recent call last):\n&世界杯外围投注官网39;, &世界杯外围投注官网39;  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&世界杯外围投注官网39;, "AttributeError: &世界杯外围投注官网39;module&世界杯外围投注官网39; object has no attribute &世界杯外围投注官网39;CIFSHelper&世界杯外围投注官网39;\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 ([&世界杯外围投注官网39;Traceback (most recent call last):\n&世界杯外围投注官网39;, &世界杯外围投注官网39;  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&世界杯外围投注官网39;, "AttributeError: &世界杯外围投注官网39;module&世界杯外围投注官网39; object has no attribute &世界杯外围投注官网39;CIFSHelper&世界杯外围投注官网39;\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 &世界杯外围投注官网39;GenericShareDriver&世界杯外围投注官网39; 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日 星期四 12时01分05秒
cmdline:        /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: &世界杯外围投注官网39;/var/log/nova/nova-manage.log&世界杯外围投注官网39;
:
:Traceback (most recent call last):
:  File "/bin/nova-manage", line 10, in 
:    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: &世界杯外围投注官网39;/var/log/nova/nova-manage.log&世界杯外围投注官网39;

解决如下:

[root@packstack ~]世界杯外围投注官网 chmod 777 /var/log/nova/nova-manage.log
[root@packstack ~]世界杯外围投注官网 su -s /bin/sh -c "nova-manage db sync" nova
相关文章
最新文章
热点推荐