Fuel 30 分鍾快速安裝OpenStack


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

不過后來情況有了很大改觀,從E版本開始,以后安裝過程簡化許多,文檔質量提高不少。盡管如此對於初學者還講還是比較復雜,其實很多時候,很多人只是想體會一下openstack,完全不關注安裝這門子事情。還好openstack社區足夠活躍,很快就有公司做出了比較友好的安裝工具,比如今天要向大家介紹的Fuel這個工具,其實這里還可以叫她mirantis openstack,由Mirantis 公司開發。

fuel overview

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

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

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

總結一下,Fuel 有以下幾個優點:

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

fuel master fuel arch

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

目前可以支持openstack SA 或者HA 的安裝。現在我們已經對Fuel 有了大致了解,現在來看看用她來安裝openstack有多么的方便!

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

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

 

轉自http://yongluo2013.github.io/quick-setup-openstack-with-fuel-in-30-minutes/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM