1. 程式人生 > >用DevStack安裝OpenStack(單機)

用DevStack安裝OpenStack(單機)

這裡寫圖片描述

OpenStack是一個開源的雲端計算管理平臺專案,由幾個主要的元件組合起來完成具體工作。但是安裝OpenStack卻不是那麼容易的,讓許多初學者望而卻步。想體驗一下OpenStack的魅力,可以使用DevStack來安裝OpenStack。

轉載請註明出處:

概念簡介

OpenStack:OpenStack是一個由NASA和Rackspace合作研發併發起的,以Apache許可證授權的自由軟體和開放原始碼專案。專案目標是提供實施簡單、可大規模擴充套件、豐富、標準統一的雲端計算管理平臺。OpenStack通過各種互補的服務提供了基礎設施即服務(IaaS)的解決方案,每個服務提供API以進行整合。OpenStack是用Python程式語言編寫的。

DevStack:可以自動安裝OpenStack的工具。

OpenStack核心專案:OpenStack是由很多核心專案組合在一起的。

計算(Compute):Nova。一套控制器,用於為單個使用者或使用群組管理虛擬機器例項的整個生命週期,根據使用者需求來提供虛擬服務。負責虛擬機器建立、開機、關機、掛起、暫停、調整、遷移、重啟、銷燬等操作,配置CPU、記憶體等資訊規格。自Austin版本整合到專案中。

物件儲存(Object Storage):Swift。一套用於在大規模可擴充套件系統中通過內建冗餘及高容錯機制實現物件儲存的系統,允許進行儲存或者檢索檔案。可為Glance提供映象儲存,為Cinder提供卷備份服務。自Austin版本整合到專案中。

映象服務(Image Service):Glance。一套虛擬機器映象查詢及檢索系統,支援多種虛擬機器映象格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有建立上傳映象、刪除映象、編輯映象基本資訊的功能。自Bexar版本整合到專案中。

身份服務(Identity Service):Keystone。為OpenStack其他服務提供身份驗證、服務規則和服務令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本整合到專案中。

網路&地址管理(Network):Neutron。提供雲端計算的網路虛擬化技術,為OpenStack其他服務提供網路連線服務。為使用者提供介面,可以定義Network、Subnet、Router,配置DHCP、DNS、負載均衡、L3服務,網路支援GRE、VLAN。外掛架構支援許多主流的網路廠家和技術,如OpenvSwitch。自Folsom版本整合到專案中。

塊儲存 (Block Storage):Cinder。為執行例項提供穩定的資料塊儲存服務,它的外掛驅動架構有利於塊裝置的建立和管理,如建立卷、刪除卷,在例項上掛載和解除安裝卷。自Folsom版本整合到專案中。

UI 介面 (Dashboard):Horizon。OpenStack中各種服務的Web管理門戶,用於簡化使用者對服務的操作,例如:啟動例項、分配IP地址、配置訪問控制等。自Essex版本整合到專案中。

pip:是一個Python包管理工具,主要是用於安裝 PyPI 上的軟體包,DevStack安裝OpenStack的時候會使用到這個工具。使用教程可以參考 這裡

安裝準備

OpenStack部署在Linux機器上。經過我的測試在Ubuntu 14.04 Server版上安裝OpenStack Mitaka版本比較穩定。為了操作方便,我的Ubuntu是安裝在VMware Workstation 12虛擬機器上的。

Ubuntu 14.04 Server版下載連結在這裡。

OpenStack需要線上安裝。原始碼在這裡。

DevStack也需要線上安裝。原始碼在這裡。

但是,國外的網站在國內訪問速度是非常慢的。我們需要替換為國內訪問比較暢快的資源。

Ubuntu 源可以替換為國內的阿里源。

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

DNS也可以換成阿里的DNS。

nameserver 223.5.5.5
nameserver 223.6.6.6

DevStack和OpenStack原始碼可以替換為TryStack映象。

# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

pip源地址也可以換為國內的豆瓣源。

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

經過這些準備,OpenStack安裝成功率會提高很多。

操作步驟

安裝Ubuntu

下載映象,然後在虛擬機器中安裝,至少需要安裝OpenSSH Server,方便遠端連線。

配置網路

OpenStack至少需要兩個網絡卡,一個用於連線外部網路,一個用於連線內部網路

外部網路
公共網路,外部或Internet可以訪問的網路。

內部網路
管理網路,用於OpenStack元件以及MySQL DB Server, RabbitMQ messaging server之間的通訊。

我的虛擬機器網路是這樣配置的。

網路 名稱 型別 子網IP 子網掩碼 子網閘道器
外部網路 VMnet0 橋接模式 192.168.0.0 255.255.255.0 192.168.0.1
內部網路 VMnet8 NAT模式 10.0.0.0 255.255.255.0 10.0.0.2

在Ubuntu中網路是這樣設定的,設定完了,可以重啟一下電腦生效。

root@us14:~# vi /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.0.15
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 223.5.5.5 223.6.6.6

