一直以來,對於openstack 的初學者來講,安裝往往是入門的頭大難題。在E版本之前,要搭建一個基本能用的openstack 環境那是相當麻煩,自己要裝機,自己搞源,自己照著文檔敲命令,又沒有靠譜的文檔,官方給出的文檔依舊有好多坑,還有語言問題往往用上好幾天時間都裝不起來,慢慢地就喪失了學習openstack 的信心!
不過後來情況有了很大改觀,從E版本開始,以後安裝過程簡化許多,文檔品質提高不少。儘管如此對於初學者還講還是比較複雜,其實很多時候,很多人只是想體會一下openstack,完全不關注安裝這門子事情。還好openstack社區足夠活躍,很快就有公司做出了比較友好的安裝工具,比如今天要向大家介紹的Fuel這個工具,其實這裡還可以叫她mirantis openstack,由Mirantis 公司開發。
關於 Mirantis
Mirantis,一家很牛逼的openstack服務整合商,他是社區貢獻排名前5名中唯一一個靠軟體和服務吃飯的公司(其他分別是Red Hat, HP, IBM, Rackspace)。相對於其他幾個社區發行版,Fuel的版本節奏很快,平均每兩個月就能提供一個相對穩定的社區版。
Fuel 是什嗎?
Fuel 是一個為openstack 端到端”一鍵部署“設計的工具,其功能含蓋自動的PXE方式的作業系統安裝,DHCP服務,Orchestration服務 和puppet 組態管理相關服務等,此外還有openstack 關鍵業務健全狀態檢查和log 即時查看等非常好用的服務。
Fuel 3.2基於Grizzly版本,而最新將發布的4.0版本是基於Havana版本的技術預覽版,不可用作生產環境使用,同時,4.0版本仍然不包含Heat和Ceilometer組件。
Fuel 的優勢
總結一下,Fuel 有以下幾個優點:
- 節點的自動探索和預校正
- 配置簡單、快速
- 支援多種作業系統和發行版,支援HA部署
- 對外提供API對環境進行管理和配置,例如動態添加計算/儲存節點
- 內建健全狀態檢查工具
- 支援Neutron,例如GRE和namespace都做進來了,子網能配置具體使用哪個物理網卡等
Fuel 的架構是怎樣的呢?
Fuel 主節點:用於提供PXE方式作業系統安裝服務由開源軟體Cobbler 提供,另外由Mcollective和puppet 分別提供orchestration服務和組態管理服務。Fuel iso 包發部的時候已經一同打包了Centos6.4 和ubuntu 12.04 安裝包,如果需要使用紅帽子企業版RHEL6.4 需要自己手動上傳。
目前可以支援openstack SA 或者HA 的安裝。現在我們已經對Fuel 有了大致瞭解,現在來看看用她來安裝openstack有多麼的方便!
Fuel openstack 安裝
首先要說明的是Fuel 針對目標就是生產環境openstack部署,這裡為了講解安裝過程就在虛擬機器上示範說明。我的環境是HP筆記本Folio 9470 ,其實是辦公用的普通筆記本,讀者可以根據實際機器情況自行修改虛擬機器設定,我給出了我的配置僅供參考。
安裝說明
啟用虛擬化支援人員:開啟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個網路
–Network name: VirtualBox host-only Ethernet Adapter#2
–Purpose: Fuel administrator network
–IP block: 10.20.0.0/24
–Linux device: eth0
›Net2:
–Network name: VirtualBox host-only Ethernet Adapter#3
–Purpose: public/ floating network
–IP block: 172.16.0.0/24
–Linux device: eth1
›Net3
–Network name: VirtualBox host-only Ethernet Adapter#4
–Purpose: Storage/ management/ internal network
–IP block: 192.168.4.0/24
–Linux device: eth2
›VM1
–Name: Fuel_3.2.1
–vCPU:1
–Memory :1G
–Disk:30G
–Networks: net1
›VM2
–Name : Fuel_3.2.1_controller
–vCPU:1
–Memory :1G
–Disk:30G
–Network:net1,net2,net3
›VM3
–Name: Fuel_3.2.1_compute1
–vCPU:2
–Memory :2G
–Disk:30G
–Networks:net1,net2,net3
網路拓撲如下
建立網路Net1,注意不要啟用dhcp,這個會干擾fuel 自己的dhcp服務。
建立網路net2
建立網路net3
安裝fuel 主節點
建立fuel 主節點虛擬機器,虛擬機器名字為“fuel_3.2.1“。注意網卡選用net1,也就是virtualbox 的”VirtualBox host-only Ethernet Adapter#2“ 網路。
設定完成後啟動虛擬機器,顯示boot menu時候,如果需要修改ip地址可以自行修改,預設是不需要修改。
開始安裝作業系統
出現該畫面時按任意鍵進入修改fuel 主節點相關配置,可以不修改使用預設值,幾秒後進行軟體包安裝。
puppet 安裝fuel 相關軟體,比如Cobbler 等。
fuel 主節點安裝完成。
看fuel 安裝是否完成,就登入http://10.20.0.2:8000/ 顯示如下頁面。
可能的問題:
- 如果web 頁面不能正常訪問,可能是你原生防火牆把本地的網路拒掉,請先禁用防火牆再試。
- 如果使用了瀏覽器http代理,請關閉代理直接存取。
接下來就開始安裝openstack 環境了。
安裝openstack 環境
首先在Fuel web 上建立一個openstack 環境,名字為”demo“,這個環境是可以創多個的,可見fuel可以同時管理多個openstack 環境。這裡選擇的os 有三種,這裡預設選擇centos,當然你也可以選擇ubuntu 和rhle ,不過rhle 需要手動上傳鏡像或者提供紅帽子官網使用者名稱和密碼,fuel 為你自動下載,不過時間比較長,不推薦。
這裡選擇部署openstack 多節點非HA模式。
由於我們是在虛擬機器中再跑虛擬機器,這裡選擇hypervisor類型為”qemu“。
這裡選擇openstack 的網路部署模式,我們選最簡單的方式也是目前最成熟的方式nova-network實現。
最後一路使用default 配置,不做更改完成環境建立。
建立openstack節點虛擬機器VM2和VM3,分別命名為fuel_3.2.1_controller和fuel_3.2.1_compute1,注意計算節點多分配寫cpu core ,至少2個,記憶體2G,當然如果機器配置不夠也可以1個core 1G記憶體,至少後邊建立openstack的instance比較慢。
配置網卡1,接入net1,注意一定要選擇 網卡類型為:Pcnet-PCI II,並且開啟混雜模式:Allow All.
配置網卡3,接入net3
畫面出現bootstrap login 後,在fuel web 頁面才可以看到節點被fuel發現。
回到fuel web 可以看到兩個節點被發現
接下來開始針對這兩個被發現的節點VM2,VM3配置openstack環境了。
首先需要配置VM2和VM3在openstack 中的角色。點擊”add nodes“ 添加VM2作為openstack 的控制節點。
在點擊”add nodes“ 添加VM3作為openstack 的計算節點。
修改兩個節點的物理網卡和openstack 邏輯網路的映射關係,這裡只需要拖拽就搞定。admin 網路已經設定到eth0不能再作修改10.20.0.0/24,public和 instance floating 網路共用eth1 且共用同一個地址塊172.16.0.0/24,而private ,management 和storage 共用eth2 但是網路ip不同,需要通過vlan tag 方式實現二層網路隔離。
修改兩個節點磁碟的分區情況,這裡使用預設值,注意storage 分區不能小於10g,否則不能通過驗證。
再來配置openstack 最複雜的一塊網路,其實按照我給的網路拓撲使用預設值就可以安裝啦,是不是很方便?不過還是要囉嗦一下:
- public IP用於物理機器和外界通訊,floating IP 用於動態分配給openstack instance 實現和外界通訊。注意這裡地址塊不能重疊。
- 由於private ,management 和storage 共用同一網卡且IP 塊不同要實現二層隔離就需要打上vlan 的tag,如果是接在真實的交換器,必須啟用trunk 模式。
- 一旦網路設定完畢並安裝完成,這個地址是永久不能改變的,所以生產環境下一定要先規劃好在部署。
配置完成後點擊 ”networking verification“ 按鈕,檢查網路設定是否正確。
驗證通過後保持設定,開始部署節點。
此時可以發現兩個VM開始自動重啟開始安裝OS。
這裡比較古怪,安裝進度到33%時需要等很久才能往下走。這個時候兩個節點的OS都已經安裝完成。
有什麼辦法能看到安裝的log呢?當然有,這時候可以去log 標籤視圖查看安裝log,選取”other server“,在選對應節點的puppet log 看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登入頁面,輸入admin/admin
至此,openstack的環境部署完成,這裡部署了一個計算節點,一個控制節點。沒有部署cinder ,沒有部署多計算節點。如果需要部署,請重複上述步驟即可。
最後,就是驗證一下openstack環境是否正確部署。其實fuel 有個非常好的而一個功能,可以快速檢測openstack 環境”健康“情況。進入healthcheck 標籤,可以一鍵安全檢測,注意不會全部都通過,應為cinder 沒有安裝,所以create volume 相關的服務會失敗。
最後我們還是創個instance 來驗證吧?
安裝openstack環境驗證
先登入後進入openstack主管理介面,建立一個instance,進入project view – > 開啟instances tab -> 點擊右上方luanch 按鈕。instance 名字為test0
instance 建立成功後,同時點擊相應instance test0右邊的”more“ 按鈕,選擇”allocation floating ip“,為其分配一個floating ip 地址。
直接在web 頁面訪問instance: 點擊 右端 ”more“ -> “console” 按鈕進入該頁面,這是是用web socket 技術實現的VNC 用戶端,用它可以做一些簡單instance 管理,不足是不能粘貼拷貝比較麻煩。
最後在筆記本上開啟一個”cmd“ 終端看一下floating ip 是否通暢。
至此fuel web openstack 安裝介紹結束,如果要安裝更多節點請重複上面操作即可。
其他工具
當然,openstack安裝工具不只是有fuel ,還有紅帽子的packstack 也是不錯的,並且支援最新版本的openstack 安裝。
原文連結:http://www.tuicool.com/articles/rYb26j
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。