Fuel 30 分鐘快速安裝OpenStack

一直以來,對於openstack 的初學者來說,安裝每每是入門的頭大難題。在E版本以前,要搭建一個基本能用的openstack 環境那是至關麻煩,本身要裝機,本身搞源,本身照着文檔敲命令,又沒有靠譜的文檔,官方給出的文檔依舊有好多坑,還有語言問題每每用上好幾天時間都裝不起來,慢慢地就喪失了學習openstack 的信心!html

不事後來狀況有了很大改觀,從E版本開始,之後安裝過程簡化許多,文檔質量提升很多。儘管如此對於初學者還講仍是比較複雜,其實不少時候,不少人只是想體會一下openstack,徹底不關注安裝這門子事情。還好openstack社區足夠活躍,很快就有公司作出了比較友好的安裝工具,好比今天要向你們介紹的Fuel這個工具,其實這裏還能夠叫她mirantis openstack,由Mirantis 公司開發。node

fuel overview

Mirantis,一家很牛逼的openstack服務集成商,他是社區貢獻排名前5名中惟一一個靠軟件和服務吃飯的公司(其餘分別是Red Hat, HP, IBM, Rackspace)。相對於其餘幾個社區發行版,Fuel的版本節奏很快,平均每兩個月就能提供一個相對穩定的社區版。ios

Fuel 是一個爲openstack 端到端」一鍵部署「設計的工具,其功能含蓋自動的PXE方式的操做系統安裝,DHCP服務,Orchestration服務 和puppet 配置管理相關服務等,此外還有openstack 關鍵業務健康檢查和log 實時查看等很是好用的服務。git

Fuel 3.2基於Grizzly版本,而最新將發佈的4.0版本是基於Havana版本的技術預覽版,不可用做生產環境使用,同時,4.0版本仍然不包含Heat和Ceilometer組件。github

總結一下,Fuel 有如下幾個優勢:web

  • 節點的自動發現和預校驗
  • 配置簡單、快速
  • 支持多種操做系統和發行版,支持HA部署 × 對外提供API對環境進行管理和配置,例如動態添加計算/存儲節點 × 自帶健康檢查工具 × 支持Neutron,例如GRE和namespace都作進來了,子網能配置具體使用哪一個物理網卡等

fuel master fuel arch

Fuel 主節點:用於提供PXE方式操做系統安裝服務由開源軟件Cobbler 提供,另外由Mcollective和puppet 分別提供orchestration服務和配置管理服務。Fuel iso 包發部的時候已經一同打包了Centos6.4 和ubuntu 12.04 安裝包,若是須要使用紅帽子企業版RHEL6.4 須要本身手動上傳。bootstrap

目前能夠支持openstack SA 或者HA 的安裝。如今咱們已經對Fuel 有了大體瞭解,如今來看看用她來安裝openstack有多麼的方便!ubuntu

首先要說明的是Fuel 針對目標就是生產環境openstack部署,這裏爲了講解安裝過程就在虛擬機上演示說明。個人環境是HP筆記本Folio 9470 ,實際上是辦公用的普通筆記本,讀者能夠根據實際機器狀況自行修改虛擬機配置,我給出了個人配置僅供參考。centos

fuel master bios

硬件要求瀏覽器

  • 啓用虛擬化技術支持:開啓BIOS設置裏的虛擬化技術支持相關選項,這個會很大程度上影響你的虛擬機性能。
  • 最低硬件配置:cpu:雙核2.6GHZ+;內存:4g+;磁盤:80G+
  • 虛擬化工具:Oracle Virtualbox 4.2.18

安裝包準備

  • 下載virtualbox 包 https://www.virtualbox.org/wiki/Downloads/
  • 下載fuel ios包,先要註冊一個mirantis 用戶帳戶,目前最新版本是3.2.1 這個版本, MirantisOpenStack-3.2.1.iso (1.8G)http://www.openstack.cn/p383.html

安裝步驟

  • 虛擬環境設置
  • 安裝Fuel 主節點
  • 部署openstack節點
  • 部署結果檢查
  • 虛擬環境設置

網絡拓撲

