一直以來,對于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)
- 虛擬環境設置
- 安裝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 幾分鐘安裝就會完成了,不過具體時間取決于機器性能,這時候點擊 或者 都可以訪問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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。