配置pip源

[email protected]:~# mkdir /root/.pip
[email protected]:~# vi /root/.pip/pip.conf

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

下載DevStack

安裝git並下載最新版的devstack。

root@us14:~# apt-get install git   
root@us14:~# cd /home
root@us14:~# git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka  

建立stack使用者

目前DevStack指令碼已經不支援直接使用root身份執行,你需要建立stack使用者來執行。

在非root使用者下建立stack使用者並設定密碼。

us14@us14:~$ sudo chown –R $USER:$USER /home/devstack
us14@us14:~$ cd /home/devstack/tools/
us14@us14:~$ sudo ./create-stack-user.sh
us14@us14:~$ sudo passwd stack

授權stack使用者

在root使用者下給stack使用者授權。編輯/etc/sudoers,找到這一行 root ALL=(ALL:ALL) ALL,在下面加上一行 stack ALL=(ALL:ALL) ALL。

root@us14:~# vi /etc/sudoers

# User privilege specification
root ALL=(ALL:ALL) ALL
stack ALL=(ALL:ALL) ALL

root@us14:~# chown –R stack:stack /home/devstack
root@us14:~# chown –R stack:stack /opt/stack

建立local.conf檔案

進入/home/devstack目錄,編輯local.conf檔案(沒有就新建)。

root@us14:~# cd /home/devstack/
root@us14:/home/devstack# vi local.conf

在檔案中新增如下內容。網路的地方需要根據自己的實際情況修改。

[[local|localrc]]

# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

#OFFLINE=True
RECLONE=True

# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img"

HOST_IP=192.168.0.15


# Credentials
DATABASE_PASSWORD=pass
ADMIN_PASSWORD=pass
SERVICE_PASSWORD=pass
SERVICE_TOKEN=pass
RABBIT_PASSWORD=pass

HORIZON_BRANCH=stable/mitaka
KEYSTONE_BRANCH=stable/mitaka
NOVA_BRANCH=stable/mitaka
NEUTRON_BRANCH=stable/mitaka
GLANCE_BRANCH=stable/mitaka
CINDER_BRANCH=stable/mitaka


#keystone
KEYSTONE_TOKEN_FORMAT=UUID

##Heat
HEAT_BRANCH=stable/mitaka
enable_service h-eng h-api h-api-cfn h-api-cw


## Swift
SWIFT_BRANCH=stable/mitaka
ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account
SWIFT_REPLICAS=1
SWIFT_HASH=011688b44136573e209e


# Enabling Neutron (network) Service
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
enable_service neutron

## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="192.168.0.0/24"
FIXED_RANGE="10.0.0.0/24"
NETWORK_GATEWAY="10.0.0.2"
Q_FLOATING_ALLOCATION_POOL=start=192.168.0.150,end=192.168.0.180
PUBLIC_NETWORK_GATEWAY="192.168.0.1"
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth0
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex

# #VLAN configuration.
Q_PLUGIN=ml2
ENABLE_TENANT_VLANS=True

# Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs

以stack使用者身份執行指令碼安裝

root@us14:/home/devstack# su stack
stack@us14:/home/devstack$ ./stack.sh

根據網路情況,安裝速度有差別,等最後出現圖中所示,則說明安裝成功。

這裡寫圖片描述

訪問圖中Horizon連結即可使用OpenStack虛擬一臺雲伺服器出來。

這裡寫圖片描述

重啟機器服務不能自動重啟

將/home/devstack/local.conf檔案中的離線模式開啟。重新以stack使用者身份執行一下指令碼。

#OFFLINE=True
RECLONE=True

變為

OFFLINE=False
RECLONE=False

操作視訊下載

優酷網址。

愛奇藝網址。

參考文獻

相關推薦

DevStack安裝OpenStack(單機)

OpenStack是一個開源的雲端計算管理平臺專案,由幾個主要的元件組合起來完成具體工作。但是安裝OpenStack卻不是那麼容易的,讓許多初學者望而卻步。想體驗一下OpenStack的魅力,可以使用DevStack來安裝OpenStack。 轉載請註明出

devstack安裝openstack newton版本

成功 mirrors format code 由於 基本上 temp gate roo 準備使用devstack安裝openstack N版,搞一套開發環境出來。一連整了4天,遇到各種問題,各種錯誤,一直到第4天下午4點多才算完成。 在這個過程中感覺到使用devstack

使用devstack安裝openstack

安裝準備 1、安裝ubuntu 16.0.4 2、修改ubuntu國內映象 /etc/apt/sources.list 增加 deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe m

使用devstack安裝OpenStack 雙節點部署

本文安裝的Pike版OpenStack,之前試過liberty、newton和mitaka、ocata版本都以失敗告終,所以百度了一下版本順序,秉著最新最優的執念,終於,Pike版本安裝成功!一:軟硬體準備    裝置:win10電腦    軟體:VMware Worksta

在Ubuntu14.04上使用devstack安裝OpenStack