首先在virtualbox 裏面自定義以下3個網絡:

  1. Net1:
  2. Network name: VirtualBox host-only Ethernet Adapter#2
  3. Purpose: Fuel administrator network
  4. IP block: 10.20.0.0/24
  5. Linux device: eth0
  6. Net2:
  7. Network name: VirtualBox host-only Ethernet Adapter#3
  8. Purpose: public/ floating network
  9. IP block: 172.16.0.0/24
  10. Linux device: eth1
  11. Net3
  12. Network name: VirtualBox host-only Ethernet Adapter#4
  13. Purpose: Storage/ management/ internal network
  14. IP block: 192.168.4.0/24
  15. Linux device: eth2

虛擬機建立

  1. VM1
  2. Name: Fuel_3.2.1
  3. vCPU:1
  4. Memory :1G
  5. Disk:30G
  6. Networks: net1
  7. VM2
  8. Name : Fuel_3.2.1_controller
  9. vCPU:1
  10. Memory :1G
  11. Disk:30G
  12. Network:net1,net2,net3
  13. VM3
  14. Name: Fuel_3.2.1_compute1
  15. vCPU:2
  16. Memory :2G
  17. Disk:30G
  18. Networks:net1,net2,net3

網絡拓撲

network top

建立網絡Net1,注意不要啓用dhcp,這個會干擾fuel 本身的dhcp服務。

net1 setup

建立網絡net2

net2 setup

建立網絡net3

net3 setup

建立fuel 主節點虛擬機,虛擬機名字爲「fuel_3.2.1「。注意網卡選用net1,也就是virtualbox 的」VirtualBox host-only Ethernet Adapter#2「 網絡。

fuel master setup

設置完成後啓動虛擬機,顯示boot menu時候,若是須要修改ip地址能夠自行修改,默認是不須要修改。

fuel master boot menu

開始安裝操做系統

出現該畫面時按任意鍵進入修改fuel 主節點相關配置,能夠不修改使用默認值,幾秒後進行軟件包安裝。

fuel master boot menu

puppet 安裝fuel 相關軟件,好比Cobbler 等。

fuel master installation puppet

fuel 主節點安裝完成。

fuel master done

看fuel 安裝是否完成,就登陸http://10.20.0.2:8000/ 顯示以下頁面。

fuel master web home

可能的問題

  • 若是web 頁面不能正常訪問,多是你本機的防火牆把本地的網絡拒掉,請先禁用防火牆再試。
  • 若是使用了瀏覽器http代理,請關閉代理直接訪問。

接下來就開始安裝openstack 環境了。

首先在Fuel web 上建立一個openstack 環境,名字爲」demo「,這個環境是能夠創多個的,可見fuel能夠同時管理多個openstack 環境。這裏選擇的os 有三種,這裏默認選擇centos,固然你也能夠選擇ubuntu 和rhle ,不過rhle 須要手動上傳鏡像或者提供紅帽子官網用戶名和密碼,fuel 爲你自動下載,不過期間比較長,不推薦。

create openstack env

這裏選擇部署openstack 多節點非HA模式。

create openstack sa

因爲咱們是在虛擬機中再跑虛擬機,這裏選擇hypervisor類型爲」qemu「。

create openstack qemu

這裏選擇openstack 的網絡部署模式,咱們選最簡單的方式也是目前最成熟的方式nova-network實現。

create openstack network

最後一路使用default 配置,不作更改完成環境建立。create openstack done

建立openstack節點虛擬機VM2和VM3,分別命名爲fuel_3.2.1_controller和fuel_3.2.1_compute1,注意計算節點多分配寫cpu core ,至少2個,內存2G,固然若是機器配置不夠也能夠1個core 1G內存,至少後邊建立openstack的instance比較慢。

node vms setup

設置系統由network啓動

node vms boot from network

配置網卡1,接入net1,注意必定要選擇 網卡類型爲:Pcnet-PCI II,而且開啓混雜模式:Allow All.node_vms_set_promiscuous.jpg

node vms set promiscuous

配置網卡2,接入net2.

node vms create net2

配置網卡3,接入net3

node vms create net3

讓後分別啓動VM2和VM3node vms boot

畫面出現bootstrap login 後,在fuel web 頁面才能夠看到節點被fuel發現。node vms login

回到fuel web 能夠看到兩個節點被發現node vms found

接下來開始針對這兩個被發現的節點VM2,VM3配置openstack環境了。node vms setup env

首先須要配置VM2和VM3在openstack 中的角色。點擊」add nodes「 添加VM2做爲openstack 的控制節點。

