1. 程式人生 > >Centos7+Packstack安裝部署Openstack Mitaka之(一) 安裝Packstack

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

學習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 檢視日誌

[[email protected] ~]# 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 '[email protected]' 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 修改配置檔案

[[email protected] ~(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:

[[email protected] ~(keystone_admin)]# manila pool-list
+---------------------------+-----------+---------+---------+
| Name                      | Host      | Backend | Pool    |
+---------------------------+-----------+---------+---------+
| [email protected]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

相關推薦

Centos7+Packstack安裝部署Openstack Mitaka() 安裝Packstack

學習Openstack的前兩個月, 時間都花在環境部署上了, 主要是版本的問題, 導致了一系列的麻煩. 之前使用devstack已經部署成功了, 但是manila不能用, 殘念, 問題主要出在網路上, 研究完manila的網路模組之後再回頭找原因吧. 不打

Centos7手動部署Openstack Mitaka安裝配置--(三)安裝keystone認證服務

安裝keystone認證服務 1、建立keystone資料庫 #mysql -uroot -phncgo110 -e "CREATE DATABASE keystone;" 注意將hncgo110替換為自己的資料庫密碼 2、建立資料庫使用者及賦予許可

Centos7手動部署Openstack Mitaka安裝配置--(八)命令建立並使用例項

使用命令建立一臺虛擬機器例項 1、在控制節點上,載入 admin 憑證來獲取管理員能執行的命令訪問許可權 #source /root/admin-openrc 2、建立網路介面 #neutron net-create --shared --pro

Centos7手動部署Openstack Mitaka安裝配置--(七)安裝dashboard

安裝dashboard WEB控制檯 1、安裝dashboard服務 #yum install openstack-dashboard -y 2、修改配置檔案/etc/openstack-da

Centos7安裝部署openstack--nova計算服務

一、概述   使用OpenStack計算服務來託管和管理雲端計算系統。OpenStack計算服務是基礎設施即服務(IaaS)系統的主要部分,模組主要由Python實現。   OpenStack計算元件請求OpenStack Identity服務進行認證;請求OpenStack Image服務提供磁碟映象;為O

Fuel 9.0 部署Openstack Mitaka詳細

fuel-9.0 openstack 漫漫求索Openstack路---Fuel 9.0 部署Openstack Mitaka詳細(排坑版)0、前言不想搭建環境,官方提供測試Fuel 9.0的demo環境 http://demo.fuel-infra.org:8000(只要你電腦能上外網)默認用戶名、

照著官網來安裝openstack pikeglance安裝

for 本地 net 文件系統 reg poi glance服務 來安 rate 鏡像服務image service(glance)的安裝還是在控制節點上進行: 1、前提條件,數據庫為glance創建庫和賬戶密碼來連接數據庫 # mysql -u root -p Mar

使用Fuel 9.0快速部署Openstack Mitaka(其實也就用了五六個小時吧)

testing send onf perf nds 鍵盤 operation 如何 and 關於什麽是Fuel以及Fuel的作用和構架可以參考下面Openstack官方給出的Wiki鏈接. https://wiki.openstack.org/wiki/Fuel. 在安

CentOS7安裝部署ES及head外掛安裝

1.新建一個使用者elasticsearch,當然也可以不建立使用者,直接用系統使用者來安裝和執行elasticserach [[email protected] ~]#useradd  elasticsearch 接下來修改系統配置,這裡不修改的話es執行會報錯:

Mirantis fuel 9.0 離線快速部署 Openstack Mitaka

      MOS 9.0是Mirantis公司開發 openstack自動化安裝工具,這個工具還有個專門的名字,叫做Fuel。 離線安裝時不需要更新Ubuntu和MOS包,即不需要網際網路連線。在同等網路頻寬情況下可以比線上安裝更快地部署。運氣不好的話,用線

CityEngine2011安裝部署 for Windows(

安裝CityEngine之前,首先得下載CityEngine安裝程式並且獲得授權許可(啟用碼或許可檔案)。注:試用版本不需要授權許可,安裝完成即可試用30天。 1、軟體安裝 首先,瀏覽到CityEngine安裝程式。 雙擊CityEngine安裝程式,開始安裝。 點選【

PRESTO安裝部署和引數說明()

PRESTO部署和引數說明(一) 一,概要 在部署和使用presto的過程中,在此記錄一下部署記錄和使用記錄以及需要注意的事項。本人使用的presto版本是0.214,3臺redhat虛擬機器。使用背景:客戶需要定期查詢大批量的資料,最後選擇了sqoop工具定期匯入hive,並且定期刪除定期更新,因為沒有

Amabri 2.1安裝HDP2.3.2 、HDP介紹

一、HDP (一)簡介 HDP全稱是Hortonworks Data Platform,是由一家美國大資料公司Hortonworks開發的企業級Hadoop平臺。 Hortonworks致力於幫助客戶利用Hadoop開源大資料平臺管理資料。HDP是完全

ubuntu1404單機安裝部署openstack-juno

    Redhat上可以很快的使用All-in-one的方式安裝openstack,先安裝packstack,然後通過packstack --allinone這條命令 就可以一步安裝openstack,最後設定IP和網橋,就可以完成安裝,但是在ubuntu卻無法通過一步就

安裝部署】Linus小工具安裝

1.Telnet命令安裝    rpm -qa | grep xinetd    yum -y install xinetd    rpm -qa telnet-server    yum install telnet  

ArchLinux 安裝+美化--2018.8.24(.安裝系統)

簡要介紹 :  Win10 + Arch 雙系統安裝步驟,關於雙系統,會在接下來的篇章裡介紹。 下文介紹的是Arch 單獨系統安裝,關於雙系統要注意的也會寫上的。 我會一步步寫出 ,不要覺得複雜,按部就班還是很容易上手的 。 分割槽採用的GPT+UEFI  包括雙顯示

Linux安裝MySQL8.0.12二進位制安裝

開發十年,就只剩下這套架構體系了! >>>   

Hadoop學習------Hadoop安裝方式():單機部署

root權限 出錯 密碼登錄 例子 .tar.gz sta /usr 成功 tput Hadoop 默認模式為單機(非分布式模式),無需進行其他配置即可運行。非分布式即單 Java 進程,方便進行調試。 1、創建用戶 1.1創建hadoop用戶組和用戶 一般我們不會

Openstack 安裝部署指南翻譯系列 網絡

openstack 翻譯 網絡網絡包括兩種類型,網絡選項1:提供商網絡(Provider networks)和網絡選項2:自助網絡(Self-service networks),其中網絡選項2:自助網絡(Self-service networks)能夠實現更加高級的網絡功能,能夠實現網絡選項1的所有功能,因此

Openstack安裝部署指南翻譯系列 硬件需求

openstack 翻譯1.1.1.1. 控制節點控制器節點運行身份服務,鏡像服務,計算的管理部分,網絡的管理部分,各種網絡代理和儀表板。它還包括支持服務,如SQL數據庫,消息隊列和NTP。可選地,控制節點運行塊存儲,對象存儲,編排和計量服務的部分。控制器節點至少需要兩個網絡接口。1.1.1.2. 計算節點計