[email protected]:/opt/devstack$ cat local.conf.swift.more # Sample ``local.conf`` for user-configurable variables in ``stack.sh`` # NOTE: Copy this

使用devstack安裝OpenStack時如何指定版本

使用devstack安裝OpenStack會預設安裝現有的最新的,但是最新版難免會存在一些bug,建議安裝stable版,那麼問題就來了,如何安裝我們需要的版本的,例如juno。只需執行  git checkout -

RDO安裝OpenStack多節點時的注意事項

RDO是Redhat的OpenStack社群,所設計的packstack工具,可以提供在redhat/centos環境下一鍵式的openstack安裝部署方案,目前已經較為成熟。 基本過程可以參考http://openstack.redhat.com/Quickstart,

centos7單機安裝openstack

OpenStack是一個美國國家航空航天局和Rackspace合作研發的,以Apache許可證授權,並且是一個自由軟體和開放原始碼專案。OpenStack主要包括以下幾個子專案:OpenStack Compute(Nova)、雲物件儲存Cloud ObjectStorage(Swift)、映象管理 (Gl

Ubuntu下devstack單節點部署Openstack

虛擬機設置 admin ase -c align 根據 all ref 使用 一、實驗環境   本實驗是在Vmware Workstation下創建的單臺Ubuntu服務器版系統中,利用devstack部署的Openstack Pike版。   宿主機:win10 1803

網上最新的devstack安裝教程【一鍵部署openstack測試環境】

這段時間由於測試需要搭建openstack環境,搜遍谷歌百度進行不下30次嘗試...看了陳沙克等前輩的安裝教程,很多配置資訊都已經過期了。不過大致的步驟基本不變,由於最近devstack在github

openstack(kilo)安裝部署文件(最小化安裝單機安裝

前言 之前在centos上安裝了一個版本,是使用的一鍵安裝,devstack來安裝的,這個安裝後很多細節都不太清楚,所以決定手動走一邊安裝過程。 我這裡使用的是一臺物理機進行的安裝,IP 為10.1.82.161,安裝的是最小集合,只安裝了keystone,

openstackopenstack安裝單機+叢集】

寄言:網上流傳的openstack安裝方法有很多,但是沒有一個簡單快速搭建openstack環境的文件,胖子找了許久,終於找到使用RDO方式安裝,是最簡單的。 搭建環境: censos7 關閉防火牆 關閉selinux 1.單機搭建: 1

centos7 yum安裝mysql(轉)

unity 文件 設置密碼 highlight yum oca 網上 get r文件 CentOS 7的yum源中貌似沒有正常安裝mysql時的mysql-sever文件,需要去官網上下載 # wget http://dev.mysql.com/get/mysql-

使用Fuel安裝openstack

pmi 消費者 初始配置 創建 程序 dex 3.2 req 流程 一、前言   Fuel是OpenStack的開源部署和管理工具。作為OpenStack社區的開發貢獻者,它為OpenStack、OpenStack相關社區項目以及OpenStack插件的部署和管理提供了直

linux下rpm 安裝jdk

int 變量 內容 lan 正在 world 自己 功能 設置環境變量 轉:http://blog.csdn.net/ldl22847/article/details/7605650 1.下載jdk的rpm安裝包,這裏以jdk-7u4-Linux-i586.rpm為例進行說

CentOS7.2下一鍵安裝Openstack

centos7.2下一鍵安裝openstackCentOS7.2下一鍵安裝Openstack 系統環境:Oracle VirtualBox 4.38CentOS-7.2-x86_64-bin-DVD1.iso 安裝前需要修改 /etc/hosts文件,添加 127.0.0.1 dev-100 (dev-100

阿裏雲安裝openstack報錯

阿裏雲安裝openstack報錯在CentOS 7下使用DevStack一鍵安裝包安裝OpenStack,突然來個報錯,信息如下:報錯一、解決方法:修改hosts文件,同步主機名vim /etc/hosts127.0.0.1 openstack報錯二、ERROR : Error appeared during

ubuntu下anaconda3安裝Tensorflow

con orf 自帶 ubun all nac 現在 sta -c 我裝的Anaconda3自帶的puython3.6,不過在Ubuntu下面是對3.5和3.6版本沒區別的(因為教程上是3.5,而我裝的是3.6) 裝完Anaconda3後 conda install --

普通安裝Nginx

普通用戶安裝nginx一、安裝前準備安裝包獲取Nginx網站http://nginx.org 下載軟件版本包目前主流版本為nginx-1.13.3 穩定版本為nginx-1.12.1,這裏使用穩定版nginx-1.12.1 為例1、安裝pcre軟件包安裝pcre庫是為使Nginx支持HTTP rewrit

python中的各個包的安裝pip安裝whl文件

開始菜單 -s pla 英文 target com pac 版本 下載 在安裝之前,一直比較迷惑究竟如何用,安裝完後,發現竟然如此簡單 首先我一般用的是python27,官網下載python27msi安裝window7 64位後,已經自帶了Pip 和 easy_instal