天天看點

OpenStack學習:通過devstack安裝openstacke mitaka一、作業系統二、設定源三、更新時間四、下載下傳devstack五、配置設定權限六、配置localrc七、安裝devstack

一、作業系統

Devstack目前是支援 Ubuntu 14.04 (Trusty),Fedora 22 (或 Fedora 23) 和 CentOS/RHEL 7,不過全球的OpenStack開發者,大部分都在用Ubuntu 14.04。相關的資料也是基于Ubuntu14.04的比較多,是以還是建議你使用Ubuntu 14.04。

為了正确解決安裝時的依賴問題,建議使用最小化安裝的受支援的作業系統。

詳細的介紹 http://docs.openstack.org/developer/devstack/

注意:這是幾個月之前寫的了,目前最新的版本已經是ocata,不過devstack安裝步驟都是一樣的。

二、設定源

對于ubuntu的系統,預設安全會從國外的源安裝,導緻速度比較慢,可以修改/etc/apt/source.list檔案,相關源清單可從http://wiki.ubuntu.org.cn/擷取。

deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
# Canonical 合作夥伴和附加
deb http://archive.canonical.com/ubuntu/ trusty partner
deb http://extras.ubuntu.com/ubuntu/ trusty main
           

允許更新

sudo apt-get update
           

三、更新時間

http://www.pool.ntp.org是NTP的官方網站,在這上面我們可以找到我們國家的NTP伺服器

ntpdate  2.cn.pool.ntp.org
           

四、下載下傳devstack

下載下傳devstack,并指定穩定版本。預設無論是Devstack和OpenStack,都是采用Master的代碼進行安裝,這樣經常會出現,今天安裝成功,明天失敗,代碼時刻在變化。是以我們不僅僅要指定OpenStack的版本,還需要指定Devstack的版本,才能提供安裝成功的機率。

apt-get install git
git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka
           

或者

$git clone https://github.com/openstack-dev/devstack.git  #克隆devstack的Git代碼倉庫
cd devstack/;git branch -a   #顯示本地分支
git checkout -b mitaka  origin/stable/mitaka  #切換到指定mitaka分支或标簽
           

五、配置設定權限

目前Devstack腳本已經不支援直接使用root身份運作,你需要建立stack使用者運作

cd /home/devstack/tools/
./create-stack-user.sh
           

使用這個腳本建立使用者stack,依然需要手工給使用者添權重限。

chown -R stack:stack /home/devstack
           

此外我們可以手動建立使用者配置設定權限。

建立 stack 使用者,添加 stack 使用者權限。

sudo groupadd stack
sudo useradd -g stack -s /bin/bash -d /opt/stack -m stack
           

保證該使用者下sudo可以免密碼運作,否則腳本執行過程中會出現權限問題。

可以修改/etc/sudoers, 在行 root    ALL=(ALL:ALL) ALL 後添加 stack      ALL=(ALL) ALL  然後儲存檔案,如下

sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
           

切換到 stack 使用者

sudo su - stack
           

六、配置localrc

devstack目錄下的一些檔案描述

stack.sh #自動化部署的入口;判斷是否存在localrc檔案; 否,進入互動模式; 是,進入配置模式(如果需要輸入輸入stack.sh需要的參數,如:資料庫的密碼、Rabbit MQ的密碼、Service TOKEN 等)

localrc  #配置檔案;傳入stack.sh的參數;nova部署在哪個節點,使用者名密碼是什麼

openrc   #環境變量腳本;在執行openstack指令時要導入一些環境變量 如:export OS_USERNAME = admin

unstack.sh #解除安裝腳本

lib          #每個服務的自動化安裝腳本;通常存放nova,swift等自動化安裝腳本,手動安裝時執行的所有指令;每一個openstack服務對應一個檔案(以下對相關檔案作了簡要說明)

  

  apache (Web 服務)

  Swift  (對象存儲的元件)

  Glance  (鏡像管理)

  Horizon (提供了一個子產品化的webbased使用者界面)

  heat(應用的自動化部署AWS cloudformation)

  ceilometer(監控和計費)

  sahara(BigData-as-a-Service #BDaaS,将hadoop部署在openstack的虛拟機上)

  ironic(PXE+IPMI,實體節點的自動化部署)

  trove(Database-as-a-service,将資料庫部署在openstack的虛拟機上)

  tempest(openstack單元測試架構)

  opendaylight(開源的sdn控制器)

  ldap(輕量型目錄通路協定,與keystone整合,實作多級使用者的鑒權)

  database、databases(postgresql/mysql,預設将選擇mysql)

  nova、nova_plugins  (可以說是一套虛拟化管理程式,還可以管理網絡和存儲;下面是支援的一些虛拟化管理程式)

  functions-libvirt  hypervisor-baremetal  hypervisor-fake  hypervisor-ironic  hypervisor-libvirt  hypervisor-openvz  hypervisor-vsphere  hypervisor-xenserver

  neutron、neutron_plugins、neutron_thirdparty(網絡管理的元件,neutron未來将取代Nova相關網絡相關内容)

  cinder、cinder_plugins (存儲管理的元件。Cinder存儲管理主要是指虛拟機的存儲管理)
           

建議建立最小化配置檔案localrc,即使用非互動模式安裝,内容如下:

ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
#FIXED_RANGE=172.31.1.0/24
#FLOATING_RANGE=192.168.20.0/25
#HOST_IP=10.3.4.5
           

或者直接使用devstack/sample/local.conf,

cp /home/devstack/samples/local.conf    /home/devstack/local.conf

記得手動修改HOST_IP

七、安裝devstack

安裝devstack痛苦的其中一個原因,是OpenStack代碼,都需要從github下載下傳,這樣由于網絡的原因,經常導緻各種錯誤,簡直讓人崩潰,各種錯誤,也根本無法通過google來解決。

目前國内已經提供了完整的OpenStack的github的mirror。

http://git.trystack.cn

這樣Devstack成功機率會大大提高。 另外devstack還會下載下傳image,下載下傳的過程也是非常緩慢。trystack也提供大家常用的image下載下傳。

http://images.trystack.cn

要使用trystack源,隻需要往上一步的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"
           

此外,修改pip源可以加快安裝速度,國内可以使用豆瓣源 在/root主目錄下建立.pip檔案夾

mkdir ~/.pip

然後在該目錄下建立pip.conf檔案編寫如下内容:

[global]

trusted-host =  pypi.douban.com

index-url = http://pypi.douban.com/simple

然後運作

./stack.sh    
           

等待安裝部署即可。

參考文章: http://www.chenshake.com/openstack-project-series-3-devstack/

http://my.oschina.net/u/2381034/blog/491610?p=1

繼續閱讀