node role for controller

在點擊」add nodes「 添加VM3做爲openstack 的計算節點。node role for compute

修改兩個節點的物理網卡和openstack 邏輯網絡的映射關係,這裏只須要拖拽就搞定。admin 網絡已經設置到eth0不能再做修改10.20.0.0/24,public和 instance floating 網絡共用eth1 且共用同一個地址塊172.16.0.0/24,而private ,management 和storage 共用eth2 可是網絡ip不一樣,須要經過vlan tag 方式實現二層網絡隔離。

node network mapping

修改兩個節點磁盤的分區狀況,這裏使用默認值,注意storage 分區不能小於10g,不然不能經過驗證。node storage mapping

再來配置openstack 最複雜的一塊網絡,其實按照我給的網絡拓撲使用默認值就能夠安裝啦,是否是很方便?不過仍是要囉嗦一下:

public IP用於物理機器和外界通訊,floating IP 用於動態分配給openstack instance 實現和外界通訊。注意這裏地址塊不能重疊。 因爲private,management和storage共用同一網卡且IP塊不一樣,要實現二層隔離就須要打上vlan的tag,若是是接在真實的交換機,必須啓用trunk 模式。 一旦網絡配置完畢並安裝完成,這個地址是永久不能改變的,因此生產環境下必定要先規劃好在部署。 配置完成後點擊 」networking verification「 按鈕,檢查網絡設置是否正確。

openstack network mapping

驗證經過後保持設置,開始部署節點。

openstack start deploy

此時能夠發現兩個VM開始自動重啓開始安裝OS。openstack start os installation

這裏比較古怪,安裝進度到33%時須要等好久才能往下走。這個時候兩個節點的OS都已經安裝完成。

openstack start os installation 33

有什麼辦法能看到安裝的log呢?固然有,這時候能夠去log 標籤視圖查看安裝log,選取」other server「,在選對應節點的puppet log 看log 跳動。openstack deploy log

最後,一切順利的話,大概20 幾分鐘安裝就會完成了,不過具體時間取決於機器性能,這時候點擊http://172.16.0.2 或者 http://10.20.0.4 均可以訪問openstack 的dashboard .區別在於172.16.0.2 所謂的公網ip 地址,這個登後dashboard 能夠直接使用vnc 訪問instance,而10.20.0.4不能。

openstack deploy done

點擊連接進入openstack登陸頁面,輸入admin/admin

openstack web login

至此,openstack的環境部署完成,這裏部署了一個計算節點,一個控制節點。沒有部署cinder ,沒有部署多計算節點。若是須要部署,請重複上述步驟便可。

最後,就是驗證一下openstack環境是否正確部署。其實fuel 有個很是好的而一個功能,能夠快速檢測openstack 環境」健康「狀況。進入healthcheck 標籤,能夠一鍵安全檢測,注意不會所有都經過,應爲cinder 沒有安裝,因此create volume 相關的服務會失敗。openstack health check

最後咱們仍是創個instance 來驗證吧?

先登陸後進入openstack主管理界面,建立一個instance,進入project view – > 打開instances tab -> 點擊右上方luanch 按鈕。instance 名字爲test0

dashboard vm create

instance 建立成功後,同時點擊相應instance test0右邊的」more「 按鈕,選擇」allocation floating ip「,爲其分配一個floating ip 地址。

dashboard vm floating ip

直接在web 頁面訪問instance: 點擊 右端 」more「 -> 「console」 按鈕進入該頁面,這是是用web socket 技術實現的VNC 客戶端,用它能夠作一些簡單instance 管理,不足是不能粘貼拷貝比較麻煩。

dashboard vm vnc

最後在筆記本上打開一個」cmd「 終端看一下floating ip 是否通暢。

dashboard vm access

至此fuel web openstack 安裝介紹結束,若是要安裝更多節點請重複上面操做便可。

其餘工具

固然,openstack安裝工具不僅是有fuel ,還有紅帽子的packstack 也是不錯的,而且支持最新版本的openstack 安裝。這裏有篇文章對兩者作了比較全面的介紹 http://www.openstack.cn/p383.html。

參考文檔

http://openstack-huawei.github.io/mirantis-openstack/

http://software.mirantis.com/quick-start/

http://www.openstack.cn/p383.html

相關文章
相關標籤/搜索